110 likes | 299 Views
CSE5306 Distributed Systems. Mohan Kumar Operating System Support: Week 4. Operating System components. Network operating system Distributed operating system. OS layer Processes and threads Communicatio n and invocation. Operating System Layer. Applications, services. Middleware.
E N D
CSE5306 Distributed Systems Mohan Kumar Operating System Support: Week 4
Operating System components Network operating system Distributed operating system OS layer Processes and threads Communication and invocation
Operating System Layer Applications, services Middleware • Middleware is on top of OS layers • OS on a particular node • Provides abstraction of local resources • processing • storage and • communications • Middleware is across on all nodes • Utilizes combinations of local and remote resources • Controls interactions among objects/processes OS1 Processes Threads communications OSn Processes Threads communications Hardware Hardware
OS mechanisms • Encapsulation • OS kernel and server processes • Provide service interfaces to clients • Meet client’s needs, but hide details • Protection • Protect from illegitimate accesses • Write protect, kernel addresses, system registers • Concurrent processing • Sharing of resources among resources • Communication • Remote access to resources • Scheduling • Efficient utilization of resources • Avoid starvation
Core OS Components • Process manager • Creation and operations • Resource management • Address space, threads • Thread manager • Creation, synchronization and scheduling • Threads are attached to processes • Communication manager • Threads on same processor • Threads on remote processors • Memory manager • Physical and virtual • cache • Supervisor • Interrupts • System calls • exceptions
Protection • Illegitimate accesses • Access privileges • Supervisor • User • address space • User process
Processes and threads • Process • Execution environment • Address space • Read/write/execute permissions for threads • Thread synchronization and communication • Semaphores and sockets • Open files and windows • Threads • Thread of execution • Share execution environment • Threads can be created or destroyed dynamically
Processes • New process • Choice of target host • Originating host • Criteria • Load balance • Cost of transfer • Location of host • Host resources • Creation of execution environment • Static • Program, stack, heap etc. • Extent, limits • Relative to an existing execution environment • A child process • Each region from the parent process is inherited
Policies for choice of host • Transfer • Load • Cost of transfer • Location • Static • Relative • Adaptive • Load sharing • Centralized • Distributed • Hierarchical • Sender initiated • Receiver initiated • Migratory load sharing
Threads See textbook for figures • Threads improve throughput • One thread can process a request while another is blocked at I/O • Thread architectures • Worker-pool • Thread-per-request • Thread-per connection • Thread per object