Operating System
An operating system is a resource manager. It takes the form
of a set of software routines that allow users and application programs to
access system resources (example:-The CPU, memory, disks, modems, printer,
network card etc.) in a safe and abstract way.
For example an OS ensure safe access to send data directly
to the printer at any one time. An OS encourages efficient use of the CPU by suspending
programs, that are waiting for I/O operations to complete to make for programs
that can use the CPU more productively
General OS Architecture
Figure presents the architecture of a typical OS and show
how an OS succeeds in presenting users and application programs with a uniform
interface without regard to the details of the underlying hardware.
We see that ->
- The OS kernel is in direct control of the underlying hardware. The kernel provide low level device memory of processor management functions (example dealing with interrupts, sharing the processor among multiple progress, allocating memory for programs etc.
- Basic hardware independent kernel services are exposed to higher level programs through a library of system calls(example: services to create a file begin execution of a program or open a logical network connection to the another computer).
History of Unix
Unix has been a popular OS for more than two decades because
of its multi-user, multi-tasking environment, stability, portability and
powerful networking capabilities.
Simplified Unix Family Tree
In the late 1960’s, the researchers from General Electric
MIT and Bell Labs launched at a joint project to develop and ambitious
multiuser, multitasking OS for mainframe computers known as MULTICS(Multiplexed
Information and Computing System).
Ken Thompsan then teamed up with Dennis Richard, the author
of the first C compiler in 1973. They rewrote the Unix Kernel in C.
Linux is a free open source Unix OS for pc that was
originally developed in 1991 by Linux Tarvalds a finish undergraduate student.
Linux is neither pure SySv or pure BSD. To maximize code portability, it
typically supports SySv, BSD and POSIX System calls ( example: Poll, select, memset,
memcpy).
As Linux has become more popular, several different
development streams or distribution have emerged. Example: Red hat, slackware,
mandrake, debian and caldera, mandriva, ubuntu.
Red hat is the most popular distribution because it has been
ported to a large number of hardware platform(include intel, Alpha and Sparc).
Architecture of Linux
OS
Linux has all of the components of a typical OS ->
Kernel:- The Linux Kernel includes device driver support for
a large number of PC hardware devices (graphics card, network card, hard disks,
etc.), advanced processor and memory management features, and support for many
different types of file systems.
The Kernel( in raw binary form that is loaded directly into
memory at system start up time) is typically found in the file/boot/vimlinuz. While
the source files can usually be found in usr/scr/linux.
Shell & GUI:-
Linux supports two forms of command input through textual command line shell
similar to those found on most Unix Systems(example sh- The bourne shell, bash-
the bourne shell and csh the c shell) and through graphical interfaces (GUIs)
such as the KDE & GNOME window managers.
System Utilities:- Virtually
every system utility that you would expect to find on standard implementations
of Unix(including every system utility described in POSIX specification) has
been ported to Linux. This includes commands such as ls, grep, awk, sed, bc,
wc, more and soon.
Application Programs:-
Linux distribution typically come with several useful applications programs as
standard.
Features of Unix:-
- A multiuser System
- Multitasking System
- Repository of Applications
- Building Block
- Pattern Matching
- Programming Facility
- Documentation
Unix OS used to manage the resources of a computer such as CPU, memory, I/O devices,network, etc. The memory resident portion of UNIX system is kernel.
File system and process control system are two major component of Unix kernel. there are many features are available of Unix OS kernel such as
- Concurrency:- As Unix is a multiprocessing OS, many processes run concurrently to improve the performance of the system.
- Virtual Memory:- Memory management subsystem impliments the virtual memory concept and a user need not worry about the executable program, size and the RAM size.
- Paging:- It is a technique to minimize the internal as well as external fragmentation in the physical memory.
- Virtual File System:- A VTS is a file system used to help the different file system complexity. A user can use the same contra standard file system related calls to access different file systems.
- The kernel also provides some other basic services such as interrupt and trap handling, system calls scheduling and timer clock handling and file discriptive system management.
Features of UNIX Architecture
- Unix system use a centralized OS kernel which manages system and process activities.
- All non kernel system is organized into separate kernel managed processes.
- Unix OS are preemptively multitasking. multiprocess can run at the same time or within small time slices and nearly at the same time and any process can be interrupted and moved out of execution by the kernel. This is also known as Thread Management.
- Files are stored on a disk in a hierarchical file system, with a single top location throughout the system(root or "/") with both files and directories, sub directories and sub sub directories.
- With few exceptions devices and some type of communication between processes are managed and visible as files or Pseudo-files within the file System hierarchy. This is known as everything is a file.
- Multitasking and multiuser
- Programming interface
- Use of files as abstractions of devices and other objects.
- Built in Networking(TCP/IP)
- Persistent system service processes called "damons" and managed by init or initd.
- Interactive multiused and multiuser OS design.
- Design objective principle of Unix , file store organization, text processing and programming.
- Role of C programming language with regard to Portability and Reliability System Software.
- Process control- signals and fork.
- Error logging and recovery from system failures.
- Modifiability and Application Programmer Interface(API).
- The user's perspective on Unix.
Nice Post. I like your blog. Thanks for Sharing.
ReplyDeleteLinux training in Noida
good information for linux OS, thanks for sharing.
ReplyDeleteVery informative Blog, I really appreciate your Blog. Thank you sharing with us.
ReplyDeleteLinux Operating System
Best linux distribution for gaming
Popular linux distribution in 2021
Excellent insights into the LINUX operating system! Mastering it is as important as using flipperzerounleashed to maximize your device's capabilities!
ReplyDelete