Intro
Computer Science 416 with Bianchini at Rutgers University - New Brunswick/Piscataway
About this note
By: Ilana Katronetsky
Textbook:
Operating System Concepts
Created: 2009-02-12
File Size: 20 page(s)
Views: 5
Textbook:
Operating System ConceptsCreated: 2009-02-12
File Size: 20 page(s)
Views: 5
About StudyBlue
STUDYBLUE makes things that make you better at school.
Things like online flashcards with photos and audio.
Things like personalized quizzes and friendly reminders about when (and what) to study next.
Think of it as a digital backpack™: access to all of your study materials online and on your phone.
STUDYBLUE exists to make studying efficient and effective for every student, for free. Join us.
“Simply amazing. The flash cards are smooth, there are many different types of studying tools, and there is a great search engine. I praise you on the awesomeness.”
Dennis
Dennis
Sign up (free) to study this.
Rutgers University CS 416: Operating Systems Today What is an Operating System? Major OS components A little bit of history CS 416: Operating Systems Rutgers University CS 416: Operating Systems What Is An Operating System? A software layer between the hardware and the application programs/users which provides a virtual machine interface: easy and safe A resource manager that allows programs/users to share the hardware resources: fair and efficient A set of utilities to simplify application development hardware operating system application (user) CS 416: Operating Systems Rutgers University CS 416: Operating Systems Abstract View of System Components CS 416: Operating Systems Rutgers University CS 416: Operating Systems Why Do We Want An OS? Benefits for application writers Easier to write programs See high-level abstractions instead of low-level hw details E.g. files instead of bunches of disk blocks Portability Benefits for users Easier to use computers Can you imagine trying to use a computer without the OS? Safety OS protects programs from each other OS protects users from each other CS 416: Operating Systems Rutgers University CS 416: Operating Systems Mechanism and Policy Mechanisms: data structures and operations that implement an abstraction (e.g. the buffer cache) Policies: the procedures that guide the selection of a certain course of action from among alternatives (e.g. the replacement policy for the buffer cache) Want to separate mechanisms and policies as much as possible Different policies may be needed for different operating environments hardware operating system: mechanism+policy application (user) CS 416: Operating Systems Rutgers University CS 416: Operating Systems Basic Computer Structure CPU Memory memory bus I/O bus Disk Net interface core 1 core 2 ? core n CS 416: Operating Systems Rutgers University CS 416: Operating Systems System Abstraction: Processes A process is a system abstraction: illusion of being the only job in the system hardware: computer operating system: process user: run application create, kill processes, inter-process comm. Multiplexing resources CS 416: Operating Systems Rutgers University CS 416: Operating Systems Processes: Mechanism and Policy Mechanism: Creation, destruction, suspension, context switch, signaling, IPC, etc. Policy: Minor policy questions: Who can create/destroy/suspend processes? How many active processes can each user have? Major policy question that we will concentrate on: How to share system resources between multiple processes? Typically broken into a number of orthogonal policies for individual resources, such as CPU, memory, and disk. CS 416: Operating Systems Rutgers University CS 416: Operating Systems Processor Abstraction: Threads A thread is a processor abstraction: illusion of having 1 processor per execution context hardware: processor operating system: thread application: execution context create, kill, synch. context switch CS 416: Operating Systems Rutgers University CS 416: Operating Systems Threads: Mechanism and Policy Mechanism: Creation, destruction, suspension, context switch, signaling, synchronization, etc. Policy: How to share the CPU between threads from different processes? How to share the CPU between threads from the same process? How can multiple threads synchronize with each other? How to control inter-thread interactions? Can a thread murder other threads at will? CS 416: Operating Systems Rutgers University CS 416: Operating Systems Memory Abstraction: Virtual memory hardware: physical memory operating system: virtual memory Virtual memory is a memory abstraction: illusion of large contiguous memory, often more memory than physically available application: address space virtual addresses physical addresses CS 416: Operating Systems Rutgers University CS 416: Operating Systems Virtual Memory: Mechanism Mechanism: Virtual-to-physical memory mapping, page-fault, etc. physical memory: v-to-p memory mappings processes: virtual address spaces p1 p2 CS 416: Operating Systems Rutgers University CS 416: Operating Systems Virtual Memory: Policy Policy: How to multiplex a virtual memory that is larger than the physical memory onto what is available? How should physical memory be allocated to competing processes? How to control the sharing of a piece of physical memory between multiple processes? CS 416: Operating Systems Rutgers University CS 416: Operating Systems Storage Abstraction: File System hardware: disk operating system: files, directories A file system is a storage abstraction: illusion of structured storage space application/user: copy file1 file2 naming, protection, operations on files operations on disk blocks... CS 416: Operating Systems Rutgers University CS 416: Operating Systems File System Mechanism: File creation, deletion, read, write, file-block-to-disk-block mapping, file buffer cache, etc. Policy: Sharing vs. protection? Which block to allocate? File buffer cache management? CS 416: Operating Systems Rutgers University CS 416: Operating Systems Communication Abstraction: Messaging hardware: network interface operating system: TCP/IP protocols Message passing is a communication abstraction: illusion of reliable (sometimes ordered) transport application: sockets naming, messages network packets CS 416: Operating Systems Rutgers University CS 416: Operating Systems Message Passing Mechanism: Send, receive, buffering, retransmission, etc. Policy: Congestion control and routing Multiplexing multiple connections onto a single network interface CS 416: Operating Systems Rutgers University CS 416: Operating Systems Character & Block Devices hardware: keyboard, mouse, etc. operating system: character & block API The device interface gives the illusion that devices support the same API ? character stream and block access application/user: read character from device naming, protection, read,write hardware-specific PIO, interrupt handling, or DMA CS 416: Operating Systems Rutgers University CS 416: Operating Systems Devices Mechanisms Open, close, read, write, ioctl, etc. Buffering Policies Protection Sharing? Scheduling? CS 416: Operating Systems Rutgers University CS 416: Operating Systems UNIX Source: Silberschatz, Galvin, and Gagne 2005 CS 416: Operating Systems
Back
Next
About this note
By: Ilana Katronetsky
Textbook:
Operating System Concepts
Created: 2009-02-12
File Size: 20 page(s)
Views: 5
Textbook:
Operating System ConceptsCreated: 2009-02-12
File Size: 20 page(s)
Views: 5
About StudyBlue
STUDYBLUE makes things that make you better at school.
Things like online flashcards with photos and audio.
Things like personalized quizzes and friendly reminders about when (and what) to study next.
Think of it as a digital backpack™: access to all of your study materials online and on your phone.
STUDYBLUE exists to make studying efficient and effective for every student, for free. Join us.
“Simply amazing. The flash cards are smooth, there are many different types of studying tools, and there is a great search engine. I praise you on the awesomeness.”
Dennis
Dennis