CSCI 447 Operating Systems Filip Jagodzinski

Size: px
Start display at page:

Download "CSCI 447 Operating Systems Filip Jagodzinski"

Transcription

1 Filip Jagodzinski

2 Norms Q1: Num Programs written Q2: Semaphores provide a get() function Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class Q5: Use of computer prior to age 6?

3 Norms Average : Q1: Num Programs written : Average excluding 2 outliers : 9 Q2: Semaphores provide a get() function Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class Q5: Use of computer prior to age 6?

4 Norms Average : Q1: Num Programs written : Average excluding 2 outliers : 9 Q2: Semaphores provide a get() function : True : 8, False : 10, Unsure : 19 Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class Q5: Use of computer prior to age 6?

5 Norms Average : Q1: Num Programs written : Average excluding 2 outliers : 9 Q2: Semaphores provide a get() function : True : 8, False : 10, Unsure : 19 Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class Q5: Use of computer prior to age 6?

6 Norms Average : Q1: Num Programs written : Average excluding 2 outliers : 9 Q2: Semaphores provide a get() function : True : 8, False : 10, Unsure : 19 Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class Q5: Use of computer prior to age 6?

7 Norms Average : Q1: Num Programs written : Average excluding 2 outliers : 9 Q2: Semaphores provide a get() function : True : 8, False : 10, Unsure : 19 Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class : required, further understanding of arch., to learn Q5: Use of computer prior to age 6?

8 Norms Average : Q1: Num Programs written : Average excluding 2 outliers : 9 Q2: Semaphores provide a get() function : True : 8, False : 10, Unsure : 19 Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class : required, further understanding of arch., to learn Q5: Use of computer prior to age 6? Yes : 17, No : 20

9 Norms gcc o myprogram someprog.c makefile git checkout b version1.3

10 Norms -o refers to output, not object gcc o myprogram someprog.c makefile git checkout b version1.3 Only a few of you used the word target Only 3 people knew what b refers to

11 Norms Average : 8.7 Q1: Num Programs written : What is the point in me asking these questions? Agreement : Q2: Semaphores provide a get() function : True : 10, False : 4, Unsure : 7 Q3: Dream Job : computer penetration tester, security, democratic electoral system design, machine learning for NASA, work for streaming company, game programming, peel screen protectors off of phones, SpaceX, Q4: Why taking class : required, further understanding of arch., to learn Q5: Use of computer prior to age 6? Yes : 15, No : 13

12 Announcements Homework 1 Will be posted this weekend An extension of Lab 1 Per the instructions, create a new branch for homework1, and submit your code to the branch for grading Submission of your answers to the book questions is via Canvas. Collaboration

13 Announcements Homework 1 Will be posted this weekend An extension of Lab 1 Per the instructions, create a new branch for homework1, and submit your code to the branch for grading Submission of your answers to the book questions is via Canvas. Collaboration yes no Q: Can you work with a peer in writing a makefile for code not assigned for homework 1? Q: Can you exchange.k and.h homework files with a peer? Q: Can you brainstorm on a white board with a peer, and take a photo? Q: Can you brainstorm on a white board with a peer, then erase it all?

14 Announcements Homework 1 Will be posted this weekend An extension of Lab 1 Per the instructions, create a new branch for homework1, and submit your code to the branch for grading Submission of your answers to the book questions is via Canvas. Collaboration Yes No No Yes Q: Can you work with a peer in writing a makefile for code not assigned for homework 1? Q: Can you exchange.k and.h homework files with a peer? Q: Can you brainstorm on a white board with a peer, and take a photo? Q: Can you brainstorm on a white board with a peer, then erase it all?

15 Announcements Reminders Do the recommended readings The lecture slides complement and not supplement the recommended readings

16 Review user user user user gcc emacs atom Chromium Programs DB Operating System Computer Hardware

17 Review Q: What problem does the OS solve? user user user user gcc emacs atom Chromium Programs DB Operating System Computer Hardware

18 Review Q: What problem does the OS solve? Q: What is the kernel, and where is it stored? user user user user gcc emacs atom Chromium Programs DB Operating System Computer Hardware

19 Review Q: What problem does the OS solve? Q: What is the kernel, and where is it stored? user user user user gcc emacs atom Chromium Programs DB Operating System Computer Hardware Device Device CPU Controller Controller Device adapters memory ROM, EEPROM (firmware) ROM = read only memory EEPROM = electrically erasable programmable read-only memory

20 Review

21 Review y = 3 x = 2 y = y + x

22 Review time user A process System call Return from system call kernel Execute system call Mode bit : 0 / 1

23 In-class exercise

24 Today Finish Chapter 1 (intro) Begin Chapter 2

25 Operating System OS : provides the environment within which programs are executed. Non technical definition : an OS is a program that runs other programs

26 Operating System OS : provides the environment within which programs are executed. Non technical definition : an OS is a program that runs other programs My goal today : convince you that and OS is just another collection of smaller programs.. aka programs that are made of up functions programs that somebody else (humans!) wrote, that collectively manage and orchestrate the use of compute resource When you hear me make this claim what is your instinctual first question? think back to CSCI141 you saw the demo of hello world then what?

27 Operating System OS : provides the environment within which programs are executed. Non technical definition : an OS is a program that runs other programs My goal today : convince you that and OS is just another collection of smaller programs.. aka programs that are made of up functions programs that somebody else (humans!) wrote, that collectively manage and orchestrate the use of compute resource If an OS is just another program (or set of programs), then where is the source code? Where is the code?

28 Operating System OS : provides the environment within which programs are executed. Non technical definition : an OS is a program that runs other programs My goal today : convince you that and OS is just another collection of smaller programs.. aka programs that are made of up functions programs that somebody else (humans!) wrote, that collectively manage and orchestrate the use of compute resource First how do you detect what OS you have on your computer?

29 Operating System OS : provides the environment within which programs are executed. Non technical definition : an OS is a program that runs other programs My goal today : convince you that and OS is just another collection of smaller programs.. aka programs that are made of up functions programs that somebody else (humans!) wrote, that collectively manage and orchestrate the use of compute resource First how do you detect what OS you have on your computer? uname man uname uname o uname -r

30 Operating System OS : provides the environment within which programs are executed. Non technical definition : an OS is a program that runs other programs My goal today : convince you that and OS is just another collection of smaller programs.. aka programs that are made of up functions programs that somebody else (humans!) wrote, that collectively manage and orchestrate the use of compute resource If an OS is just another program (or set of programs), then where is the source code? Where is the code? In addition to libraries, source code, etc., /usr/include/sys/queue.h /usr/include/x86_64-linux-gnu/sys...

31 Operating System Structure Structure as in, organization, and not data structure

32 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run)

33 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time

34 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5

35 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool Q: If several jobs are kept in memory does that mean that all of them are running at the same time? 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5

36 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool Q: If several jobs are kept in memory does that mean that all of them are running at the same time? To answer this question, let s ask another one how long does it take to retrieve information from the hard drive versus registers? 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5

37 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool OS picks one of the jobs in memory to execute When a job is waiting for an I/O operation, the OS switches to another job 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5

38 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool OS picks one of the jobs in memory to execute 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5 Already several important concepts should be apparent, which we ll talk about in future weeks When a job is waiting for an I/O operation, the OS switches to another job

39 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool OS picks one of the jobs in memory to execute When a job is waiting for an I/O operation, the OS switches to another job 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5 Already several important concepts should be apparent, which we ll talk about in future weeks Security Q: What security vulnerability might you want to prevent if job 2 is skype, and job 4 is firefox?

40 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool OS picks one of the jobs in memory to execute When a job is waiting for an I/O operation, the OS switches to another job 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5 Already several important concepts should be apparent, which we ll talk about in future weeks Job scheduling & synchronization & fair use of resources (timer -> interrupt) Q: Who should go next? Job 3 or 1?

41 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool OS picks one of the jobs in memory to execute When a job is waiting for an I/O operation, the OS switches to another job 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5 Already several important concepts should be apparent, which we ll talk about in future weeks Swapping/Virtual memory Job 5 is selected to go next where in cache should it be placed? and what?

42 Operating System Structure Multiprogramming : goal : increases CPU utilization by ensuring that the CPU has always something to execute (code to run) Several jobs are kept in memory Memory Hierarchy not all jobs can be in memory at one time Hence the use of a job pool OS picks one of the jobs in memory to execute When a job is waiting for an I/O operation, the OS switches to another job 0 max OS Job 1 Job 2 Job 3 Job 4 Job 5 Already several important concepts should be apparent, which we ll talk about in future weeks Swapping/Virtual memory Job 5 is selected to go next where in cache should it be placed? and what should be done with the data/program in the cache location that is evicted??

43 Operating System Kernel Data Structures The queues, stacks, heaps, trees, etc. that you learned about in CSCI145, 241, 301, etc., are in use by the OS to enable process management, memory management, storage management, protection and security, etc.

44 Operating System Kernel Data Structures The queues, stacks, heaps, trees, etc. that you learned about in CSCI145, 241, 301, etc., are in use by the OS to enable process management, memory management, storage management, protection and security, etc. 30 second on-the board review of queues, stacks, heaps, trees FIFO LIFO Binary Hashing Bitmaps /usr/include/sys/queue.h

45 Operating System Structures Start of Chapter 2

46 Operating System Structures (yet) another few definition of an OS An OS provides services for programs (users) to access compute resources An OS provides interfaces for users and programmers to write software which utilizes compute resources An OS is a collection of components and their interconnections

47 Operating System Structures

48 Operating System Structures (programs/software) user interface system calls services (hardware)

49 Operating System Structures (programs/software) user interface system calls Task : List three modes by which programs invoke system calls services (hardware)

50 Operating System Structures (programs/software) GUI batch user interface Command line system calls services (hardware)

51 Operating System Structures (programs/software) Q: What are the services that we want an OS to provide? On-the-board brainstorming GUI batch user interface system calls Command line services (hardware)

52 Operating System Structures (programs/software) Program Execution : load program into memory and run it I/O operations : send data to screen, send data to speaker, send data to/from a file GUI batch user interface system calls Command line File systems : create a file, delete a file, add to a file, etc. services (hardware)

53 Operating System Structures (programs/software) Program Execution : load program into memory and run it I/O operations : send data to screen, send data to speaker, send data to/from a file GUI batch user interface system calls Command line File systems : create a file, delete a file, add to a file, etc. Communications Q: How might one process communicate with another? services (hardware)

54 Operating System Structures (programs/software) Program Execution : load program into memory and run it I/O operations : send data to screen, send data to speaker, send data to/from a file GUI batch user interface system calls Command line File systems : create a file, delete a file, add to a file, etc. Communications : via shared memory services myvar = 32 Process 1 Process 2 (hardware)

55 Operating System Structures (programs/software) Program Execution : load program into memory and run it I/O operations : send data to screen, send data to speaker, send data to/from a file GUI batch user interface system calls Command line File systems : create a file, delete a file, add to a file, etc. Communications : via shared memory or via message (packet) passing Packet 4325 Payload : 32 Process 1 Process 2 services (hardware)

56 Operating System Structures (programs/software) Program Execution : load program into memory and run it I/O operations : send data to screen, send data to speaker, send data to/from a file GUI batch user interface system calls Command line File systems : create a file, delete a file, add to a file, etc. Communications : via shared memory or via message (packet) passing Services for the user services Error detection : should be able to detect and effectively respond to any type of error (hardware)

57 Operating System Structures (programs/software) Resource allocation Accounting GUI batch user interface system calls Command line Protection and security Services for the user Services for efficient system operation services Task : define each of these terms what is the utility of the OS having/enabling each of these capabilities? (hardware)

58 Operating System Structures (programs/software) Resource allocation Scheduling algorithms Accounting GUI batch user interface system calls Command line Protection and security Services for the user Services for efficient system operation services (hardware)

59 Operating System Structures (programs/software) Resource allocation Scheduling algorithms Accounting Which user/process uses how much of a specific resource GUI batch user interface system calls Command line Q: What three types of quantities and/or resources does this refer to? Protection and security Services for the user Services for efficient system operation services (hardware)

60 Operating System Structures (programs/software) Resource allocation Scheduling algorithms Accounting Which user/process uses how much of a specific resource GUI batch user interface system calls Command line time, space, fair access to a shared resource Protection and security Services for the user Services for efficient system operation services (hardware)

61 Operating System Structures (programs/software) Resource allocation Scheduling algorithms Accounting Which user/process uses how much of a specific resource GUI batch user interface system calls Command line time, space, fair access to a shared resource Protection and security In a multiuser system one user/process might not want to make available its data to another (Skype and Firefox running concurrently) Services for the user Services for efficient system operation services (hardware)

62 Operating System Structures (programs/software) GUI batch user interface Command line system calls Each button/action has registered to it a code or series of commands when a button/folder is clicked, that code is executed, which issues a system call services (hardware)

63 Operating System Structures (programs/software) GUI batch user interface Command line system calls if you wanted to design your own OS as a first step, you d need to become familiar with the interface that the OS provides what system calls does the OS permit? abstractly, this is equivalent to you using NetBeans, or atom, or jgrasp, etc. which interface with the java virtual machine services (hardware)

64 Operating System Structures (programs/software) mkdir mydir When a user interacts with the OS via a command line, the behavior is a bit different, but conceptually, the idea is the same as when using a GUI GUI batch user interface system calls Command line Assume the above mkdir command is issued services (hardware)

65 Operating System Structures (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted GUI batch user interface system calls Command line Q: What does it mean for something to be interpreted? services (hardware)

66 Operating System Structures (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted GUI batch user interface system calls Command line Q: What does it mean for something to be interpreted? Context-free grammar Parsing Production rules Etc. services (hardware)

67 Operating System Structures (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Two approaches GUI batch user interface system calls Command line 1. The command interpreter itself can execute the command services In this case, the interpreter parses the mkdir command, makes sure the correct argument(s) is/are specified, and issues the appropriate system call (hardware)

68 Operating System Structures (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Two approaches GUI batch user interface system calls Command line 2. The command interpreter has no knowledge of what the command does, but instead launches a system program Q: What is the program that is launched in this case, and what is the argument? services (hardware)

69 Operating System Structures program argument (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Two approaches GUI batch user interface system calls Command line 2. The command interpreter has no knowledge of what the command does, but instead launches a system program Q: What is the program that is launched in this case, and what is the argument? services (hardware)

70 Operating System Structures program argument (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Two approaches GUI batch user interface system calls Command line 2. The command interpreter has no knowledge of what the command does, but instead launches a system program Q: Where are these programs located? services (hardware)

71 Operating System Structures program argument (programs/software) mkdir mydir When a command line instruction is issued the command must be interpreted Two approaches GUI batch user interface system calls Command line 2. The command interpreter has no knowledge of what the command does, but instead launches a system program Q: Where are these programs located? Multiple locations, including /usr/include/x86_64-linux-gnu/sys/ services (hardware)

72 Up Next Chapter 2, System Calls Chapter 3, Processes

CSCI 447 Operating Systems Filip Jagodzinski

CSCI 447 Operating Systems Filip Jagodzinski Filip Jagodzinski Announcements Homework 1 An extension of Lab 1 Big picture : for Homework 1 and 2, we ll focus on the lowlevel mechanics of the OS. Per the instructions, create a new branch in your gitlab

More information

CSCI 447 Operating Systems Filip Jagodzinski

CSCI 447 Operating Systems Filip Jagodzinski Filip Jagodzinski Announcements Lab 1 This Monday, in CF420 during lecture time git, kpl, blitz, etc. primer PRIOR to the lab, please read the 7 page blitz overview document available on the course website

More information

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu CPSC 341 OS & Networks Introduction Dr. Yingwu Zhu What to learn? Concepts Processes, threads, multi-processing, multithreading, synchronization, deadlocks, CPU scheduling, networks, security Practice:

More information

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie

OPERATING SYSTEMS. COMS W1001 Introduction to Information Science. Boyi Xie 1 OPERATING SYSTEMS COMS W1001 Introduction to Information Science Boyi Xie 2 Announcement Homework 1 is available Grace days A total of 5 days for 5 HWs If all grace days have been used, 50% of the points

More information

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1 ITS 225: Operating Systems Operating Systems Lecture 1 Introduction & Overview Jan 15, 2004 Dr. Matthew Dailey Information Technology Program Sirindhorn International Institute of Technology Thammasat

More information

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems Processes CS 475, Spring 2018 Concurrent & Distributed Systems Review: Abstractions 2 Review: Concurrency & Parallelism 4 different things: T1 T2 T3 T4 Concurrency: (1 processor) Time T1 T2 T3 T4 T1 T1

More information

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5)

Announcements. Reading. Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) CMSC 412 S14 (lect 5) Announcements Reading Project #1 due in 1 week at 5:00 pm Scheduling Chapter 6 (6 th ed) or Chapter 5 (8 th ed) 1 Relationship between Kernel mod and User Mode User Process Kernel System Calls User Process

More information

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry

Saint Louis University. Intro to Linux and C. CSCI 2400/ ECE 3217: Computer Architecture. Instructors: David Ferry Intro to Linux and C CSCI 2400/ ECE 3217: Computer Architecture Instructors: David Ferry 1 Overview Linux C Hello program in C Compiling 2 History of Linux Way back in the day: Bell Labs Unix Widely available

More information

Lecture 9: Midterm Review

Lecture 9: Midterm Review Project 1 Due at Midnight Lecture 9: Midterm Review CSE 120: Principles of Operating Systems Alex C. Snoeren Midterm Everything we ve covered is fair game Readings, lectures, homework, and Nachos Yes,

More information

1. Draw and explain program flow of control without and with interrupts. [16]

1. Draw and explain program flow of control without and with interrupts. [16] Code No: R05310503 Set No. 1 1. Draw and explain program flow of control without and with interrupts. [16] 2. Explain the following transitions: (a) Blocked Blocked/Suspended. (b) Blocked/Suspended Ready/Suspended.

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 Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter

Lecture Topics. Announcements. Today: Advanced Scheduling (Stallings, chapter ) Next: Deadlock (Stallings, chapter Lecture Topics Today: Advanced Scheduling (Stallings, chapter 10.1-10.4) Next: Deadlock (Stallings, chapter 6.1-6.6) 1 Announcements Exam #2 returned today Self-Study Exercise #10 Project #8 (due 11/16)

More information

EECS 482 Introduction to Operating Systems

EECS 482 Introduction to Operating Systems EECS 482 Introduction to Operating Systems Winter 2018 Baris Kasikci barisk@umich.edu (Thanks, Harsha Madhyastha for the slides!) 1 About Me Prof. Kasikci (Prof. K.), Prof. Baris (Prof. Barish) Assistant

More information

Operating Systems (ECS 150) Spring 2011

Operating Systems (ECS 150) Spring 2011 Operating Systems (ECS 150) Spring 2011 Raju Pandey Department of Computer Science University of California, Davis CA 95616 pandey@cs.ucdavis.edu http://www.cs.ucdavis.edu/~pandey Course Objectives After

More information

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 19 Lecture 3: OS model and Architectural Support Last time/today Historic evolution of Operating Systems (and computing!) Today: We start our journey in exploring

More information

CSCI-375 Operating Systems

CSCI-375 Operating Systems CSCI-375 Operating Systems Lecture 2 Note: Many slides and/or pictures in the following are adapted from: slides 2005 Silberschatz, Galvin, and Gagne Some slides and/or pictures in the following are adapted

More information

Introduction to Operating Systems

Introduction to Operating Systems Introduction to Operating Systems Organized By: Assistant Professor CSED, TU V.A. Disclaimer This is NOT A COPYRIGHT MATERIAL Content has been taken mainly from the following books: Operating Systems Concepts

More information

Process. Discussion session 3 1/30/2016

Process. Discussion session 3 1/30/2016 Process Discussion session 3 1/30/2016 A program in execution What is the process? An instance of a program running on a computer The entity can be assigned to and executed on a processor A unit of activity

More information

ECE 3574: Applied Software Design

ECE 3574: Applied Software Design ECE 3574: Applied Software Design Chris Wyatt Spring 2018 Welcome to ECE 3574: Applied Software Design CRN 19016 Website: https://filebox.ece.vt.edu/~ece3574 Instructor: Chris Wyatt, clwyatt@vt.edu Today

More information

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015

Git. CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 Git CSCI 5828: Foundations of Software Engineering Lecture 02a 08/27/2015 1 Lecture Goals Present a brief introduction to git You will need to know git to work on your presentations this semester 2 Git

More information

Lecture 2: Operating System Design. CMPUT 379, Section A1, Winter 2014 Chapter 2: January 8, 10, and, 13

Lecture 2: Operating System Design. CMPUT 379, Section A1, Winter 2014 Chapter 2: January 8, 10, and, 13 Lecture 2: Operating System Design CMPUT 379, Section A1, Winter 2014 Chapter 2: January 8, 10, and, 13 Some important links and deadlines Week-by-week summary You need to get the textbook soon and start

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Dependent on hardware and

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

CSE 153 Design of Operating Systems

CSE 153 Design of Operating Systems CSE 153 Design of Operating Systems Winter 2018 Midterm Review Midterm in class on Monday Covers material through scheduling and deadlock Based upon lecture material and modules of the book indicated on

More information

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1

Introduction to OS. Introduction MOS Mahmoud El-Gayyar. Mahmoud El-Gayyar / Introduction to OS 1 Introduction to OS Introduction MOS 1.1 1.3 Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Mahmoud El-Gayyar / Introduction to OS 1 Why an Operating Systems course? Understanding of inner workings of systems

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

7/20/2008. What Operating Systems Do Computer-System Organization

7/20/2008. What Operating Systems Do Computer-System Organization Introduction to Operating Systems Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

Creating a Shell or Command Interperter Program CSCI411 Lab

Creating a Shell or Command Interperter Program CSCI411 Lab Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell

More information

(MCQZ-CS604 Operating Systems)

(MCQZ-CS604 Operating Systems) command to resume the execution of a suspended job in the foreground fg (Page 68) bg jobs kill commands in Linux is used to copy file is cp (Page 30) mv mkdir The process id returned to the child process

More information

Consistency. CS 475, Spring 2018 Concurrent & Distributed Systems

Consistency. CS 475, Spring 2018 Concurrent & Distributed Systems Consistency CS 475, Spring 2018 Concurrent & Distributed Systems Review: 2PC, Timeouts when Coordinator crashes What if the bank doesn t hear back from coordinator? If bank voted no, it s OK to abort If

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

Lecture 1 Introduction (Chapter 1 of Textbook)

Lecture 1 Introduction (Chapter 1 of Textbook) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides

More information

Introduction CHAPTER. Review Questions

Introduction CHAPTER. Review Questions 1 CHAPTER Introduction Review Questions Section 1.1 1.1 What are the four components of a computer system? 1.2 Provide at least three resources the operating system allocates. 1.3 What is the common name

More information

Advanced Operating Systems (CS 202) Scheduling (1)

Advanced Operating Systems (CS 202) Scheduling (1) Advanced Operating Systems (CS 202) Scheduling (1) Today: CPU Scheduling 2 The Process The process is the OS abstraction for execution It is the unit of execution It is the unit of scheduling It is the

More information

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015 Lecture Course in Autumn Term 2015 University of Birmingham September 22, 2015 Course Details Overview Course Details What is an Operating System? OS Definition and Structure Lecture notes and resources:

More information

Processes and Threads

Processes and Threads COS 318: Operating Systems Processes and Threads Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318 Today s Topics u Concurrency

More information

CONTENTS. Computer-System Structures

CONTENTS. Computer-System Structures CONTENTS PART ONE OVERVIEW Chapter 1 Introduction 1.1 What Is an Operating System? 3 1.2 Simple Batch Systems 6 1.3 Multiprogrammed Batched Systems 8 1.4 Time-Sharing Systems 9 1.5 Personal-Computer Systems

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management

More information

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University

CS 333 Introduction to Operating Systems. Class 3 Threads & Concurrency. Jonathan Walpole Computer Science Portland State University CS 333 Introduction to Operating Systems Class 3 Threads & Concurrency Jonathan Walpole Computer Science Portland State University 1 The Process Concept 2 The Process Concept Process a program in execution

More information

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System? Introduction CSCI 315 Operating Systems Design Department of Computer Science What is an Operating System? A Modern Computer System Computer System Components Disks... Mouse Keyboard Printer 1. Hardware

More information

CS3733: Operating Systems

CS3733: Operating Systems CS3733: Operating Systems Topics: Process (CPU) Scheduling (SGG 5.1-5.3, 6.7 and web notes) Instructor: Dr. Dakai Zhu 1 Updates and Q&A Homework-02: late submission allowed until Friday!! Submit on Blackboard

More information

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg

About Me. Office Hours: Tu 4-5, W 1-2, or by appointment Office: 346A IST Bldg 1 About Me Trent Jaeger (PhD, University of Michigan) Associate Professor, CSE -- after 9 years at IBM Research Research: Operating System Security Example Projects L4 Microkernel -- minimal, high performance

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

CSCI-1200 Data Structures Fall 2009 Lecture 25 Concurrency & Asynchronous Computing

CSCI-1200 Data Structures Fall 2009 Lecture 25 Concurrency & Asynchronous Computing CSCI-1200 Data Structures Fall 2009 Lecture 25 Concurrency & Asynchronous Computing Final Exam General Information The final exam will be held Monday, Dec 21st, 2009, 11:30am-2:30pm, DCC 308. A makeup

More information

CS 241 Data Organization using C

CS 241 Data Organization using C CS 241 Data Organization using C Fall 2018 Instructor Name: Dr. Marie Vasek Contact: Private message me on the course Piazza page. Office: Farris 2120 Office Hours: Tuesday 2-4pm and Thursday 9:30-11am

More information

18-447: Computer Architecture Lecture 16: Virtual Memory

18-447: Computer Architecture Lecture 16: Virtual Memory 18-447: Computer Architecture Lecture 16: Virtual Memory Justin Meza Carnegie Mellon University (with material from Onur Mutlu, Michael Papamichael, and Vivek Seshadri) 1 Notes HW 2 and Lab 2 grades will

More information

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone

More information

2/14/2012. Using a layered approach, the operating system is divided into N levels or layers. Also view as a stack of services

2/14/2012. Using a layered approach, the operating system is divided into N levels or layers. Also view as a stack of services Rensselaer Polytechnic Institute CSC 432 Operating Systems David Goldschmidt, Ph.D. Using a layered approach, the operating system is divided into N levels or layers Layer 0 is the hardware Layer 1 is

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

CS 153 Design of Operating Systems Winter 2016

CS 153 Design of Operating Systems Winter 2016 CS 153 Design of Operating Systems Winter 2016 Lecture 7: Synchronization Administrivia Homework 1 Due today by the end of day Hopefully you have started on project 1 by now? Kernel-level threads (preemptable

More information

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information CSC 4103 - Operating Systems Fall 2009 Lecture - I Introduction Tevfik Ko!ar Louisiana State University August 25 th, 2009 1 Contact Information Instructor: Prof. Tevfik Kosar Office: 292 Coates (also

More information

CSC369 Lecture 5. Larry Zhang, October 19,2015

CSC369 Lecture 5. Larry Zhang, October 19,2015 CSC369 Lecture 5 Larry Zhang, October 19,2015 1 Describe your A1 experience using the feedback form 2 Announcements Assignment 2 out later this week, due November 11 Midterm next week in lecture: 9:10AM

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Spring 2018 Lecture 10: Paging Geoffrey M. Voelker Lecture Overview Today we ll cover more paging mechanisms: Optimizations Managing page tables (space) Efficient

More information

Welcome to Solving Problems with Computers I

Welcome to Solving Problems with Computers I Welcome to Solving Problems with Computers I CS 16: Solving Problems with Computers I Lecture #1 Ziad Matni Dept. of Computer Science, UCSB Image from agorolabs on slideshare.com A Word About Registration

More information

COMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager

COMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager COMP 3500 Introduction to Operating Systems Project 5 Virtual Memory Manager Points Possible: 100 Submission via Canvas No collaboration among groups. Students in one group should NOT share any project

More information

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Generation 1: Mono-programming

More information

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017 CS 471 Operating Systems Yue Cheng George Mason University Fall 2017 Outline o Process concept o Process creation o Process states and scheduling o Preemption and context switch o Inter-process communication

More information

Computer Science 322 Operating Systems Mount Holyoke College Spring Topic Notes: Processes and Threads

Computer Science 322 Operating Systems Mount Holyoke College Spring Topic Notes: Processes and Threads Computer Science 322 Operating Systems Mount Holyoke College Spring 2010 Topic Notes: Processes and Threads What is a process? Our text defines it as a program in execution (a good definition). Definitions

More information

Lecture 1. CMSC 412 S17 (lect 1)

Lecture 1. CMSC 412 S17 (lect 1) Lecture 1 1 Review Syllabus Operating Systems read the warning about the size of the project make sure you get the 6 th edition (or later) of the book Class Grades Server Grades.cs.umd.edu Program #0 Handout

More information

Module 20: Multi-core Computing Multi-processor Scheduling Lecture 39: Multi-processor Scheduling. The Lecture Contains: User Control.

Module 20: Multi-core Computing Multi-processor Scheduling Lecture 39: Multi-processor Scheduling. The Lecture Contains: User Control. The Lecture Contains: User Control Reliability Requirements of RT Multi-processor Scheduling Introduction Issues With Multi-processor Computations Granularity Fine Grain Parallelism Design Issues A Possible

More information

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016 Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 12 09/29/2016 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges

More information

Administrivia. Minute Essay From 4/11

Administrivia. Minute Essay From 4/11 Administrivia All homeworks graded. If you missed one, I m willing to accept it for partial credit (provided of course that you haven t looked at a sample solution!) through next Wednesday. I will grade

More information

Scheduling, part 2. Don Porter CSE 506

Scheduling, part 2. Don Porter CSE 506 Scheduling, part 2 Don Porter CSE 506 Logical Diagram Binary Memory Formats Allocators Threads Today s Lecture Switching System to CPU Calls RCU scheduling File System Networking Sync User Kernel Memory

More information

Memory: Overview. CS439: Principles of Computer Systems February 26, 2018

Memory: Overview. CS439: Principles of Computer Systems February 26, 2018 Memory: Overview CS439: Principles of Computer Systems February 26, 2018 Where We Are In the Course Just finished: Processes & Threads CPU Scheduling Synchronization Next: Memory Management Virtual Memory

More information

CSci 5103 Operating Systems. Jon Weissman. Administrivia

CSci 5103 Operating Systems. Jon Weissman. Administrivia CSci 5103 Operating Systems Jon Weissman Administrivia Greetings Welcome to CSci 5103! me: Jon Weissman, Professor CS office hours M 1-2pm, 4-225F KH or when I am around interests: distributed and parallel

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

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015

Grand Central Dispatch and NSOperation. CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 Grand Central Dispatch and NSOperation CSCI 5828: Foundations of Software Engineering Lecture 28 12/03/2015 1 Credit Where Credit Is Due Most of the examples in this lecture were inspired by example code

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Learning Objectives Scheduling To understand the role of a scheduler in an operating system To understand the scheduling mechanism To understand scheduling strategies such as non-preemptive

More information

Overview of the Class

Overview of the Class Overview of the Class Copyright 2015, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers class at the University of Southern California (USC) have explicit permission to make copies

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 8 Threads and Scheduling Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How many threads

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 05 Lecture 18 CPU Scheduling Hello. In this lecture, we

More information

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System Operating System Operating System Overview Chapter 2 A program that controls the execution of application programs An interface between applications and hardware 1 2 Operating System Objectives Layers

More information

Operating System Overview. Operating System

Operating System Overview. Operating System Operating System Overview Chapter 2 1 Operating System A program that controls the execution of application programs An interface between applications and hardware 2 1 Operating System Objectives Convenience

More information

Scheduling. Scheduling 1/51

Scheduling. Scheduling 1/51 Scheduling 1/51 Scheduler Scheduling Scheduler allocates cpu(s) to threads and processes. This action is known as scheduling. The scheduler is a part of the process manager code that handles scheduling.

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 Systems Course Overview

Operating Systems Course Overview Operating Systems Course Overview Instructor: Kartik Gopalan Class website: http://oscourse.github.io Interfaces in a Computer System (1) User-level processes (2) (3) Libraries Operating System (4) (5)

More information

Lecture 4: Process Management

Lecture 4: Process Management Lecture 4: Process Management (Chapters 2-3) Process: execution context of running program. A process does not equal a program! Process is an instance of a program Many copies of same program can be running

More information

CSCI 447 Operating Systems Filip Jagodzinski

CSCI 447 Operating Systems Filip Jagodzinski Filip Jagodzinski Announcements Homework 2 you have 2 weeks start now Book questions including two custom ones A single programming task File names and directories, class conventions homework2-script,

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke

CSCI-GA Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke CSCI-GA.2250-001 Operating Systems Lecture 3: Processes and Threads -Part 2 Scheduling Hubertus Franke frankeh@cs.nyu.edu Processes Vs Threads The unit of dispatching is referred to as a thread or lightweight

More information

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System

Preview. Process Scheduler. Process Scheduling Algorithms for Batch System. Process Scheduling Algorithms for Interactive System Preview Process Scheduler Short Term Scheduler Long Term Scheduler Process Scheduling Algorithms for Batch System First Come First Serve Shortest Job First Shortest Remaining Job First Process Scheduling

More information

Real Time and Embedded Systems. by Dr. Lesley Shannon Course Website:

Real Time and Embedded Systems. by Dr. Lesley Shannon   Course Website: Real Time and Embedded Systems by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc351 Simon Fraser University Slide Set: 2 Date: September 13,

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

John Wawrzynek & Nick Weaver

John Wawrzynek & Nick Weaver CS 61C: Great Ideas in Computer Architecture Lecture 23: Virtual Memory John Wawrzynek & Nick Weaver http://inst.eecs.berkeley.edu/~cs61c From Previous Lecture: Operating Systems Input / output (I/O) Memory

More information

Chapter 14 Operating Systems

Chapter 14 Operating Systems Chapter 14 Operating Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating system Main functions of an operating system Commonly used mechanisms

More information

Chapter 14 Operating Systems

Chapter 14 Operating Systems Chapter 14 Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating Main functions of an operating Commonly used mechanisms for: Process management

More information

Killing Zombies, Working, Sleeping, and Spawning Children

Killing Zombies, Working, Sleeping, and Spawning Children Killing Zombies, Working, Sleeping, and Spawning Children CS 333 Prof. Karavanic (c) 2015 Karen L. Karavanic 1 The Process Model The OS loads program code and starts each job. Then it cleans up afterwards,

More information

Lecture 4: Memory Management & The Programming Interface

Lecture 4: Memory Management & The Programming Interface CS 422/522 Design & Implementation of Operating Systems Lecture 4: Memory Management & The Programming Interface Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken

More information

CSCI 204 Introduction to Computer Science II Lab 7 Queue ADT

CSCI 204 Introduction to Computer Science II Lab 7 Queue ADT CSCI 204 Introduction to Computer Science II Lab 7 Queue ADT 1. Objectives In this lab, you will practice the following: Implement the Queue ADT using a structure of your choice, e.g., array or linked

More information

Supervised Learning: The Setup. Spring 2018

Supervised Learning: The Setup. Spring 2018 Supervised Learning: The Setup Spring 2018 1 Homework 0 will be released today through Canvas Due: Jan. 19 (next Friday) midnight 2 Last lecture We saw What is learning? Learning as generalization The

More information

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc.

Slide 6-1. Processes. Operating Systems: A Modern Perspective, Chapter 6. Copyright 2004 Pearson Education, Inc. Slide 6-1 6 es Announcements Slide 6-2 Extension til Friday 11 am for HW #1 Previous lectures online Program Assignment #1 online later today, due 2 weeks from today Homework Set #2 online later today,

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Spring 2018 Lecture 15: Multicore Geoffrey M. Voelker Multicore Operating Systems We have generally discussed operating systems concepts independent of the number

More information

Operating Systems. Spring Dongkun Shin, SKKU

Operating Systems. Spring Dongkun Shin, SKKU Operating Systems Spring 2019 1 Syllabus Instructors: Dongkun Shin Office : Room 85470 E-mail : dongkun@skku.edu Office Hours: Tue. 15:00-17:30 or by appointment Lecture notes nyx.skku.ac.kr Courses Operation

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Spring 2018 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 What is an Operating System? What is

More information

CSE Traditional Operating Systems deal with typical system software designed to be:

CSE Traditional Operating Systems deal with typical system software designed to be: CSE 6431 Traditional Operating Systems deal with typical system software designed to be: general purpose running on single processor machines Advanced Operating Systems are designed for either a special

More information

CS420: Operating Systems

CS420: Operating Systems OS Overview James Moscola Department of Engineering & Computer Science York College of Pennsylvania Contents of Introduction slides are courtesy of Silberschatz, Galvin, Gagne Operating System Structure

More information

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015

Introduction to Concurrent Software Systems. CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 Introduction to Concurrent Software Systems CSCI 5828: Foundations of Software Engineering Lecture 08 09/17/2015 1 Goals Present an overview of concurrency in software systems Review the benefits and challenges

More information

CSE 120 Principles of Operating Systems

CSE 120 Principles of Operating Systems CSE 120 Principles of Operating Systems Fall 2016 Lecture 2: Architectural Support for Operating Systems Geoffrey M. Voelker Administrivia Project 0 Due 10/4, done individually Homework #1 Due 10/6 Project

More information

CS Operating Systems

CS Operating Systems CS 447 - Operating Systems Syllabus Assignments -- Uses Blitz (facultyweb.cs.wwu.edu/~phil/classes/blitz) Environment UNIX (Linux, OS X, NetBSD, FreeBSD...) Should be the same since Blitz is a Virtual

More information