* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating system
Survey
Document related concepts
Transcript
Networking Operating Systems (CO32010) 2. Processes and scheduling 1. Operating Systems 1.1 1.2 1.3 1.4 1.5 Introduction 3. Distributed Multitasking and threading 7. Encryption processing Example operating system components Exercises Example operating systems 8. NT, UNIX and NetWare 6. Routers Objectives: • To define some of the basic terminology of operating systems. • To define the main components of a network operating system. • To define the differences in operating systems. • To outline the history of some of the most used operating 4. Distributed 5.systems. Routing protocols http://www.soc.napier.ac.uk/~bill/nos.html file systems bill@napier, 2001 Hardware, Operating Systems and User Interfaces User interface: • Microsoft Windows (Windows 95/98/NT/2000). • Microsoft Windows 3.1. • X-Windows. Operating system: • Microsoft Windows (Windows 95/98/NT/2000). • DOS. • UNIX/Linux. • VMS. • Novell NetWare. Hardware: • x86 architecture. • SPARC architecture. • Apple architecture. http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Hardware, Operating Systems and User Interfaces Operating System User account database Users Groups Operating system Kernel Volumes File system Resources Memory Print Queues Printer Printer Server http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Operating system characteristics Single-user Multi-user Stand-alone Networked Single-tasking Multitasking Single processor Multi-processor http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Operating Systems Memory: - Creating virtual memory systems - Disk swapping for memory Device interfacing: - Access to connected devices - Multi-user access - Device drivers Unix Linux Networking: - Remote login/file transfer - Creating global file systems Microsoft Windows 95/98 (OS) Microsoft Windows NT (OS) Hardware Mac OS File system: - Creating a file system - Copying/deleting/moving files DOS Multi-user - Allowing users to login into system - Allows users permissions to certain resources - Manage queues for resources Multiprocessing - Allowing several processes to run, at a time - Scheduling of processing to allow priority http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Application program Application program Operating System Components Communication with operating system Operating System Network driver Kernel Mouse driver Video driver Keyboard driver Soundcard driver http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Information passed between processes Process Process Data passed between processes Process Process Message or signal Interrupt Interrupt Low-level Low-level interrupt interrupt Low-level Low-level interrupt interrupt Network or local computer http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Preemptive Multitasking Come on. My turn soon 2 3 Processor 1 Okay No.1, you’ve had your turn, get to the back of the queue. Next! 4 5 Process queue Pre-emptive multitasking: Processes are given some time on the processor. This allows all the processes to have some time on the processor, and makes for smoother and more reliable operation http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Hurray. I could stay here forever. Anyway, I’m not going back to the end of the queue. Co-operative Multitasking Hurry up. I’m waiting. You’ve been on that processor for ages. This isn’t very fair! 1 2 Processor Sorry. You’ll have to wait until he’s finished 3 4 5 6 Process queue Co-operative multitasking: Processes must yield from the processor, before other processes can run on the processor http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Threads in a task Boil potatoes Microwave the pie Pie is cooked Potatoes are soft Put pie on plate Put potatoes on plate Boil carrots Carrots are soft http://www.soc.napier.ac.uk/~bill/nos.html Put carrots on plate bill@napier, 2001 Splitting a process into threads Process approach Threads approach Interlinking of threads Process Process splits into threads Threads Independent threads Common sharing of data between threads http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Dynamic Link Libraries Program calls up a DLL when it requires a certain function Static library is used when compiling the program. All the associated code is included in the program (even if it is not used) Program http://www.soc.napier.ac.uk/~bill/nos.html Dynamic link library (DLL) (standard ones stored in \WINDOWS and \WINDOWS\SYSTEM folders) - WINSOCK.DLL (TCP/IP) - GDI.DLL (Graphical interface) - KERNAL32.DLL (Kernel) bill@napier, 2001 TCP/IP affected virus Virus can now listen to (and modify) any network traffic Application program TCP/IP DLL (Virus effected) Infected network transmission (such as infecting other users, typically from an e-mail list) TCP/IP DLL (Correct version) Internet/ network http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Window’s Components • User. The User component provides input and output to and from the user interface. Input is from the keyboard, mouse, and any other input device and the output is to the user interface. It also manages interaction with the sound driver, timer, and communications ports. • Kernel. The Kernel provides for core operating system components including file I/O services, virtual memory management, task scheduling and exception handling, such as: file I/O, exceptions, virtual memory management, task scheduling. • GDI. Controls output to screen and printer. Windows 95/98 core User GDI Kernel http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Virtual Machine Manager Programs have access to all the resources of the computer, as if they were the only program running Program 1 Virtual Machine Manager Program 2 Program 3 Creating virtual memory (up to 2/4GB) - Process scheduling - Memory paging - MS-DOS support DOS emulator http://www.soc.napier.ac.uk/~bill/nos.html DOS program bill@napier, 2001 Virtual Machine Manager • • • Process scheduling. This is responsible for scheduling processes. It allows for multiple applications to run concurrently and also for providing system resources to the applications and other processes that run. This allows multiple applications and other processes to run concurrently, using either cooperative multitasking or pre-emptive multitasking. Memory paging. Windows 95/98/NT uses a demand-paged virtual memory system, which is based on a flat, linear address space accessed using 32-bit addresses. The system allocates each process a unique virtual address space of 4GB. The upper 2GB is shared, while the lower 2GB is private to the application.This virtual address space is divided into equal blocks (or pages). MS-DOS Mode support. Provides support for MS-DOS-based applications which must have exclusive access to the hardware. When an MS-DOS-based application runs in this mode then no other applications or processes are allowed to compete for system resources. The application thus has sole access to the resources. http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001 Example: Windows NT Architecture Application User mode Kernel mode NT Executive I/O manager Object manager Process manager Local procedure call facility Virtual memory manager Win32 Window Manager Executive Services Device driver Microkernel HAL (Hardware Abstraction Layer) Graphic device driver Hardware http://www.soc.napier.ac.uk/~bill/nos.html bill@napier, 2001