Question-1 Explain Linux Architecture.
- The bottom layer is hardware.
- It contains physical devices of computer like CPU, Memory, Disk, printer etc.
- UNIX kernel will interface with this hardware.
- Kernel is program which provides services of OS like memory management, file management and process management.
- Kernel will provide interface with hardware and user programs.
- It contains set of procedures.
- This is collection of system level files.
- Utility programs are used to make user programs and make work easier.
- Utility programs like compilers, assemblers, editors etc.
- User programs are comes for processing and interact with system.
Question-2 Explain the Linux Kernel Structure.
- The following Figure shows the overall structure of the Linux. The kernel sits directly on the hardware and enables the interactions with I/O devices and memory management.
- At the lowest level it contains interrupt handlers which are the primary way for interacting with the device, and low level dispatching mechanism.
- The dispatching occurs when an interrupt happens and also when the kernel completes some operations and it is time to start up a user process again.
- Now we divide the various kernel subsystems into the three main components. The I/o component contains the kernel pieces and responsible for interacting with the devices and performing the network and storage I/O operations.
- At the highest level the I/O operations are all integrated under a virtual file system and at lowest level, all I/O operations pass through some device driver.
- All Linux drivers are classified as either a character device driver or block device drivers, with the main difference that random accesses are allowed on the block devices and not on the character devices.
- Technically network devices are really character devices, but they are handled somewhat differently, so It is preferable to separate them.
- The layer above the network drivers handle a kind of the routing function and making sure that the right packet goes to the right devices.
- Sockets interface which allows the program to create sockets for the particular network.
- On the top of the disk drivers is the I/O scheduler who is responsible for ordering and issuing disk operation request in a way that tries to converse waste full disk head movement.
- At the very top of the block device column are the file systems Linux may have the multiple file system excising concurrently. In order to hide the architectural differences of the various hardware devices from the file system implementation, a generic block device layer provides an abstraction layer used by all file system.
- At the right side of the fig there are two key components of the Linux kernel these are responsible for the memory and process management tasks.
- Memory management tasks include maintaining the virtual to physical memory mappings, maintaining a cache of the recently accessed pages and implementing a good page replacement policy.
- The key responsibility of the process management component is the creation and termination of the process. It also includes the process scheduler and code for the signal handling.
- Finally at the very top is the system call interface in to the kernel. All system calls come here, causing a trap which switches the execution from the user mode in to the kernel. Mode.