Operating Systems: Essentials Managers
Essay Preview: Operating Systems: Essentials Managers
Report this essay
CIT: Operating Systems
Week 7: Assignment
Week 7: Assignment
Kasey Speer
July 2, 2011
CIT: Operating Systems
Ivy Bridge College of Tiffin University
Paul Abbott
An operating system is software that manages every part of a computer system, all hardware, and all other software. The operating system controls every file, every device, every section of main memory, every nanosecond of processing time, and every network connection. It controls who can use the system and how. It is the boss of the entire system, without it nothing can happen.
Every operating system no matter its size and complexity has five essential managers: memory manager, processor manager, device manager, file manager, and network manager. The user interface is also a part of a computer operating system and is supported by these five managers. The user interface is the part of an operating system which communicates with the user.
In this paper I will describe each of the five managers functions in a Unix, MS-DOS, Windows, and Linux operating systems. I will also explain the similarities and differences between these four historically significant operating systems.
UNIX OPERATING SYSTEM
The UNIX operating system was created by programmers for programmers. The memory management techniques used most by Unix operating systems are either swapping or demand paging. (or both) If most jobs run on the system are small then swapping would be a better fit, but if many large jobs will be run by the system then demand paging would be best. Before a program can be executed swapping requires that the entire program be in main memory. Demand paging requires more complicated hardware configurations. The Unix kernel, which resides permanently in memory, is the part of the system which implements “system calls”. System calls set up the memory boundaries so several processes can coexist in memory at the same time. The kernel is the only part of the operating system to permanently reside in main memory. The remaining sections are brought into memory on demand, as needed, and their memory space is released as other pages are called. The page replacement algorithm used by Unix is Least Recently Used. (LRU)
The processor manager of a Unix system kernel handles the allocation of the central processing unit (CPU), process scheduling, and the satisfaction of process requests. Several important tables are maintained by the kernel to coordinate the execution of processes and the allocation of devices. The process scheduler, using a predetermined policy, selects a process from the ready queue and begins its execution for a given time slice. The process with the highest priority is picked by the process scheduling algorithm to be run first. The low priority processes include those that have used a lot of CPU time. UNIX process managements overall effect is that the system balances I/O-bound jobs with CPU-bound jobs to keep the processor busy and to minimize the overhead for waiting processes. To keep the system running smoothly UNIX uses several tables; the process table, which always resides in memory, and the user table, which remains in memory only while the process is active. The process identification number, user identification number, process memory address or secondary storage address, size of the process and scheduling information are all included in each entry of the process table. This table is set up when the process is created and deleted when the process terminates. The process table maintains a sub table, called the text table, for processes with sharable code. The text table contains information such as; memory address or secondary storage address of the text segment, and a counter to keep track of the number of processes using this code. Each active process is allocated a user table. As long as the process is active the user table is kept in the transient area of memory, and contains information that must be accessible when the process is running. Information included in the user table is the user and group identification numbers to determine file access privileges, pointers to the systems file table for every file being used by the process, a pointer to the current directory, and a list of responses for various interrupts. The process data segment and its code segment along with the user table can be swapped into or out of main memory as needed.
The device manager in a UNIX operating system allows device independence to applications, by treating each I/O device as a special type of file. Each device is assigned descriptors called iodes when installed on a UNIX system. These descriptors contain information about the devices, and are stored in the device directory, until they are needed to identify the devices. Device drivers are the subroutines that work with the operating system to supervise the transmission of data between main memory and a peripheral unit. The incorporation of the device driver kernel is done during the system configuration. A conf.c file is automatically created for any given hardware configuration, using the Unix program call config. The parameters that control resources such as the number of internal buffers for the kernel and the size of the swap space are located in the conf.c file. The conf.c file also contains two tables, bdevsw and cdevsw, which provide the UNIX system kernel with the ability to adapt easily to different hardware configurations by installing different driver modules. The I/O system is divided into the block I/O system. The identifiers of each physical device are a minor device number, a major device number, and a class, either block or character. The only connection between the system code and the device drivers is the configuration table, which each class has. The table contains an array of entry points into the device drivers. The block I/O system is used for devices that can be addressed as a sequence of identically sized blocks. Devices in the character class are handled by device drivers that implement character lists. Device drivers are a special section in the kernel held by each device. Each device driver includes all the instructions necessary for UNIX to communicate with the device.
There are three types of files in a UNIX operating system: directories, ordinary files, and special files. Each file has certain privileges. Directories are files used by the system to maintain the hierarchical structure of the file system. Users can read information in directory files but are not