Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.

Slides:



Advertisements
Similar presentations
Multiple Processor Systems
Advertisements

Computer Architecture
Categories of I/O Devices
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Chapter 3 Process Description and Control
CSC 501 Lecture 2: Processes. Von Neumann Model Both program and data reside in memory Execution stages in CPU: Fetch instruction Decode instruction Execute.
Processes CSCI 444/544 Operating Systems Fall 2008.
1 CS 333 Introduction to Operating Systems Class 2 – OS-Related Hardware & Software The Process Concept Jonathan Walpole Computer Science Portland State.
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
Introduction to Kernel
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Embedded Real-time Systems The Linux kernel. The Operating System Kernel Resident in memory, privileged mode System calls offer general purpose services.
3.5 Interprocess Communication
OS Spring’03 Introduction Operating Systems Spring 2003.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
1 Process Description and Control Chapter 3 = Why process? = What is a process? = How to represent processes? = How to control processes?
1 I/O Management in Representative Operating Systems.
Operating Systems (CSCI2413) Lecture 3 Processes phones off (please)
Process Description and Control A process is sometimes called a task, it is a program in execution.
OS and the Computer System  Some OS programs exist permanently in the system area of the memory to monitor and control activities in the computer system.
PRASHANTHI NARAYAN NETTEM.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
 What is an operating system? What is an operating system?  Where does the OS fit in? Where does the OS fit in?  Services provided by an OS Services.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
CSC 501 Lecture 2: Processes. Process Process is a running program a program in execution an “instantiation” of a program Program is a bunch of instructions.
Implementing Processes and Process Management Brian Bershad.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Chapter 41 Processes Chapter 4. 2 Processes  Multiprogramming operating systems are built around the concept of process (also called task).  A process.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
Multiple Processor Systems. Multiprocessor Systems Continuous need for faster computers –shared memory model ( access nsec) –message passing multiprocessor.
Inter-process Communication:
8-Sep Operating Systems Yasir Kiani. 8-Sep Agenda for Today Review of previous lecture Process scheduling concepts Process creation and termination.
Processes CSCI 4534 Chapter 4. Introduction Early computer systems allowed one program to be executed at a time –The program had complete control of the.
Processes CS 6560: Operating Systems Design. 2 Von Neuman Model Both text (program) and data reside in memory Execution cycle Fetch instruction Decode.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
4300 Lines Added 1800 Lines Removed 1500 Lines Modified PER DAY DURING SUSE Lab.
Processes, Threads, and Process States. Programs and Processes  Program: an executable file (before/after compilation)  Process: an instance of a program.
Process Description and Control Chapter 3. Source Modified slides from Missouri U. of Science and Tech.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
1 Structure of Processes Chapter 6 Process State and Transition Data Structure for Process Layout of System Memory THE DESIGN OF THE UNIX OPERATING SYSTEM.
Operating Systems CMPSC 473 Signals, Introduction to mutual exclusion September 28, Lecture 9 Instructor: Bhuvan Urgaonkar.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
What is a Process ? A program in execution.
Distributed Computing Systems CSCI 6900/4900. Review Definition & characteristics of distributed systems Distributed system organization Design goals.
Direct memory access. IO Command includes: buffer address buffer length read or write dada position in disk When IO complete, DMA sends an interrupt request.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Multiprogramming. Readings r Chapter 2.1 of the textbook.
Introduction to Kernel
Process concept.
Process Management Process Concept Why only the global variables?
CS 6560: Operating Systems Design
Structure of Processes
Operating Systems: A Modern Perspective, Chapter 6
KERNEL ARCHITECTURE.
System Structure B. Ramamurthy.
Multiple Processor Systems
Multiple Processor Systems
Multiple Processor and Distributed Systems
CS510 Operating System Foundations
Outline Process Management Process manager Hardware process
Structure of Processes
Mr. M. D. Jamadar Assistant Professor
Presentation transcript:

Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous in kernel mode causes integrity problem.

Problem of multiprocessor system Integrity protected by two policies: – Kernel cannot preempt a process and switch to other process when executing in kernel mode. – It masks out interrupts when executing in critical region. This security measures may not suffice in multiprocessor systems. 3 methods for preventing such corruption: – Execute all critical activity on one processor. – Serialize access to critical regions of code with locking primitives. – Redesign algorithm to avoid contention of data structures.

Solution with Master Slave Process First processor called master processor execute in kernel mode. Other processors called slave processor in user mode. 1 master and many slaves. responsible for handling execute process in user mode system calls and interrupts and inform master process when process makes system call

Solution with Master Slave Process(contd.) Scheduler algorithm decides which processor should execute. New field in process table processor id that process must run on It indicate process either slave or master. lets see two scenarios when the process executes.

Solution with Master Slave Process(contd.) When process on slave processor execute system call: – Slave kernel sets processor ID field indicating that process only run in master processor and no context switch. – Master kernel scheduled process with highest priority. – When system call finished processor ID field set to slave and allow process to run on slave processor again.

Solution with Master Slave Process(contd.) If processor must run on master processor must run them right away and not keep them waiting. Corruption of kernel data structure can occur because it does not protect against having a process selected for executing on two processor. Suppose if 1 master and 2 slaves both find one process in user mode ready for execution. If both processor were to schedule process simultaneously they would read, write and corrupt address space

Solution with Master Slave Process(contd.) Avoid problem in two ways: – Master can specify slave process on which process execute. – Kernel can allow only one process to execute scheduling loop at a time using semaphores.

Fig. Race Condition in Sleep-Locks on Multiprocessor

Buffer allocation with semaphores There are 3 major data structures in buffer allocation. – Buffer header. – Buffer hash queue. – Free list of buffers. Semaphore associated with each instruction of data structure.

Distributed UNIX System Two types of multiprocessor systems: – Tightly coupled systems – Loosely coupled systems Tightly coupled systems are not transparent. The editors and system calls do not work for files on remote machines as for local systems.

Distributed UNIX System Fig: Model of Distributed architecture

Distributed UNIX System The architecture contain the autonomous systems consisting of CPU memory peripherals. The system might not have memory but should have peripheral devices for communication. The kernel on each machine are independent.

Satellite Processors These are the implementations of distributed systems. They are tightly clustered groups centered on one machine. Satellite process share process load with central processor. Purpose is to increase system throughput and allow dedicated use of processors

Satellite Processors Purpose is to improve system throughput by offloading the processes form central processors. Each satellite processor has no local peripheral devices. File system and all devices are on central processor. All users execute process on satellite processor and stay their till execution completes. The satellite processors use simplified OS and device drivers. The system on initialization downloads local OS on each satellite processor.

Fig: Satellite processor configuration

Satellite Processors(contd.) Each processor on satellite processor has associated stub process on central process. The satellite processor communicate with central processor through stub when they want their system call to function. The stub executes system call and sends back result. The satellite processor and stub function as client server.(satellite is client)

Fig: Message formats

Satellite Processors(contd.) If system call can be handled locally no request sent to stub process. Functioning of stub: – waits for requests from satellite processor. – when request received it is decoded. – the system call to be invoked is determined. – the system call is executed. – the response is generated by encoding the result of executed system call.

Satellite Processors(contd.) System calls used for working of satellite systems: getppid, open, write, fork, exit and signal getppid: – is simple as require simple response and request between satellite and central processors. – the identification of system call is done by the token. – the stub on central processor reads message from satellite and decodes msg. – executes getppid and gets parent process id. – the response is generated after execution. – the response returned to the process originally invoking system call.

Satellite Processors(contd.) open: – satellite processors send open message to stub process. – when open done successfully, it allocates inode and file table entry on central processor. – In between all this allocation the satellite process reading communication from stub process waits. – The satellite process has no kernel data structures to record information about file open. – The file descriptor returned by open is index into user file descriptor table of stub process.

Fig: Open call from a satellite process

Satellite Processors(contd.) write: – Satellite processor formulates message using token. – Then the data is copied from satellite process user space and write it to communication link. – The stub process decodes write message reads data from communication link and writes it to appropriate file. – When done stub writes ack. msg. to satellite including the number of bytes written. – The stub informs satellite process if it does not return requested no. of bytes.

Satellite Processors(contd.) read: – Stub inform satellite process if it does not return requested number of bytes – Require transmission of multiple data message across the network

Satellite Processors(contd.) fork: – First select the satellite & send a message to special server process – Initialize process table & u area – Central download copy of fork process to satellite – Create stub for communicate with satellite & send message to satellite to initialize PC of new process – Stud process is child of fork process