Definition: An operating system is the software that manages resources

Size: px
Start display at page:

Download "Definition: An operating system is the software that manages resources"

Transcription

1 13-1 Operating Systems 13-1 Definition: An operating system is the software that manages resources in a computer. Resources A resource is (usually) hardware that needs to be accessed. There are rules for accessing resources rules enforced by the OS. Rules might restrict access to sensitive resources or control access to finite resources. Typical Resources Terminal I/O. Filesystem. (Data stored on disk). Main memory. (A.k.a. RAM or core). Sensors and actuators. (In a RTS, for example.) Network services. (To connect to other computers.) Threads. CPU time. OS description here is for a typical multithreaded of Unix......other modern operating systems work in a similar fashion EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

2 Resources Managed on Behalf Of Tasks. Task requests the resource. OS determines if task is allowed the resource. OS determines if task can be given the resource. E.g., if there is enough available. If both are true, OS grants the task s request. To service such requests, the OS must keep track of how much of each resource is available and under what conditions requests can be granted EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

3 Resource Allocation and Usage Example Consider the following code fragment. /* Allocate 1000 bytes of storage. */ 1: basepointer = malloc( 1000 ) ; The code fragment above is part of some program which is compiled and run on some system. The program, from when it starts running until it finishes running, is referred to as a task. In line 1 the task requests address space (a resource). The task asks the OS for 1000 bytes of main-memory address space using the C malloc library function. The OS checks if the task is allowed 1000 more bytes of address space. The OS also checks if 1000 bytes of address space is available. If both checks are positive, the space is allocated. (If not, malloc returns a null pointer.) 13-3 EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

4 /* Write a 3 into element x. */ 2: basepointer[x] = 3; /* Open a file for output. */ 3: mf = fopen( "myfile.data", "w" ); In line 2 task writes to main memory. The task will attempt to write to memory address given by base- Pointer+x. The write makes use of the address-space resource. The system must verify that this resource has been allocated. If the task has write permission to this address, then the 3 is written. Otherwise, the OS will terminate execution of the program before the 3 is written. In line 3 task opens a file for writing, using the filesystem resource. The OS checks if the task has write permission on the file. The OS checks if opening the file for writing could be accomplished within the task s resource limits. If both checks are positive, the OS performs all the actions necessary to open the file EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

5 Description of Major Types of Resources Terminal I/O. Provided by the following hardware: A communication port to which a terminal is connected. A video display and keyboard connected to the computer. The OS might have to reserve these devices for the task. The OS might refuse access to a terminal if some other task had reserved it. The OS, in most cases, would actually read or write data to these devices. Sensors and actuators. (In RTS.) These devices are connected to the computer through an interface. The OS may reserve access to these devices for use by one task. The OS may also perform the actual reading and writing of the devices EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

6 Filesystem (data stored on disk in an organized form). Actual hardware usually disk drives. Disks know about tracks and cylinders. OS organizes (as a librarian) disk into directories and files. Files are given names, owners, access permissions, etc. When a task issues a command to read a file the OS: finds the disk the file is located on, checks access permissions, finds the track and cylinder of the needed part of the file, sends commands to the disk to retrieve data,...when the data is available... reads the data sent by the disk drive, formats it for the task. This organization makes programmers lives simpler and keeps the data relatively secure. (OSs which do not control access to the filesystem or devices are vulnerable to viruses and worms.) 13-6 EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

7 Main memory (A.k.a. RAM or core). Whenever the CPU issues an instruction fetch, or does a load or store, a memory address is issued. The memory address refers to a part of an address space, which is a resource allocated to the task. Memory is managed by the OS and by special memory-management hardware. CPU time. The CPU time resource is time that a task runs on the CPU. A system can have many tasks, the OS must divide the time between them. The scheduler determines what fraction of CPU time each task gets. Good CPU time management yields good performance: The computer will appear to react quickly. Little time to complete a set of jobs. For a RTS, CPU time management is critical for correct performance EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

8 Network services. A computer connects to the rest of cyberspace through a network interface. For outgoing data, the OS would format the data into a form suitable for the network interface. The data would be transfered to the network interface, and then enter the network. Upon arrival of incoming data, the network interface will alert the computer. The OS will read the data from the interface and take the appropriate action EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

9 OS Resource-Management Functions To manage resources, the OS must provide the following: System calls by which tasks make resource requests. Malloc and printf make use of system calls but are not themselves system calls. Dæmon tasks and other code needed to manage resources and used for other functions. Includes tasks that prompt users to log in and dæmons which manage printers and other computer resources. Shells, programs which provide an interface between the OS and the user. Utility programs, so that the system administrator and users can query and change the information the OS uses to manage resources. This includes programs that display a directory listing, increase a user s disk quota, and alter the priorities used by the scheduler EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

10 System Calls A user program uses system calls to make requests of the OS. A system call, in many operating systems, works something like a subroutine call to the OS. It is used by library writers and sophisticated user programmers. (Less-adventurous programmers will call library functions, the library function makes the system call.) System calls provide a clean interface to the operating system: They have a logical syntax (in a well-designed system). The syntax of the call is not likely to change even if the implementation of the resource changes. (For example, in newer versions of the computer.) Typical uses for system calls: Write a character to a terminal. Allocate address space. Spawn a new task. File I/O. End execution of the task EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

11 Dæmon Tasks The purpose of a dæmon task is to manage some hardware. A dæmon is a task which waits for certain events to occur in the hardware (or elsewhere). When the events occur, the dæmon will be notified and will take the appropriate action. A well-known example is the print dæmon. The print dæmon passes data to a printer. Since printers have finite storage and usually print more slowly than they can accept data, the dæmon cannot transfer all data to be printed at one time. Instead, the dæmon transfers data in small blocks. After sending a block to the printer, the dæmon will relinquish control. When the printer is ready for more data, it will interrupt the system, giving control back to the dæmon. If there is more data, the dæmon will transfer another block. Systems have many dæmons lurking in the background. In addition to printing, dæmons also manage network communication, and many other services EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

12 Shells and Utilities A shell is a program that an OS runs to communicate with the user. The user first encounters the shell after logging in. The shell prompts the user for input. Correct input is a command to the shell. The shell performs the command. Typical commands include: Running a task. Displaying a directory listing. Changing directories. Logging out. After the command completes shell will again prompt for input unless the command killed the shell s task. Common Shells command.com, the shell that comes with MS DOS 1. sh, called the Bourne shell. Used in Unix systems. csh, called the C shell. Also used in Unix systems. 1 (In the PC world, shell is sometimes used only for shells with a menu-driven or graphical interface. The broader definition will be used here.) EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

13 Utilities These programs allow users and operators to change various settings in the operating system and to perform other actions. Utilities include commands to change file-protection status, create directories, and print files. The line between OS utility and a regular program is fuzzy. For example, is a text editor that comes with an OS an OS utility or a bundled program? Such questions can be ignored for this course EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

14 Tasks, Programs, Processes, and Executables A program is a collection of statements, instructions, etc. intended to be run as a unit. Program can refer to several things......it s important to understand the distinctions: A program is in the form of source code when in a human-readable language. Programmers write source code. E.g., sourcecodemightbeinfilehello.c 2 A program is in the form of object code whenitconsistsofmachine instructions. Object code 3 is not a complete program. A program is in executable form when it contains all machine language instructions needed to run 4. E.g., Unix names executables a.out by default 5. A task (also called a process) is an executable which the OS has loaded and is, has, or will be running. Tasks are assigned process IDs. 2 The last few letters of file names of files containing source code usually indicate the type of source code. For example, the c in hello.c. 3 The last two letters of file names of files containing object code are usually.o. For example, hello.o. 4 Executables are assembled by a linker from object code, libraries, start and stop code, etc. 5 Most programmers use the program name, rather than a.out, for the executable name, for example, hello EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

15 Example: consider Hello, world! used to introduce C. Source Code (hello.c): #include <stdio.h> int main(int argv,char **argc) { printf("hello, world!\n"); return 0; } With the following command... [omega] % gcc hello.c -c...file hello.o is generated 6 which contains the object code. The command... [omega] % gcc -o hello hello.o...links 7 the object code with libraries and other code......to form the executable, hello. 6 gcc is the name of a compiler driver program. The compiler driver calls the preprocessor and then the compiler itself. 7 Here the compiler driver calls the linker EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

16 The command below creates a task using the executable, hello. [omega] % hello Hello, world! Source, object, and executable files will remain in the filesystem......until deleted. In contrast, task only existed for a few milliseconds......starting when hello was typed at the prompt......and ending moments later. Another task is created......whenever hello is typed. (It s a distinct task though it does exactly the same thing.) EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

17 Range of Tasks The following are run as tasks: Programs written for homework assignments. Application programs, such as accounting and payroll software. Productivity software, such as word processors and spreadsheets. Software development tools, such as compilers and linkers. Dæmon programs, such as the print dæmon. Shells. External shell commands. The following are not run as tasks on conventional OSs: (Instead they run something like a subroutine within another task.) System calls. Interrupt handlers. (These will be covered later.) EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

18 A Task s Resource Needs A task always needs the following resources: Address space. Executable and data reside in address space. A thread. The part of the task that actually runs. If a task were a business, then a thread would be an employee. CPU time. (To run the executable.) Most tasks also need the following resources: A terminal to communicate with the user. Access to a filesystem to read and write data EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

19 Tasks and Threads A thread is the part of the task that executes instructions. Each task has one or more threads. A context......is the info. that must be saved when a thread is stopped......and restored when the thread is re-started. A context switch......is the process of removing one thread s context from the CPU......and replacing it with another. Context information usually includes......the contents of CPU registers......and any other registers used to control the processor and memory. Context information does not include......memory contents 8, disk contents, etc. 8 (The memory-management hardware can hold and distinguish the address spaces for multiple tasks, therefore there is no need to remove a task s address space from memory when it temporarily stops running. A conventional CPU can only hold one set of register values, so these have to be saved.) EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

20 Threads In multithreaded OSs a single task can have one or more contexts. In a conventional OS each task has exactly one context. In multithreaded OSs contexts are referred to as threads of execution or simply threads. All threads in a task share the same address space and are usually sharing large amounts of data. Context switching between two threads in the same task may take much less time than context switching between two threads in different tasks. After a context switch in a multithreaded system a new thread will be running, and perhaps a new task. In multithreaded systems, the OS allocates threads to tasks. In other OSs each task allocated its one-and-only thread EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

21 Context Switching A single CPU can run only one thread at a time. The OS switches execution from one thread to another, giving the appearance that many are simultaneously running. The following occurs during a context switch: The context is saved in a data structure that the OS has reserved for the thread. These include the general-purpose registers, the stack pointer, and especially the program counter. After saving one context, the OS will load another context. If the new context is in a different thread the memory management hardware must be switched from one address space to another. This is done by writing the memory-management hardware s process-id register. The last step is to load the program counter, that is, jump to an instruction in the new thread. When the context switch is complete, a different task or thread will be running. Because of the bookkeeping involved (not just saving the registers) context switching takes a relatively long amount of time EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

22 The CPU-Time Resource A task is getting CPU time, running, whenever the CPU has one of its contexts. The task will continue to run until: it requests a resource from the OS, it attempts to do something it is not allowed to do, some other event needs to be attended to, it has exhausted its present CPU time resource allocation. At this point the OS will take control, perhaps restarting the task at a later time EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

23 The Life of a Task Here are the steps in the life of a typical task. Pre-natal step. An executable program is waiting in a file. Birth. A currently running task starts the new task. In Unix, this is done in two steps: First the currently running task makes a fork system call. The OS will make a duplicate of the running task. The two resulting tasks are identical, except for their process IDs. New task makes a execve system call, loading and starting the new executable. The new task will run for some time. Suppose the task needs to wait for user input. It will make a system call, requesting input. The user may not provide input for some time, so the OS will do a context switch to another task. After the user enters some input, the OS will do a context switch back to the task. The task computes some more. Suppose it exceeds its CPU time allocation. The CPU will preempt the task, context switching to a new task. Later the task will be resumed EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

24 The Life of a Task, Continued The task is resumed, continuing its work.. Finally, the task finishes: it makes a final system call, exit. The OS cleans up any loose ends the task might have left, for example closing files. The OS will then release the task s resources for use by other tasks EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

25 The Kernel The kernel, the core of an OS, is executable code kept in a special area of memory which is accessible only through special CPU instructions. When a task makes a system call it is executing the special CPU instruction. The special instruction is usually called a trap or a software interrupt. As a result of making a system call, the CPU switches from user mode to privileged mode. A second result of a system call is a jump made into the special area of memory, where the kernel starts executing. In many systems virtual address space is divided into two halves: one reserved for tasks the other for the kernel. System half of every task s address space......mapped to the same physical addresses......saving memory since only one copy needed EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

26 The Kernel vs. Tasks An OS is able to enforce its control over resources because of special features of the hardware. For example, the memory-management hardware will halt any task which attempts to access unallocated memory. So why can t the task tell the memory hardware that it does have access to that memory? If the OS can do it, couldn t the task? Isn t the OS a program, just like the task? No, it s not EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

27 CPU Modes The OS is a program made up of instructions, to be sure. But some of those instructions are privileged. Modern CPUs have a special mode, called privileged (a.k.a. system or supervisor) mode. Privileged instructions can only be executed in privileged mode. Privileged instructions are used to set the memory-management hardware and to change other sensitive parts of the system. Privileged mode is turned off by setting a bit in the CPU s processor status word (PSW). While the kernel is running, privileged mode is on. Before kernel returns to task, privileged mode turned off. As one might expect, a task cannot change the PSW, so a task cannot change the CPU to privileged mode and loot the system resources EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

28 How the Kernel is Entered Reasons the kernel gets entered, and what the kernel does: A task makes a system call. The kernel performs the requested action. A task attempts to execute an illegal instruction or attempts an illegal memory access. The kernel may kill the task, allow the task to continue, or call a special handler routine provided by the task. The type of action depends upon what the task attempted. An external device signaled the computer for attention, by requesting an interrupt. The kernel will call a special handler routine to attend to the external device. This will be covered in great detail, later. A timer (like an alarm clock) has expired, interrupting the CPU. The action taken by the kernel depends upon why the timer was set. The timer might have been set: because an external device would need attention (but could not generate an interrupt), to update time-related data structures, such as the system clock, to preempt the running task because its CPU-time allocation is used up EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

29 Example of CPU Activity Consider a system in which two programs are running. One is searching a file for the letter X: /* Program 1 (Will run as task 5371.) */ do { c = fgetc( filestream ); } while ( c!= X ); The other is computing π. /* Program 2 (Will run as task 8462.) */ double sum = 0, i = 1, pi; while( i < ){ sum+=1/i; i+=2; sum-=1/i; i+=2; } pi = sum * 4.0; The CPU might be doing the following: User Mode, Task 5371, Prog. 1: Execute code user wrote. (do). User Mode, Task 5371, The fgetc library function. Priv. Mode, Kernel, The read system call. Priv. Mode, Kernel, Context switch to Task User Mode, Task 8462, The while loop, written by the user. Priv. Mode, Kernel, Disk interrupted with requested data OS writes data in buffer. Interrupted task resumed. User Mode, Task 8462, The while loop, written by the user. Priv. Mode, Kernel, (Entered because of timer.) Priv. Mode, Kernel, Scheduler, choose new task. Context switch to Task User Mode, Task 5371, The fgetc library function. User Mode, Task 5371, While condition comparison EE 4770 Lecture Transparency. Formatted 8:10, 3 March 1999 from lsli

13-2 EE 4770 Lecture Transparency. Formatted 8:18, 13 March 1998 from lsli

13-2 EE 4770 Lecture Transparency. Formatted 8:18, 13 March 1998 from lsli 13-1 13-1 Operating Systems Definition: An operating system is the software that manages resources in a computer. Resources A resource is (usually) hardware that needs to be accessed. There are rules for

More information

Interrupt: (verb) the interruption of a CPU s normal processing...using a mechanism provided for this purpose.

Interrupt: (verb) the interruption of a CPU s normal processing...using a mechanism provided for this purpose. 15-1 Interrupts 15-1 Interrupt: (verb) the interruption of a CPU s normal processing......using a mechanism provided for this purpose. Interrupt: (noun)......(1)aneventthatcausesaninterrupt......(2) the

More information

PROCESS CONTROL BLOCK TWO-STATE MODEL (CONT D)

PROCESS CONTROL BLOCK TWO-STATE MODEL (CONT D) MANAGEMENT OF APPLICATION EXECUTION PROCESS CONTROL BLOCK Resources (processor, I/O devices, etc.) are made available to multiple applications The processor in particular is switched among multiple applications

More information

The Kernel Abstraction. Chapter 2 OSPP Part I

The Kernel Abstraction. Chapter 2 OSPP Part I The Kernel Abstraction Chapter 2 OSPP Part I Kernel The software component that controls the hardware directly, and implements the core privileged OS functions. Modern hardware has features that allow

More information

CPS221 Lecture: Operating System Functions

CPS221 Lecture: Operating System Functions CPS221 Lecture: Operating System Functions Objectives last revised 6/23/10 1. To overview key hardware concepts 2. To iintroduce the process concept 3. To discuss the various kinds of functionality of

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 03 From Programs to Processes Hello. In

More information

Hardware OS & OS- Application interface

Hardware OS & OS- Application interface CS 4410 Operating Systems Hardware OS & OS- Application interface Summer 2013 Cornell University 1 Today How my device becomes useful for the user? HW-OS interface Device controller Device driver Interrupts

More information

Announcement. Exercise #2 will be out today. Due date is next Monday

Announcement. Exercise #2 will be out today. Due date is next Monday Announcement Exercise #2 will be out today Due date is next Monday Major OS Developments 2 Evolution of Operating Systems Generations include: Serial Processing Simple Batch Systems Multiprogrammed Batch

More information

CS 322 Operating Systems Practice Midterm Questions

CS 322 Operating Systems Practice Midterm Questions ! CS 322 Operating Systems 1. Processes go through the following states in their lifetime. time slice ends Consider the following events and answer the questions that follow. Assume there are 5 processes,

More information

The Process Abstraction. CMPU 334 Operating Systems Jason Waterman

The Process Abstraction. CMPU 334 Operating Systems Jason Waterman The Process Abstraction CMPU 334 Operating Systems Jason Waterman How to Provide the Illusion of Many CPUs? Goal: run N processes at once even though there are M CPUs N >> M CPU virtualizing The OS can

More information

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process

More information

Computer architecture. A simplified model

Computer architecture. A simplified model Computer architecture A simplified model Computers architecture One (or several) CPU(s) Main memory A set of devices (peripherals) Interrupts Direct memory access Computers architecture Memory Keyboard

More information

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation Comp 104: Operating Systems Concepts Management Scheduling & Resource Allocation Today OS evolution Introduction to processes OS structure 1 2 Evolution of OS Largely driven by desire to do something useful

More information

CS 31: Intro to Systems Processes. Kevin Webb Swarthmore College March 31, 2016

CS 31: Intro to Systems Processes. Kevin Webb Swarthmore College March 31, 2016 CS 31: Intro to Systems Processes Kevin Webb Swarthmore College March 31, 2016 Reading Quiz Anatomy of a Process Abstraction of a running program a dynamic program in execution OS keeps track of process

More information

Mon Sep 17, 2007 Lecture 3: Process Management

Mon Sep 17, 2007 Lecture 3: Process Management Mon Sep 17, 2007 Lecture 3: Process Management September 19, 2007 1 Review OS mediates between hardware and user software QUIZ: Q: Name three layers of a computer system where the OS is one of these layers.

More information

ELEC 377 Operating Systems. Week 1 Class 2

ELEC 377 Operating Systems. Week 1 Class 2 Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.

More information

Processes. Process Management Chapter 3. When does a process gets created? When does a process gets terminated?

Processes. Process Management Chapter 3. When does a process gets created? When does a process gets terminated? Processes Process Management Chapter 3 1 A process is a program in a state of execution (created but not terminated) Program is a passive entity one on your disk (survivor.class, kelly.out, ) Process is

More information

Computer System Architecture. CMPT 300 Operating Systems I. Summer Segment 3: Computer System Architecture. Melissa O Neill

Computer System Architecture. CMPT 300 Operating Systems I. Summer Segment 3: Computer System Architecture. Melissa O Neill CMPT 300 Operating Systems I Computer System Architecture Summer 1999 disk disk printer tape drives on-line Segment 3: Computer System Architecture CPU disk controller printer controller tape-drive controller

More information

Process Time. Steven M. Bellovin January 25,

Process Time. Steven M. Bellovin January 25, Multiprogramming Computers don t really run multiple programs simultaneously; it just appears that way Each process runs to completion, but intermixed with other processes Process 1 6 ticks Process 2 Process

More information

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications concurrently on all computers in the cluster. Disadvantages:

More information

Lecture 4: Mechanism of process execution. Mythili Vutukuru IIT Bombay

Lecture 4: Mechanism of process execution. Mythili Vutukuru IIT Bombay Lecture 4: Mechanism of process execution Mythili Vutukuru IIT Bombay Low-level mechanisms How does the OS run a process? How does it handle a system call? How does it context switch from one process to

More information

Notes Interrupts and Exceptions. The book uses exception as a general term for all interrupts...

Notes Interrupts and Exceptions. The book uses exception as a general term for all interrupts... 08 1 Interrupts and Exceptions 08 1 Notes The book uses exception as a general term for all interrupts...... in these notes interrupt is used as the general term...... and a narrower definition is used

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and

More information

Chapter 3 Process Description and Control

Chapter 3 Process Description and Control Operating Systems: Internals and Design Principles Chapter 3 Process Description and Control Seventh Edition By William Stallings Operating Systems: Internals and Design Principles The concept of process

More information

Computer Systems II. First Two Major Computer System Evolution Steps

Computer Systems II. First Two Major Computer System Evolution Steps Computer Systems II Introduction to Processes 1 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent processes) 2 1 At First (1945 1955) In the beginning,

More information

Operating System Control Structures

Operating System Control Structures Operating System Control Structures Information about the current status of each process and resource Tables are constructed for each entity the operating system manages 26 Memory Tables Allocation of

More information

Introduction to OS Processes in Unix, Linux, and Windows MOS 2.1 Mahmoud El-Gayyar

Introduction to OS Processes in Unix, Linux, and Windows MOS 2.1 Mahmoud El-Gayyar Introduction to OS Processes in Unix, Linux, and Windows MOS 2.1 Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Introduction to OS 1 Processes in Unix, Linux, and Windows Unix pre-empted

More information

THE PROCESS ABSTRACTION. CS124 Operating Systems Winter , Lecture 7

THE PROCESS ABSTRACTION. CS124 Operating Systems Winter , Lecture 7 THE PROCESS ABSTRACTION CS124 Operating Systems Winter 2015-2016, Lecture 7 2 The Process Abstraction Most modern OSes include the notion of a process Term is short for a sequential process Frequently

More information

Introduction. CS3026 Operating Systems Lecture 01

Introduction. CS3026 Operating Systems Lecture 01 Introduction CS3026 Operating Systems Lecture 01 One or more CPUs Device controllers (I/O modules) Memory Bus Operating system? Computer System What is an Operating System An Operating System is a program

More information

CS 111. Operating Systems Peter Reiher

CS 111. Operating Systems Peter Reiher Operating System Principles: Processes, Execution, and State Operating Systems Peter Reiher Page 1 Outline What are processes? How does an operating system handle processes? How do we manage the state

More information

Architectural Support for Operating Systems

Architectural Support for Operating Systems OS and Architectures Architectural Support for Operating Systems Emin Gun Sirer What an OS can do is dictated, at least in part, by the architecture. Architecture support can greatly simplify (or complicate)

More information

Processes. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Processes. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Processes Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu OS Internals User space shell ls trap shell ps Kernel space File System Management I/O

More information

CSC 2405: Computer Systems II

CSC 2405: Computer Systems II CSC 2405: Computer Systems II Dr. Mirela Damian http://www.csc.villanova.edu/~mdamian/csc2405/ Spring 2016 Course Goals: Look under the hood Help you learn what happens under the hood of computer systems

More information

Lecture 2: September 9

Lecture 2: September 9 CMPSCI 377 Operating Systems Fall 2010 Lecture 2: September 9 Lecturer: Prashant Shenoy TA: Antony Partensky & Tim Wood 2.1 OS & Computer Architecture The operating system is the interface between a user

More information

Processes and Threads

Processes and Threads Processes and Threads 1 Learning Outcomes An understanding of fundamental concepts of processes and threads 2 Major Requirements of an Operating System Interleave the execution of several processes to

More information

A process. the stack

A process. the stack A process Processes Johan Montelius What is a process?... a computation KTH 2017 a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other processes

More information

by Marina Cholakyan, Hyduke Noshadi, Sepehr Sahba and Young Cha

by Marina Cholakyan, Hyduke Noshadi, Sepehr Sahba and Young Cha CS 111 Scribe Notes for 4/11/05 by Marina Cholakyan, Hyduke Noshadi, Sepehr Sahba and Young Cha Processes What is a process? A process is a running instance of a program. The Web browser you're using to

More information

2 Processes. 2 Processes. 2 Processes. 2.1 The Process Model. 2.1 The Process Model PROCESSES OPERATING SYSTEMS

2 Processes. 2 Processes. 2 Processes. 2.1 The Process Model. 2.1 The Process Model PROCESSES OPERATING SYSTEMS OPERATING SYSTEMS PROCESSES 2 All modern computers often do several things at the same time. A modern operating system sees each software as a process. When a user PC is booted, many processes are secretly

More information

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture Last 2 Classes: Introduction to Operating Systems & C++ tutorial User apps OS Virtual machine interface hardware physical machine interface An operating system is the interface between the user and the

More information

OPERATING SYSTEM OVERVIEW

OPERATING SYSTEM OVERVIEW OPERATING SYSTEM OVERVIEW Contents Basic hardware elements Interrupts Most I/O devices are much slower than the processor Active waiting cycle (polling) Interrupt request signal Interrupt mechanism An

More information

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski Operating Systems Design Fall 2010 Exam 1 Review Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 To a programmer, a system call looks just like a function call. Explain the difference in the underlying

More information

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests

More information

The Kernel Abstraction

The Kernel Abstraction The Kernel Abstraction Debugging as Engineering Much of your time in this course will be spent debugging In industry, 50% of software dev is debugging Even more for kernel development How do you reduce

More information

Introduction to Computer Systems

Introduction to Computer Systems CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech

More information

Computer System Overview

Computer System Overview Computer System Overview Introduction A computer system consists of hardware system programs application programs 2 Operating System Provides a set of services to system users (collection of service programs)

More information

Processes. CS3026 Operating Systems Lecture 05

Processes. CS3026 Operating Systems Lecture 05 Processes CS3026 Operating Systems Lecture 05 Dispatcher Admit Ready Queue Dispatch Processor Release Timeout or Yield Event Occurs Blocked Queue Event Wait Implementation: Using one Ready and one Blocked

More information

REVIEW OF COMMONLY USED DATA STRUCTURES IN OS

REVIEW OF COMMONLY USED DATA STRUCTURES IN OS REVIEW OF COMMONLY USED DATA STRUCTURES IN OS NEEDS FOR EFFICIENT DATA STRUCTURE Storage complexity & Computation complexity matter Consider the problem of scheduling tasks according to their priority

More information

Processes. OS Structure. OS Structure. Modes of Execution. Typical Functions of an OS Kernel. Non-Kernel OS. COMP755 Advanced Operating Systems

Processes. OS Structure. OS Structure. Modes of Execution. Typical Functions of an OS Kernel. Non-Kernel OS. COMP755 Advanced Operating Systems OS Structure Processes COMP755 Advanced Operating Systems An OS has many parts. The Kernel is the core of the OS. It controls the execution of the system. Many OS features run outside of the kernel, such

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013 CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013 TOPICS TODAY I/O Architectures Interrupts Exceptions FETCH EXECUTE CYCLE 1.7 The von Neumann Model This is a general

More information

NAME: KEY (FIRST NAME FIRST) TOTAL:

NAME: KEY (FIRST NAME FIRST) TOTAL: NAME: KEY (FIRST NAME FIRST) TOTAL: COSC 3360/6310 FIRST QUIZ FEBRUARY 22, 2016 This exam is closed book. You can have one page of notes. UH expels cheaters. 1. Match each of the following features with

More information

Processes. Johan Montelius KTH

Processes. Johan Montelius KTH Processes Johan Montelius KTH 2017 1 / 47 A process What is a process?... a computation a program i.e. a sequence of operations a set of data structures a set of registers means to interact with other

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Seventh Edition By William Stallings Objectives of Chapter To provide a grand tour of the major computer system components:

More information

OS lpr. www. nfsd gcc emacs ls 1/27/09. Process Management. CS 537 Lecture 3: Processes. Example OS in operation. Why Processes? Simplicity + Speed

OS lpr. www. nfsd gcc emacs ls 1/27/09. Process Management. CS 537 Lecture 3: Processes. Example OS in operation. Why Processes? Simplicity + Speed Process Management CS 537 Lecture 3: Processes Michael Swift This lecture begins a series of topics on processes, threads, and synchronization Today: processes and process management what are the OS units

More information

Course: Operating Systems Instructor: M Umair. M Umair

Course: Operating Systems Instructor: M Umair. M Umair Course: Operating Systems Instructor: M Umair Process The Process A process is a program in execution. A program is a passive entity, such as a file containing a list of instructions stored on disk (often

More information

Dan Noé University of New Hampshire / VeloBit

Dan Noé University of New Hampshire / VeloBit Dan Noé University of New Hampshire / VeloBit A review of how the CPU works The operating system kernel and when it runs User and kernel mode Device drivers Virtualization of memory Virtual memory Paging

More information

Unit 2 : Computer and Operating System Structure

Unit 2 : Computer and Operating System Structure Unit 2 : Computer and Operating System Structure Lesson 1 : Interrupts and I/O Structure 1.1. Learning Objectives On completion of this lesson you will know : what interrupt is the causes of occurring

More information

CS 537 Lecture 2 - Processes

CS 537 Lecture 2 - Processes CS 537 Lecture 2 - Processes Michael Swift 1 Basic Structure Kernel is a big program that starts when you boot your program Has full access to physical hardware. User programs, utilities, services see

More information

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Processes and Non-Preemptive Scheduling. Otto J. Anshus Processes and Non-Preemptive Scheduling Otto J. Anshus Threads Processes Processes Kernel An aside on concurrency Timing and sequence of events are key concurrency issues We will study classical OS concurrency

More information

Sistemi in Tempo Reale

Sistemi in Tempo Reale Laurea Specialistica in Ingegneria dell'automazione Sistemi in Tempo Reale Giuseppe Lipari Introduzione alla concorrenza Fundamentals Algorithm: It is the logical procedure to solve a certain problem It

More information

* What are the different states for a task in an OS?

* What are the different states for a task in an OS? * Kernel, Services, Libraries, Application: define the 4 terms, and their roles. The kernel is a computer program that manages input/output requests from software, and translates them into data processing

More information

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2.

Computer System Overview OPERATING SYSTEM TOP-LEVEL COMPONENTS. Simplified view: Operating Systems. Slide 1. Slide /S2. Slide 2. BASIC ELEMENTS Simplified view: Processor Slide 1 Computer System Overview Operating Systems Slide 3 Main Memory referred to as real memory or primary memory volatile modules 2004/S2 secondary memory devices

More information

Inf2C - Computer Systems Lecture 16 Exceptions and Processor Management

Inf2C - Computer Systems Lecture 16 Exceptions and Processor Management Inf2C - Computer Systems Lecture 16 Exceptions and Processor Management Boris Grot School of Informatics University of Edinburgh Class party! When: Friday, Dec 1 @ 8pm Where: Bar 50 on Cowgate Inf2C Computer

More information

Anne Bracy CS 3410 Computer Science Cornell University

Anne Bracy CS 3410 Computer Science Cornell University Anne Bracy CS 3410 Computer Science Cornell University The slides were originally created by Deniz ALTINBUKEN. P&H Chapter 4.9, pages 445 452, appendix A.7 Manages all of the software and hardware on the

More information

Process Description and Control. Chapter 3

Process Description and Control. Chapter 3 Process Description and Control Chapter 3 Contents Process states Process description Process control Unix process management Process From processor s point of view execute instruction dictated by program

More information

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5.

Lecture Topics. Announcements. Today: Threads (Stallings, chapter , 4.6) Next: Concurrency (Stallings, chapter , 5. Lecture Topics Today: Threads (Stallings, chapter 4.1-4.3, 4.6) Next: Concurrency (Stallings, chapter 5.1-5.4, 5.7) 1 Announcements Make tutorial Self-Study Exercise #4 Project #2 (due 9/20) Project #3

More information

Major Requirements of an OS

Major Requirements of an OS Process CSCE 351: Operating System Kernels Major Requirements of an OS Interleave the execution of several processes to maximize processor utilization while providing reasonable response time Allocate

More information

Roadmap. Tevfik Ko!ar. CSC Operating Systems Fall Lecture - III Processes. Louisiana State University. Processes. September 1 st, 2009

Roadmap. Tevfik Ko!ar. CSC Operating Systems Fall Lecture - III Processes. Louisiana State University. Processes. September 1 st, 2009 CSC 4103 - Operating Systems Fall 2009 Lecture - III Processes Tevfik Ko!ar Louisiana State University September 1 st, 2009 1 Roadmap Processes Basic Concepts Process Creation Process Termination Context

More information

Operating System Review

Operating System Review COP 4225 Advanced Unix Programming Operating System Review Chi Zhang czhang@cs.fiu.edu 1 About the Course Prerequisite: COP 4610 Concepts and Principles Programming System Calls Advanced Topics Internals,

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole The Process Concept 2 The Process Concept Process a program in execution Program - description of how to perform an activity instructions and static

More information

2.5 Hardware Protection

2.5 Hardware Protection 2.5 Hardware Protection 2.5.1 Dual-Mode Operation To ensure proper operation, we must protect the operating system and all other programs and their data from any malfunctioning program. Protection is needed

More information

(Refer Slide Time: 1:26)

(Refer Slide Time: 1:26) Information Security-3 Prof. V Kamakoti Department of Computer science and Engineering Indian Institute of Technology Madras Basics of Unix and Network Administration Operating Systems Introduction Mod01,

More information

Lecture 2 - Fundamental Concepts

Lecture 2 - Fundamental Concepts Lecture 2 - Fundamental Concepts Instructor : Bibhas Ghoshal (bibhas.ghoshal@iiita.ac.in) Autumn Semester, 2015 Bibhas Ghoshal IOSY 332C & IOPS 332C: OS Autumn Semester, 2015 1 / 43 Lecture Outline Operating

More information

Operating System. Chapter 4. Threads. Lynn Choi School of Electrical Engineering

Operating System. Chapter 4. Threads. Lynn Choi School of Electrical Engineering Operating System Chapter 4. Threads Lynn Choi School of Electrical Engineering Process Characteristics Resource ownership Includes a virtual address space (process image) Ownership of resources including

More information

OS: An Overview. ICS332 Operating Systems

OS: An Overview. ICS332 Operating Systems OS: An Overview ICS332 Operating Systems Why are we studying this? After all, you probably will not develop an OS Important to understand what you use: Develop better (apps); What can and cannot be done;

More information

Today: Computer System Overview (Stallings, chapter ) Next: Operating System Overview (Stallings, chapter ,

Today: Computer System Overview (Stallings, chapter ) Next: Operating System Overview (Stallings, chapter , Lecture Topics Today: Computer System Overview (Stallings, chapter 1.1-1.8) Next: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) 1 Announcements Syllabus and calendar available Consulting

More information

Processes Prof. James L. Frankel Harvard University. Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved.

Processes Prof. James L. Frankel Harvard University. Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Processes Prof. James L. Frankel Harvard University Version of 6:16 PM 10-Feb-2017 Copyright 2017, 2015 James L. Frankel. All rights reserved. Process Model Each process consists of a sequential program

More information

Unix Processes. What is a Process?

Unix Processes. What is a Process? Unix Processes Process -- program in execution shell spawns a process for each command and terminates it when the command completes Many processes all multiplexed to a single processor (or a small number

More information

Learning Outcomes. Processes and Threads. Major Requirements of an Operating System. Processes and Threads

Learning Outcomes. Processes and Threads. Major Requirements of an Operating System. Processes and Threads Learning Outcomes Processes and Threads An understanding of fundamental concepts of processes and threads 1 2 Major Requirements of an Operating System Interleave the execution of several processes to

More information

Address spaces and memory management

Address spaces and memory management Address spaces and memory management Review of processes Process = one or more threads in an address space Thread = stream of executing instructions Address space = memory space used by threads Address

More information

Computer System Overview. Chapter 1

Computer System Overview. Chapter 1 Computer System Overview Chapter 1 Operating System Exploits the hardware resources of one or more processors Provides a set of services to system users Manages secondary memory and I/O devices Basic Elements

More information

-Device. -Physical or virtual thing that does something -Software + hardware to operate a device (Controller runs port, Bus, device)

-Device. -Physical or virtual thing that does something -Software + hardware to operate a device (Controller runs port, Bus, device) Devices -Host -CPU -Device -Controller device) +memory +OS -Physical or virtual thing that does something -Software + hardware to operate a device (Controller runs port, Bus, Communication -Registers -Control

More information

OS lpr. www. nfsd gcc emacs ls 9/18/11. Process Management. CS 537 Lecture 4: Processes. The Process. Why Processes? Simplicity + Speed

OS lpr. www. nfsd gcc emacs ls 9/18/11. Process Management. CS 537 Lecture 4: Processes. The Process. Why Processes? Simplicity + Speed Process Management CS 537 Lecture 4: Processes Today: processes and process management what are the OS units of execution? how are they represented inside the OS? how is the CPU scheduled across processes?

More information

Linux Operating System

Linux Operating System Linux Operating System Dept. of Computer Science & Engineering 1 History Linux is a modern, free operating system based on UNIX standards. First developed as a small but self-contained kernel in 1991 by

More information

Processes. Dr. Yingwu Zhu

Processes. Dr. Yingwu Zhu Processes Dr. Yingwu Zhu Process Growing Memory Stack expands automatically Data area (heap) can grow via a system call that requests more memory - malloc() in c/c++ Entering the kernel (mode) Hardware

More information

Process Scheduling Queues

Process Scheduling Queues Process Control Process Scheduling Queues Job queue set of all processes in the system. Ready queue set of all processes residing in main memory, ready and waiting to execute. Device queues set of processes

More information

Background: Operating Systems

Background: Operating Systems Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M030 9 th October 2015 Outline Goals of an operating system Sketch of UNIX User processes, kernel Process-kernel communication Waiting

More information

Processes and Threads. Processes and Threads. Processes (2) Processes (1)

Processes and Threads. Processes and Threads. Processes (2) Processes (1) Processes and Threads (Topic 2-1) 2 홍성수 Processes and Threads Question: What is a process and why is it useful? Why? With many things happening at once in a system, need some way of separating them all

More information

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 18

CS24: INTRODUCTION TO COMPUTING SYSTEMS. Spring 2018 Lecture 18 CS24: INTRODUCTION TO COMPUTING SYSTEMS Spring 2018 Lecture 18 LAST TIME: OVERVIEW Expanded on our process abstraction A special control process manages all other processes Uses the same process abstraction

More information

OPERATING SYSTEMS CS136

OPERATING SYSTEMS CS136 OPERATING SYSTEMS CS136 Jialiang LU Jialiang.lu@sjtu.edu.cn Based on Lecture Notes of Tanenbaum, Modern Operating Systems 3 e, 1 Chapter 5 INPUT/OUTPUT 2 Overview o OS controls I/O devices => o Issue commands,

More information

CS 550 Operating Systems Spring Interrupt

CS 550 Operating Systems Spring Interrupt CS 550 Operating Systems Spring 2019 Interrupt 1 Revisit -- Process MAX Stack Function Call Arguments, Return Address, Return Values Kernel data segment Kernel text segment Stack fork() exec() Heap Data

More information

ENGR 3950U / CSCI 3020U Midterm Exam SOLUTIONS, Fall 2012 SOLUTIONS

ENGR 3950U / CSCI 3020U Midterm Exam SOLUTIONS, Fall 2012 SOLUTIONS SOLUTIONS ENGR 3950U / CSCI 3020U (Operating Systems) Midterm Exam October 23, 2012, Duration: 80 Minutes (10 pages, 12 questions, 100 Marks) Instructor: Dr. Kamran Sartipi Question 1 (Computer Systgem)

More information

www nfsd emacs lpr Process Management CS 537 Lecture 4: Processes Example OS in operation Why Processes? Simplicity + Speed

www nfsd emacs lpr Process Management CS 537 Lecture 4: Processes Example OS in operation Why Processes? Simplicity + Speed Process Management CS 537 Lecture 4: Processes Michael Swift This lecture begins a series of topics on processes, threads, and synchronization Today: processes and process management what are the OS units

More information

Main Memory (Part I)

Main Memory (Part I) Main Memory (Part I) Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Main Memory 1393/8/5 1 / 47 Motivation and Background Amir

More information

Operating System Services

Operating System Services CSE325 Principles of Operating Systems Operating System Services David Duggan dduggan@sandia.gov January 22, 2013 Reading Assignment 3 Chapter 3, due 01/29 1/23/13 CSE325 - OS Services 2 What Categories

More information

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs Third Generation Batch Multiprogramming Misc. Problem: but I/O still expensive; can happen in middle of job Idea: have a pool of ready jobs in memory, switch to one when another needs I/O When one job

More information

Q.1 Explain Computer s Basic Elements

Q.1 Explain Computer s Basic Elements Q.1 Explain Computer s Basic Elements Ans. At a top level, a computer consists of processor, memory, and I/O components, with one or more modules of each type. These components are interconnected in some

More information

Anne Bracy CS 3410 Computer Science Cornell University

Anne Bracy CS 3410 Computer Science Cornell University Anne Bracy CS 3410 Computer Science Cornell University The slides were originally created by Deniz ALTINBUKEN. P&H Chapter 4.9, pages 445 452, appendix A.7 Manages all of the software and hardware on the

More information

TCSS 422: OPERATING SYSTEMS

TCSS 422: OPERATING SYSTEMS TCSS 422: OPERATING SYSTEMS fork() Process API, Limited Direct Execution Wes J. Lloyd Institute of Technology University of Washington - Tacoma Creates a new process - think of a fork in the road Parent

More information

OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions).

OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions). OS 1 st Exam Name Solution St # (Q1) (19 points) True/False. Circle the appropriate choice (there are no trick questions). (a) (b) (c) (d) (e) (f) (g) (h) (i) T_ The two primary purposes of an operating

More information

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst Operating Systems CMPSCI 377 Spring 2017 Mark Corner University of Massachusetts Amherst Last Class: Intro to OS An operating system is the interface between the user and the architecture. User-level Applications

More information