2002 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

Chapter 5 CPU Scheduling. CPU Scheduling Topics: Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
Chapter 3 Operating Systems. Chapter 3 Operating Systems 3.1 The Evolution of Operating Systems 3.1 The Evolution of Operating Systems 3.2 Operating System.
Chapter 2: Processes Topics –Processes –Threads –Process Scheduling –Inter Process Communication (IPC) Reference: Operating Systems Design and Implementation.
CS 311 – Lecture 23 Outline Kernel – Process subsystem Process scheduling Scheduling algorithms User mode and kernel mode Lecture 231CS Operating.
Chapter 6: CPU Scheduling. 5.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Feb 2, 2005 Chapter 6: CPU Scheduling Basic.
Operating Systems (CSCI2413) Lecture 4 Process Scheduling phones off (please)
Introduction to Operating Systems – Windows process and thread management In this lecture we will cover Threads and processes in Windows Thread priority.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
3.5 Interprocess Communication
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Chapter 8 Windows Outline Programming Windows 2000 System structure Processes and threads in Windows 2000 Memory management The Windows 2000 file.
General What is an OS? What do you get when you buy an OS? What does the OS do? What are the parts of an OS? What is the kernel? What is a device.
Computer Architecture and Operating Systems CS 3230: Operating System Section Lecture OS-3 CPU Scheduling Department of Computer Science and Software Engineering.
 Introduction to Operating System Introduction to Operating System  Types Of An Operating System Types Of An Operating System  Single User Single User.
SYNCHRONIZATION Module-4. scheduling Scheduling is an operating system mechanism that arbitrate CPU resources between running tasks. Different scheduling.
Lecture 2 Process Concepts, Performance Measures and Evaluation Techniques.
Group 1 Members: SMU CSE 8343 Wael Faheem Professor:Dr.M.KHALIL. Hazem Morsy Date: Poramate Ongsakorn Payal H Patel Samatha Devi Malka.
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
Chapter 3 Process Description and Control
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
CE Operating Systems Lecture 11 Windows – Object manager and process management.
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 5: CPU Scheduling.
2002 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
30 October Agenda for Today Introduction and purpose of the course Introduction and purpose of the course Organization of a computer system Organization.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms.
Lecture 7: Scheduling preemptive/non-preemptive scheduler CPU bursts
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 4.
1 11/29/2015 Chapter 6: CPU Scheduling l Basic Concepts l Scheduling Criteria l Scheduling Algorithms l Multiple-Processor Scheduling l Real-Time Scheduling.
Silberschatz, Galvin and Gagne  Operating System Concepts Process Concept An operating system executes a variety of programs:  Batch system.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
2001 Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3.
Silberschatz and Galvin  Operating System Concepts Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Processes and Threads MICROSOFT.  Process  Process Model  Process Creation  Process Termination  Process States  Implementation of Processes  Thread.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
1 CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling.
1 Lecture 19: Unix signals and Terminal management n what is a signal n signal handling u kernel u user n signal generation n signal example usage n terminal.
Chapter 4 CPU Scheduling. 2 Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Threads prepared and instructed by Shmuel Wimer Eng. Faculty, Bar-Ilan University 1July 2016Processes.
Chapter 4 – Thread Concepts
REAL-TIME OPERATING SYSTEMS
Resource Management IB Computer Science.
CPU SCHEDULING.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Chapter 4 – Thread Concepts
Introduction to Operating System (OS)
TYPES OFF OPERATING SYSTEM
Chapter 6: CPU Scheduling
CPU Scheduling G.Anuradha
Module 5: CPU Scheduling
Introduction What is an operating system bootstrap
Lecture 21: Introduction to Process Scheduling
3: CPU Scheduling Basic Concepts Scheduling Criteria
Chapter5: CPU Scheduling
Chapter 5: CPU Scheduling
Chapter 6: CPU Scheduling
Process Description and Control
Process Description and Control
Process Description and Control
Lecture 21: Introduction to Process Scheduling
Uniprocessor scheduling
Chapter 6: CPU Scheduling
Chapter 4 – Processes and Scheduling
Module 5: CPU Scheduling
Process Description and Control
Chapter 6: CPU Scheduling
Module 5: CPU Scheduling
Presentation transcript:

Networking Operating Systems (CO32010) 1. Operating Systems 2. Processes and scheduling 3. Distributed processing 4. Distributed file systems 5. Routing protocols 6. Routers 7. Encryption 8. NT, UNIX and NetWare 2.1Introduction 2.2Scheduling 2.3Higher-level primitives 2.4Signals, pipes and task switching 2.5Messages 2.6Microsoft Windows scheduling 2.7UNIX process control Objectives: To define the main parameters used in scheduling. To define some of the main scheduling techniques and be able to contrast them. To briefly define the usage of parallel processing. To outline the usage of high-level primitives, such as signals, pipes and task-switching. To give examples of practical process control. Objectives: To define the main parameters used in scheduling. To define some of the main scheduling techniques and be able to contrast them. To briefly define the usage of parallel processing. To outline the usage of high-level primitives, such as signals, pipes and task-switching. To give examples of practical process control.

Running, Ready, Waiting and Terminated EXIT Running 7 Ready Terminated 9 Zombie (Terminated, but still waiting for parent process) Hurry up. I’m waiting on 2 to tell me what to do Hurry up. I’m waiting on 2 to tell me what to do 8 Waiting

Fairness Efficiency Throughput Turnaround Predictability Response time Scheduler 2.2 Decisions for the Scheduler Maximised Minimised Waiting time

First come, first served Sorry. First come, first served. Sorry. First come, first served. 6 Process queue Processor 1 Hurry up. I’m waiting. You’ve been on that processor for ages Hurry up. I’m waiting. You’ve been on that processor for ages Look at the size of that queue! Look at the size of that queue! Hooray. I could stay here forever. Anyway, I’m not going back to the end of the queue. Hooray. I could stay here forever. Anyway, I’m not going back to the end of the queue.

Round Robin Processor Okay No.1, you’ve had your turn, get to the back of the queue. Next! Okay No.1, you’ve had your turn, get to the back of the queue. Next! Process queue Come on. My turn soon Come on. My turn soon

Multiqueue Processor Okay. Foreground queue first. Your turn No. 2. Okay. Foreground queue first. Your turn No. 2. Foreground queue Batch queue I wish I was important, like the foreground processes I wish I was important, like the foreground processes A B C

Parallel processing: Inter-communication between processors Find average Processor 1 Processor 2 Processor 3 Processor 4 Pixels around boundaries must be intercommunicates 2  2 processing array 2 interfaces 3  3 processing array 4 interfaces 4  4 processing array 6 interfaces n  n processing array 2(n–1) interfaces

Communication time and processing time No of processors Processing time Communication time Processing time Total time Highlights: Processing time reduces for increasing number of processors. Inter-communication time increases for an increasing number of processors.

Semaphores, signals and pipes Semaphores. This involves setting flags, which allow or bar other processes from access certain resources. An analogy of a semaphore is where two railway trains are using a single-track railway line. When one train enters the single-track line, it sets a semaphore which disallows the other train from entering the track. Once the train on the single track has left the single track, it resets the semaphore flag, which allows the other train to enter the single track. Signals. Signals are similar to interrupts, but are implemented in software, rather than hardware. This is a primitive interrupt handler and involves a signal handler which controls process signals. Pipes. Pipes allow data to flow from one process to another, in the required way. Typically they are implemented with a fixed size storage area (a buffer) in which one process can write to it, while the other reads from it (when the data is available). UNIX implements pipes with a file-like approach, and uses the same system calls to write data to a pipe and read data from a pipe as those for reading and writing files. Each process which creates a pipe receives two identifiers: one for the reading and one for the writing. Typically, the creating process forks-off two child processes, one of which looks after one end of the pipe, and the other on the other end of the pipe. The two child processes can then communicate.

Pipes (in Unix) Process 1 Process 2 Process 3 Pipe Process_1 | Process_2 | Process_3 Pipe Child process A (looks after input pipe) Child process A (looks after input pipe) Child process B (looks after output pipe) Child process B (looks after output pipe) Main process (for process 2) Socket (on a remote computer)

Signals.v. Messages Message Port (with message handler) Message Port (with message handler) Process A Process A Process B (waiting for new data) Process B (waiting for new data) Process A Process A Process B [waiting for signal(10)] Process B [waiting for signal(10)] signal(10) New data message New data message Signals (a simple method which allows processes to identify events) Message (an improved method where an indication of the actual event can be passed between processes)

Daemon’s D1D1 Daemon (to handle networking) D2D2 Daemon (to handle file I/O) D3D3 Daemon (networked file services) Daemon’s Unix start-up (reads rc file and initiates daemon processes) Single-user Mode (only system administrator can login) Multi-user mode (all users can login)