Chapter 2 Introduction to OS Chien-Chung Shen CIS/UD

Slides:



Advertisements
Similar presentations
CSC 501 Operating Systems Principles
Advertisements

UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
W4118 Operating Systems OS Overview Junfeng Yang.
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
Lecture 1: Introduction CS170 Spring 2015 Chapter 1, the text book. T. Yang.
OS Concepts An Introduction operating systems. At the end of this module, you should have a basic understanding of what an operating system is, what it.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Dr. José M. Reyes Álamo 1.  Course website  Syllabus posted.
Stack Management Each process/thread has two stacks  Kernel stack  User stack Stack pointer changes when exiting/entering the kernel Q: Why is this necessary?
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Operating Systems Who’s in charge in there?. Types of Software Application Software : Does things we want to do System Software : Does things we need.
UNIX System Administration OS Kernal Copyright 2002, Dr. Ken Hoganson All rights reserved. OS Kernel Concept Kernel or MicroKernel Concept: An OS architecture-design.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS Design.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
School of Computer Science & Information Technology G6DICP Introduction to Computer Programming Milena Radenkovic.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.
Processes Introduction to Operating Systems: Module 3.
Chapter 2 Introduction to OS Chien-Chung Shen CIS, UD
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Welcome to CPS 210 Graduate Level Operating Systems –readings, discussions, and programming projects Systems Quals course –midterm and final exams Gateway.
COP 4610 Introduction to Operating Systems. Chapter 1 - Introduction OS - Layer between the hardware and user programs (Figure 1.1) OS - The ultimate.
Introduction to Operating Systems and Concurrency.
Operating Systems: Wrap-Up Questions answered in this lecture: What is an Operating System? Why are operating systems so interesting? What techniques can.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Virtual Machines Mr. Monil Adhikari. Agenda Introduction Classes of Virtual Machines System Virtual Machines Process Virtual Machines.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
INTRODUCTION TO COMPUTERS. A computer system is an electronic device used to input data, process data, store data for later use and produce output in.
Virtualization Neependra Khare
Welcome to Intro to Operating Systems Course Website:
Introduction to Operating Systems Concepts
COMPSCI 110 Operating Systems
Introduction to Operating Systems
Applied Operating System Concepts
Chien-Chung Shen CIS/UD
COMPSCI 110 Operating Systems
Chapter 1: Introduction
Operating System Structure
Introduction to Operating Systems
Who’s in charge in there?
Introduction to Operating Systems
Systems Software Keywords Operating Systems
OPERATING SYSTEMS.
Operating Systems : Overview
Chapter 15, Exploring the Digital Domain
Operating Systems : Overview
Operating Systems : Overview
Operating Systems Tasks 17/02/2019.
Introduction to Operating Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems: A Modern Perspective, Chapter 3
Operating System Introduction.
Operating Systems Tasks 04/04/2019.
Operating Systems : Overview
Software - Operating Systems
Chapter-1 Computer is an advanced electronic device that takes raw data as an input from the user and processes it under the control of a set of instructions.
Lecture Topics: 11/1 Hand back midterms
Function of Operating Systems
Operating Systems Tasks 05/08/2019.
Advanced OS COMP 755.
Presentation transcript:

Chapter 2 Introduction to OS Chien-Chung Shen CIS/UD

Operating System Goal: make the system easy to use (when running programs) –run many programs at the same time –allow programs to share memory –enable programs to interact with devices –etc. How: virtualization – take a physical resource (e.g., processor, memory, or disk) and transform it into a more general, powerful, and easy-to-use virtual form of itself –refer OS as a virtual machine

Virtual Machine (VM) In order to allow users to tell OS what to do and thus make use of the features of VM (e.g., running programs, allocating memory, accessing files), OS provides interfaces (APIs) that can be called –system calls and standard library Because of virtualization, OS behaves as resource manager (i.e., the role of OS) Question: why to virtualize resources? –make system easier to use Question: how to virtualize resources? –policies and mechanisms

Virtualization How to virtualize resources? –policies and mechanisms Virtualize CPU (via process) –cpu.c and common.h –./cpu A & ;./cpu B &;./cpu C &./cpu D Virtualize memory (via address space) –mem.c (with address-space randomization disabled) –In bash,./mem 11 &./mem 222 & others,./mem 11 & ;./mem 222 &

Concurrency Working on many things at once (concurrently) in the same program –OS itself –multithreaded (user) programs –threads.v0.c (race condition) –threads.v1.c (atomic) Concurrency ⊃ Parallelism P P C

Persistence DRAM is volatile – when power goes away or system crashes, data in memory is lost; need hardware and software to store data persistently –I/I devices: disk (hard drive) and solid-state drive (SSD) –File system (the part of OS that manages disk/SSD and files) No virtualization, but sharing of files io.c: open()/write()/close() system calls to OS file system Device driver: use I/O commends to interact with the real devices

Design Goals of OS What OS does –virtualize processor and memory –concurrency –persistency Build abstractions (process and address space) to make system easy to use (but not at any cost) Provide high performance (minimize OS overhead) Provide protection between applications via isolation Reliability Energy efficiency Security Mobility

Abstraction Abstractions are fundamental to everything we do in computer science. Abstraction makes it possible to write a large program by dividing it into small and understandable pieces, to write such a program in a high-level language like C without thinking about assembly, to write code in assembly without thinking about logic gates, and to build a processor out of gates without thinking too much about transistors. Prof. Barbara Liskov's Turning Award lecture: The Power of Abstraction