390 likes | 408 Views
OPERATING SYSTEM SUPPORT. Introduction. Introduction. Introduction. The Operating System Layer. Figure 1. System layers. The Operating System Layer. The Operating System Layer. The Operating System Layer. Figure 2. Core OS functionality.
E N D
The Operating System Layer Figure 1. System layers
The Operating System Layer Figure 2. Core OS functionality
Process Manager: handles the creation of and operations upon processes. Thread manager: Thread Creation, Synchronization and Scheduling. Threads are schedulable activities attached to processes Communication Manager: manages communication between threads attached to different processes on the same computer. Communication between threads in remote processes. Memory Manager: management of physical and virtual memory Supervisor: Dispatching of interrupts, system call traps and other exceptions; control of memory management unit and hardware caches. Processor and floating point unit register manipulations.
Protection Resources require protection from illegitimate access File protection by providing access privileges Hardware supports to protect modules: hard lock Kernel can control the memory management unit and set of processor registers so that no other code may access the machine’s physical resources except in acceptable way.
Processes and Threads Figure 3. Java thread constructor and management methods
Processes and Threads Figure 4. Java thread synchronization calls
Thread 2 makes requests to server Input-output Receipt & queuing Thread 1 generates results T1 Requests N threads Client Server Client and server with threads
Communication and Invocation RMI, RPC, Events/Notifications Review OS Communication: what, which protocols Communication Primitive: doOperation, getRequest and sendReply Protocols and Openness: most OS in 1980s incorporated their own network protocols tuned to RPC interactions
Invocation Performance • Client and Server may make many millions of invocation related operations in their life times. • However the network bandwidth improves invocation times have not decreased in proportion. • NULL RPC is defined as an RPC without parameters that executes a null procedure and returns no values. • Its execution involves an exchange of messages carrying some system data but not user data.
Invocation Performance • Null Invocation costs are important because they measure a fixed overhead, the latency. • Invocation cost increase with the size of arguments and results, but in many cases the latency is significant compared with the remainder of delay. • RPC bandwidth/throughput is also concern when data has to be transferred in bulk.
Invocation Performance • Marshalling: and unmarshalling which involve copying and converting data become significant when amount of data grows. • Data copying: message data is copied several times in the course of RPC like from across the user-kernel boundary, across each protocol layer, between network interface and kernel buffers. • Packet initialization: initializing protocol headers and trailers including checksums • Thread Scheduling and Context switching
Monolithic Kernel: systems calls are trapped and executed by the kernel. All system calls are served by the kernel, e.g., UNIX. • Microkernel: provides minimal services • IPC • some memory management • some low-level process management and scheduling • low-level i/o (E.g. multiple system interfaces.)
Operating System Architecture Figure 5. Monolithic kernel and microkernel
Operating System Architecture Figure 6. The role of the microkernel