Unit 4
Operating system - program or set of programs which manages the operation of the computer and provides interface between user, hardware and programs
Control program (aka nucleus, monitor, control program, supervisor, executive, kernel) - portion of the OS - most frequently used instructions stored in main memory while other programs are being executed
Booting - process of loading the OS from disk to main memory once the computer has been switched on but before any other programs can be run. A small program (loader) held in ROM instructs the computer how to load all or part of the OS into memory
Single-user single-process - OS supervises the loading and running of one program at a time and the input and output of data to and from peripheral devices
Multi-programming - the apparent simultaneous execution of two or more programs (or running more than one instance of the same program). Two or more programs may be held in memory at the same time with each program being given a small amount of processor time in term. To make efficient use of processor time, OS maximises throughput while ensuring that all jobs are completed in a reasonable time
Multi-user (multi-access) OS - allows two or more users to communicate with the computer at any one time
Multi-tasking - multi-programming on a single user machine
Batch OS - job runs from beginning to end without intervention from the user. Job Control Language (JCL) specifies for example job priority, maximum memory, print lines and execution time required
Multi-user and batch - batch processing jobs run at times of low interactive demand e.g. during the night when few users are active on the system
Real-time - e.g. process control, information and retrieval, transaction processing
Safety critical systems - e.g. on-board computer in aircraft
Built-in redundancy - processor may not be used at its full capacity for a large part of the time so that it can respond instantly when required. In addition, components may be duplicated
Client-server system - network where server provides resources to client workstations e.g. file storage, web access
Printer server - allows all networked machines to have access to a variety of different printers
Spooling - printing jobs sent to server from client workstations held in queue on disk and sent to printer when free
Distributed computer systems - system resources e.g. processors, disk storage, printers exist in separate nodes of a network with transparent access to these resources by users being possible
User interface - way in which human user and computer communicate
Command line interface - interactive terminal allows system to prompt the user to type a command to initiate program execution or perform housekeeping tasks
Advantages:- quicker, greater variety of commands, user less memory, more useful error messages
Disadvantages:- not user friendly, difficult for beginner
Command line interpreter (CLI) performs the actual task of identifying and executing the command
Job control language - user has no direct interaction with the computer system. User prepares a series of instructions off-line using JCL to describe to the system the requirements of the task. After execution, results are made available via an off-line medium e.g. line printer paper
JCL specifies:
Graphical user interface - user interacts with system using windows, icons, menus and a pointer to control the operating system. Selection is achieved by moving a pointer with a mouse and clicking a mouse button
Advantages:- easier for novices to use since more intuitive, only valid options are available, consistency of layout and command representation in applications, comprehensive on-line help available
Disadvantages:- uses more immediate access store and secondary store, requires more powerful processor and better graphics display, slower when executing a command because much more interpretation takes place, can be irritating for simple tasks because greater number of operations required
Operating systems functions
Process - program actually running on the CPU, even though it may be waiting for I/O at a particular moment
Process states
Process control block - holds the details of where a program was in its execution when it was interrupted so that it can resume from exactly that place later on
The process control block holds:
Types of interrupt
Interrupt register - special register in CPU checked at the beginning of each fetch-execute cycle. Each bit represents a different type of interrupt
In some cases if an interrupt occurs during data transfer, some data could be lost so the OS will disable other interrupts until it completes the task
Program Status Word (PSW) - special register which indicates the types of interrupts currently enabled and disabled (disabled interrupts remain pending or are ignored)
Job priorities
Scheduling policy
Round robin scheduling
Memory manager - primarily concerned with the allocation of the physical main memory to processes. No process may exist until a certain amount of main memory is allocated to it
Objectives of memory management
Absolute loader - loads the program into a single fixed area of memory. Address references in the program are fixed at translation time. The program will only work properly when loaded into one specific position in main memory
Relocating loader - can load the program anywhere in main memory because the program has been translated in such a way that all addresses are relative to the start of the program. The start address of the program is held in a special register called the base register
Static relocation - once the relocatable object program has been loaded into main memory, relocatability is lost and the program cannot be moved again
Dynamic relocation - relocatability is maintained and a process can be moved to a different memory area during its execution. The logical to physical mapping is done at run-time using base register addressing
Limit register - holds the highest addressable location of the process to allow memory manager to protect other programs' memory space from being accidentally addressed by program error
Virtual memory - technique for making the computer appear to have more memory than it actually has. Small portions of a process are loaded as and when they are needed and are swapped out when it is the turn for the next process. Many processes can effectively share the same memory space
Paging - each process is divided into a number of fixed length pages (usually 4KB in length). When a processes is to be executed, only pages that are immediately required are loaded into memory
Page management table (PMT) - indicates whether a particular page of the process is loaded or not and which page frame it is occupying in memory
Disadvantages of paging:-
Advantages of paging:-
Dynamic linked library (DLL) - collection of small executable programs which run in the presence of another program
General protection fault (GPF) - occurs if a DLL is called incorrectly e.g. by passing the wrong number of parameters
Allocation units - addressable blocks on a storage device e.g. 512 or 1204 bytes
File management
File Allocation Table (FAT) - maintained by the file management system and details the contents and status of each addressable block on the disk
Data is transferred to and from disk in units of the physical block size e.g. 512 bytes. If the first 100 bytes of a file are requested by a program, the OS reads the whole block of 512 bytes into a buffer in memory and the 100 bytes requested are extracted from the buffer. This process minimises the number of disk transfers at the expense of a small amount of memory space and some extra processing complexity
I/O management
Device controller
Device driver