Presentation is loading. Please wait.

Presentation is loading. Please wait.

HW & Systems: Operating Systems IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, October 22, 2013 Carolyn Seaman University of Maryland, Baltimore.

Similar presentations


Presentation on theme: "HW & Systems: Operating Systems IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, October 22, 2013 Carolyn Seaman University of Maryland, Baltimore."— Presentation transcript:

1 HW & Systems: Operating Systems IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, October 22, Carolyn Seaman University of Maryland, Baltimore County

2 Today Operating Systems Midterm
Guest lecture about Computer Engineering from Dr. LaBerge Sit with your teams No need for laptops to be open Avoid the back middle section

3 Wherefore OS? A “naked machine” has no tools or programs to help the user Write instructions in binary Write data in binary Load instructions into memory one cell at a time Initiate program run Too difficult for humans to do We must build an interface to hide the details and make the computer easier to build The OS is an abstraction of the machine that keeps users and programmers from having to think about the low-level hardware details

4 Virtual Machine (abstraction!)
Naked machine: Write program in binary Load instructions one- by-one into memory Insert start into memory address 0 and push “go” button Read results from memory one-by-one, in binary Virtual machine: Write program using text editor in high-level language Save program to folder Use translator to convert to binary Use scheduler to load and run Use I/O system to print results

5 UnQuiz What is the kernel? What are its main functions?
What is the difference between a program, a process, and a thread? What is multitasking? When does the kernel interrupt a running process? What is a context switch? -- Main functions of the kernel: process management, memory management, filesystem management, network and device management – basically it’s the resource manager for the computer. -- Program: the lines of code. Process: a running program. Thread: separate line of execution within a process. Threads are sometimes called “lightweight processes”. Big difference: processes have completely separate address spaces; threads share address spaces (and thus can share data directly). -- Interrupts: when a process’s time slice has expired, or when the process becomes I/O bound (waiting for data or a driver)

6 UnQuiz Part Two What are some possible process scheduling policies?
What do these different ways of measuring CPU efficiency mean? CPU utilization Average latency Throughput Fairness What is virtual memory? Scheduling policies: round-robin (basically a FIFO with time slices), LIFO (would be weird!), priority-based (differentiate between urgent and non-urgent, real-time and non-real-time processes), shortest-time-remaining (finish off processes that can be finished soon). Utliization: what fraction of the time is the CPU actually used for running processes (as opposed to context switching or running the kernel)? Latency: how long before a process starts? Throughput: How many processes per unit time? Fairness: no starvation of processes, time allocated to every process in some proportionate way

7 Deadlock Safe use of resources: ensure that computer doesn’t get stuck in deadlock Multiple programs requesting access to resources Deadlock occurs when all programs have some resources, and are waiting for resources held by others Deadlock prevention: if you can’t get all resources, release all you have and try again later Deadlock recovery: if no acknowledgement, send message again

8 Midterm Review

9 Guest Lecture Dr. Chuck LaBerge Computer Engineering


Download ppt "HW & Systems: Operating Systems IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, October 22, 2013 Carolyn Seaman University of Maryland, Baltimore."

Similar presentations


Ads by Google