Download presentation
Presentation is loading. Please wait.
1
Chapter 3 – Operating Systems
Aims: Identify the main operating system characteristics. Define typical operating systems. To classify operating systems. Define the component parts of an operating system. Contrast a thread-based approach with processes.
2
User interface, operating system and hardware
3
Typical operating systems
DOS. This was one of the first operating systems for the PC, and quickly become a standard, not because of its technical specifications, but because of its relative cheapness against the other PC operating systems. Microsoft Windows 3.x. This was basically a graphical user interface (GUI), which used DOS as its operating system, and thus still had all the major problems of DOS (such as only being able to run 16-bit software, only being able to access a limited amount of memory, no networking, and so on). Microsoft Windows. In the mid-1980s, Microsoft spent a good deal of time working with IBM on OS/2. Unfortunately the partnership broke up, and Microsoft used their experience from this project and fed it into Microsoft NT Version 3.0. This was a radical redesign of an operating system for the PC. The next version of NT used the graphical user interface developed with Windows 95. Newer versions of Windows have included Windows 98, Windows ME and Windows 2000/XP, and each has built on the robustness, networking infrastructure and GUI of its parents (Windows 95 and NT).
4
Typical operating systems (cont.)
UNIX. A powerful and robust operating system, which is typically used in high-powered workstations. It has a kernel, which interfaces to the hardware. This kernel has the advantage that it can be stripped away from the GUI and can be run on its own. Novell NetWare. Around the time of DOS and Microsoft Windows 3.1, there was very little software which allowed computers to be connected to a network. VMS. As with UNIX, a powerful and robust operating system. It is excellent at running batch processes, which are automatically started when the system is started. They then run quietly with little user input (typically described as batch processes). Linux. A version of UNIX for the PC, and one of the few PC-based operating systems to properly compete with Microsoft Windows.
5
Operating system components
6
Operating system characteristics
7
Operating system classifications
Single user v. Multi-user. Single-user systems only allow a single user to login into the system at a time. They have no user account database, and have a low level of security, as users cannot protect their files from being viewed, copied or deleted. Networked v. Stand-alone. A stand-alone computer does not connect to a network, and thus cannot access any networked resources. This obviously creates a more secure environment as remote users cannot log into the computer. Multitasking v. Single-tasking. Multitasking operating systems allow for one or more programs, or processes, to be run, at a time. Typically, this is achieved by giving each process a prioritized amount of time on the processor. Multiprocessor v. Single processor. Some operating systems allow for more than one processor to be used on the system. This allows more than one task to be run, at a time, on different processors. Windows server operating systems supports multiprocessors (up to four processors).
8
Operating system classifications (cont.)
Embedded v. Non-embedded. An embedded operating system is typically integrated into a device, and is used to perform a specific task, and support for specific applications. Embedded systems are especially written for certain applications and for a narrow range of additional hardware. Distributed processing v. Localized processing. Most processing is achieved locally within the computer system (localized processing), but some processing can be distributed to other computers.
9
Operating system functions
10
Operating system functions
File system. All operating systems create and maintain a file system, where users can create, copy, delete and move files around a structured file system. Device interfacing. Operating systems should try and hide the complexity of interfacing to devices from user programs and the user. Multi-user. This allows one or more users to log into the system. For this, the operating system must contain a user account database, which contains user names, default home directories, user passwords, user rights, and so on. Multitasking. This allows for one or more tasks to run on a system, at a time. Typically this is achieved by giving each task a certain amount of time on the processor (known as a quanta time slice), and the state of the task at the end of the quanta is stored to memory, and recalled when it is next run.
11
Operating system functions
Multiprocessing. This allows two or more processors to be used, at a time. When running with more than one processor the operating system must decide if it can run the processes on the different processors, or it has to determine if the processes require to be run sequentially (that is, one at a time). Multi-threaded applications. Processes are often split into smaller tasks, named threads. These threads allow for smoother process operation. Threads of a program use a common area for their data. They allow smaller processes to run, as larger processes will typically get stuck waiting for resources to be freed, or data to be inputted. Multiple access to devices. Some devices allow many programs to access it, without causing any problems, while others require that only one program at a time can have access. Memory and disk access allow multiple access for programs, whereas modems and printers typically only allow one program to access them at a time.
12
Operating system functions
Driver loading. A device driver is a special piece of software which knows how to communicate with a specific device. For example a mouse driver will know how to receive data from a mouse and then convert it into a form which can be used by a program. An operating system is thus responsible for loading device drivers, and making sure that they act reliably. Managing memory. This involves allocating memory to processes, and often involves creating a virtual memory for programs. Virtual memories were an invention of the VMS operating system, where programs could be given an almost infinite amount of memory, even though there was a limited physical memory. Networking. Typically an operating system must make provision to create a network either to connect to an external network (such as the Internet), or in a local network (or domain). This normally involves loading the required networking protocol, such as TCP/IP for communications with the Internet.
13
Pre-emptive or co-operative
Pre-emptive multitasking. This type of multitasking involves the operating system controlling how long a process stays on the processor. This allows for smooth multitasking and is used in 32-bit Microsoft Windows programs and in the UNIX operating system. Co-operative multitasking. This type of multitasking relies on a process giving up the processor. It is used with Windows 3.x programs and suffers from processor hogging, where a process can stay on a processor and the operating system cannot kick it off.
14
Communication between processes
15
Pre-emptive multitasking
16
Co-operative multi-tasking
17
Operating system components
Mouse driver Video driver Keyboard driver Soundcard driver Operating System Network driver Application program Kernel Communication with operating system
18
Threads in a task
19
Threads v. processes
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.