CSCI 447 Operating Systems Filip Jagodzinski
|
|
- Byron Arthur Knight
- 5 years ago
- Views:
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
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 informationCSCI 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 informationCPSC 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 informationOPERATING 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 informationOperating 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 informationProcesses. 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 informationAnnouncements. 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 informationSaint 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 informationLecture 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 information1. 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 informationCSC 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 informationLecture 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 informationEECS 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 informationOperating 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 informationCSE 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 informationCSCI-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 informationIntroduction 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 informationProcess. 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 informationECE 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 informationGit. 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 informationLecture 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 informationChapter 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 informationToday. 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 informationIntroduction 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 informationCSE 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 informationIntroduction 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)
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 information7/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 informationCreating 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)
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 informationConsistency. 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 informationWeek - 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 informationLecture 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 informationIntroduction 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 informationAdvanced 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 informationOperating 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 informationProcesses 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 informationCONTENTS. 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 informationChapter 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 informationCS 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 informationIntroduction. 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 informationCS3733: 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 informationAbout 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 informationOS: 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 informationCSCI-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 informationCS 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 information18-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 informationOperating 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 information2/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 informationOperating 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 informationCS 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 informationCSC 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 informationCSC369 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 informationCSE 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 informationWelcome 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 informationCOMP 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 informationToday. 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 informationCS 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 informationComputer 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 informationLecture 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 informationModule 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 informationIntroduction 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 informationAdministrivia. 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 informationScheduling, 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 informationMemory: 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 informationCSci 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 informationIntroduction. 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 informationGrand 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 informationScheduling. 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 informationOverview 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 informationCS370 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 informationIntroduction 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 informationOperating 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 informationOperating 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 informationScheduling. 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 informationComputer 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 informationOperating 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 informationLecture 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 informationCSCI 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 informationCSC209. 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 informationCSCI-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 informationPreview. 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 informationReal 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 informationMisc. 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 informationJohn 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 informationChapter 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 informationChapter 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 informationKilling 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 informationLecture 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 informationCSCI 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 informationSupervised 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 informationSlide 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 informationCSE 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 informationOperating 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 informationCS370 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 informationCSE 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 informationCS420: 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 informationIntroduction 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 informationCSE 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 informationCS 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