Outcome 1: Describe the structure and function of an operating system. Systems Software Computer System Hardware Software Systems Applications Software Software Examples of Software types Applications Software: Word Processor, Spreadsheet, Database, Desktop Publishing Systems Software: Compilers, Interpreters System utilities Operating systems Operating Systems An operating system is a collection of system programs that together control, manage and monitor the operation of a computer system. Examples: • • • • Controls the execution of applications software Controls the operation of the hardware Monitors the use of the hardware Provides a user-interface Operating System Operating System Hardware Applications Software User An operating system can be regarded as providing a layer between the user, applications and the underlying hardware. Types of Operating Systems o General Purpose • • • o Used in computers. Provide the ability to run a number of different applications. Examples: all versions of Windows Embedded Systems • • • • Do not manage user programs at all Perform a well-defined task, usually in a realtime environment Used to control hardware devices such as cars, electronic appliances etc. Examples: DVD players, car fuel injection etc. Types of Operating Systems Types of Operating Systems Single-user Single-tasking Multi-user Multi-tasking Multi-tasking Real-time Types of Operating Systems Single-user, single-tasking Example: MS-DOS Single-user, multi-tasking Example: Windows XP Multi-user, multi-tasking Example: Linux Real-time Example: OSE, QNX Functional Areas of an OS. User Interface File Management Input Output Memory Management Kernel The Kernel • Part of the O/S that is responsible for process management, multi-tasking and interrupt handling. • Loads and runs other parts of the o/s when required. • Must reside permanently in memory during computer operation. Processes Process A program in execution. The OS maintains additional information about running programs (location in memory, stack pointer, program counter). When a program is run, the operating system converts it into a process. It is the process, rather than the simple program, that the processor executes. Foreground Process A process that currently uses the screen and keyboard Background Process A process that does not require access to the screen and keyboard The Boot Process The core of an OS (known as the kernel) must be present in main memory. At power-on, • • • • • the basic hardware is checked (POST) The video display is enabled ROMs found on adapter cards are executed A bootable drive is searched for and when found its volume boot record loads the OS kernel. The kernel then loads and prepares the remainder of the O/S. The Boot Process These power-on activities are carried out by the ‘boot’ program. This program is held on ROM (in the BIOS chip) on the motherboard. Storage of the Operating System Storage of an O/S in a computer system may be either on • ROM chip Or • Hard Disk ROM based O/S The operating system is held on a ROM chip. The ROM is configured as part of the main memory. Advantages: • • The O/S is immediately in control at power up. Cannot be corrupted Disadvantage • Updates to O/S require replacement of ROM chip Most usually found in embedded systems. Disk based O/S The O/S must be loaded from disk into main memory when the computer is powered up. This is called ‘booting’ the O/S. Advantages: • • The O/S is easily updated No limit to the size of the O/S Disadvantages: • • The O/S is easily corrupted Loading of the O/S may take a considerable time. Single-user, single-tasking O/S Definition: O/S that allows a single user to carry out a single task at any one time. CPU: Only one program is allowed to run on the CPU at any one time. Programs must run to completion. Memory: Only the currently running program can reside in memory. It has access to all of memory (apart from the O/S) Single-user, single-tasking O/S I/O: The currently running program is given full dedicated access to all I/O devices. Security: Very few security measures are required. Single-user, multi-tasking O/S Definition: O/S that allows a single user to carry out a one or more tasks at any one time. CPU: Programs compete to run on the CPU. The O/S multi-tasks the programs giving the appearance that programs are running simultaneously. Single-user, multi-tasking O/S Memory: Programs compete for access to memory. The currently running program must be in memory. Other programs may be swapped to disk to make room. I/O: Some devices can be shared by multi-tasking programs (e.g. hard disks). Others must be dedicated to a program until task completion. (e.g. printer) Security: Few security measures are required. Multi-user, multi-tasking O/S Definition: O/S that allows one or more users to carry out one or more tasks at any one time. CPU, Memory: Management similar to a singleuser, multi-tasking O/S. I/O: Normally supports a large number of devices e.g. terminals that each user can use to communicate with the O/S. Multi-user, multi-tasking O/S Security: Uses a variety of techniques: Login procedures Usernames / Passwords File Access Rights Home directories Data sharing: Multi-user O/S uses: File ownership File access rights Email to allow users to share information Real-time O/S Definition: O/S where the predictability of the speed of response and reliability are essential. Usually part of a feedback loop: Responds to events so that it can influence those events. Real-time O/S Often found in embedded systems within process control. Can be single-user or multi-user. Normally multi-tasking. Real-time O/S CPU, Memory, I/O, Security: Similar management of these resources depending on whether single-user or multiuser. Reliability: Often incorporates support for redundant components. e.g. multiple hard disks and processors, for mission-critical applications. Predictability: A predictable response time is essential in a real-time o/s.