Operating Systems Overview

Similar documents
Operating System. Operating System Overview. Structure of a Computer System. Structure of a Computer System. Structure of a Computer System

Operating System Overview. Chapter 2

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

Operating System Overview. Operating System

Operating Systems Overview. Chapter 2

Operating Systems : Overview

Operating Systems Overview. Chapter 2

Chapter 2 Operating System Overview

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Introduction to Operating Systems

Computer System Overview

Role 1: The Operating System is an Abstract Machine. Learning Outcomes. Introduction to Operating Systems. What is an Operating System?

Introduction to Operating. Chapter Chapter

Introduction to Operating Systems. Chapter Chapter

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

Overview of Operating Systems

Overview of Operating Systems

Process Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey

Announcement. Exercise #2 will be out today. Due date is next Monday

Module 1: Introduction

Spring It takes a really bad school to ruin a good student and a really fantastic school to rescue a bad student. Dennis J.

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)

Introduction to Operating Systems. Chapter Chapter

Operating Systems. Memory Management. Lecture 9 Michael O Boyle

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Process Description and Control

CPU Scheduling. Operating Systems (Fall/Winter 2018) Yajin Zhou ( Zhejiang University

HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS OPERATING SYSTEMS 1

Operating System Architecture. CS3026 Operating Systems Lecture 03

Roadmap. Tevfik Ko!ar. CSC Operating Systems Spring Lecture - III Processes. Louisiana State University. Virtual Machines Processes

Two hours. Question ONE is COMPULSORY UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. Date: Friday 25th January 2013 Time: 14:00-16:00

CS418 Operating Systems

OPERATING SYSTEMS UNIT - 1

Processes. CS 475, Spring 2018 Concurrent & Distributed Systems

What is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?

Processes and Threads

Preview. The Thread Model Motivation of Threads Benefits of Threads Implementation of Thread

ALL the assignments (A1, A2, A3) and Projects (P0, P1, P2) we have done so far.

Process Characteristics

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

CSC 539: Operating Systems Structure and Design. Spring 2006

2. The system of... generally ran one job at a time. These were called single stream batch processing.

Motivation. Threads. Multithreaded Server Architecture. Thread of execution. Chapter 4

Process Description and Control

Subject Name:Operating system. Subject Code:10EC35. Prepared By:Remya Ramesan and Kala H.S. Department:ECE. Date:

ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective. Part I: Operating system overview: Processes and threads

Chapter 3 Processes. Process Concept. Process Concept. Process Concept (Cont.) Process Concept (Cont.) Process Concept (Cont.)

آنستیتیوت تکنالوجی معلوماتی و مخابراتی ICTI

Chapter 3: Process Concept

Chapter 3: Process Concept

Solved MCQs on Operating System Principles. Set-1

CS370 Operating Systems Midterm Review

Chapter 3: Processes

Chapter 3: Process Concept

CSC Operating Systems Fall Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. August 27 th, 2009.

Announcements. Computer System Organization. Roadmap. Major OS Components. Processes. Tevfik Ko!ar. CSC Operating Systems Fall 2009

Processes and Threads. Processes and Threads. Processes (2) Processes (1)

CHAPTER 2: PROCESS MANAGEMENT

Operating Systems. Computer Science & Information Technology (CS) Rank under AIR 100

CSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter

Module 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication

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


Module 4: Processes. Process Concept Process Scheduling Operation on Processes Cooperating Processes Interprocess Communication

CS 326: Operating Systems. CPU Scheduling. Lecture 6

OS Design Approaches. Roadmap. OS Design Approaches. Tevfik Koşar. Operating System Design and Implementation

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Main Points of the Computer Organization and System Software Module

Operating System 4 THREADS, SMP AND MICROKERNELS

TYPES OF OPERATING SYSTEMS. Dimple Juneja

Process- Concept &Process Scheduling OPERATING SYSTEMS

Student Name:.. Student ID... Course Code: CSC 227 Course Title: Semester: Fall Exercises Cover Sheet:

QUESTION BANK UNIT I

Part V. Process Management. Sadeghi, Cubaleska RUB Course Operating System Security Memory Management and Protection

For use by students enrolled in #71251 CSE430 Fall 2012 at Arizona State University. Do not use if not enrolled.

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Introduction. CS3026 Operating Systems Lecture 01

Chapter 1: Introduction

CS370 Operating Systems

Introduction to Operating Systems

OPERATING SYSTEMS. UNIT II Sections A, B & D. An operating system executes a variety of programs:

Chapter 8. Operating System Support. Yonsei University

CHAPTER 3 - PROCESS CONCEPT

Operating Systemss and Multicore Programming (1DT089)

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

TDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services

Operating-System Structures

SMD149 - Operating Systems

Scheduling. CSC400 - Operating Systems. 7: Scheduling. J. Sumey. one of the main tasks of an OS. the scheduler / dispatcher

Chendu College of Engineering & Technology

Operating systems Architecture

Chapter 1: Introduction

Operating System Structure

UNIT 3. PROCESS MANAGEMENT

W4118 Operating Systems. Junfeng Yang

Chapter 2: Operating-System Structures

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

CPU Scheduling (1) CPU Scheduling (Topic 3) CPU Scheduling (2) CPU Scheduling (3) Resources fall into two classes:

Transcription:

Operating Systems Overview 1

operating system no clear traditional definition each definition cover a distinct aspect an interface between applications and hardware true, this was the first reason for having an OS a set of programs that provides basic functionalities for managing system resources true, but the OS is not only a library of functionalities a program that controls the execution of application programs 2 e.g. it decides which program is running and when

not on the book my definition a software that does not depend on any other software in the computer do you know what depend means? in a certain sense it only depends on hardware in current PC and servers it also is... a software that... considers activities to be carried on and... assigns resources to them activities usually means processes the latter is the most interesting definition3

Operating System as a Resource Manager resource: anything needed for program execution, e.g. cpu time I/O devices memory executable code etc. an os manages... resources comprising internal data structures processes 4

not on the book my definition if the hardware is so small that cannot carry on many tasks (e.g. a mobile phone)... less and less frequently...it makes simple for applicative software to interface with hardware hw interface on bigger systems is not the primary concern handled with drivers 5

kernel its the OS as defined above it is always in main memory contains most frequently used functionality also called nucleus 6

not on the book the kernel it is a very interesting piece of software! it can be studied from several point of views structural which concepts it realizes? which data structures it adopts? what modules it contains? what are the interfaces among modules? behavioral which strategies adopt to optimize usage resources? which algorithms it implements to maintain its data structures? synchronization oops! many things happens in the kernel at the same time. Consistency is hard to maintain. Large number of techniques uses. Completeley indpendent by OS study, but largely developed by the same community. 7

not on the book kernel didactic approach vs. reality structural what is the easiest way to realize a decent kernel? what is there in a real kernel? behavioral what are the easiest strategies? what are the ones that are adopted in practice? synchronization too complicated... there is a specific course for this ;) 8

not on the book system software it is the software that is usually installed when the OS is installed on a computer system e.g. basic C runtime libraries, sw to access the hard disk directory, graphical user interface, etc. 9

not on the book overloaded language actually operating system is an overloaded word it means the kernel or the kernel plus the other system software meaning should be clear from the context 10

not on the book system software computer system layers { users applications libraries programmer kernel system tools Computer hardware system administrator OS designer 11

OS objectives convenience it should make the computer more convenient to use (for programmers and users) efficiency it should allow computer system resources to be used in an efficient manner ability to evolve it should permit effective development, testing, and installation of new software (debug, isolation) 12

services provided by the os services for users program execution, usually many at the same time error detection and response support for program development security (login, user confinement, etc.) accounting services for programs (and programmers) resource management es. memory and cpu time access to I/O devices es. files 13

efficiency: i/o vs. cpu 14

uniprogramming simple approach: execution must wait for I/O to complete before preceding I/O start I/O end I/O start 15

multiprogramming when one job needs to wait for I/O, the processor can switch to the other job 16

multiprogramming 17

not on the book the user's point of view from the point of view of the user is a way to keep many applications active at the same time e.g. I got frustrated by uniprogrammed smartphones need to close an app before open another one loosing current work PC started to be multiprogrammed in 90s (about) windows 3.1, Mac classic GUIs greatly increase the demand of the user kernels that support multiprogramming are much more complex but, it is a must have and it is one of the main topics of this course 18

not on the book I/O bound vs. CPU bound processes I/O bound mostly waiting for some data to arrive use cpu for requesting more data from devices e.g. DBMS, interactive applications cpu bound mostly perform computation rarely performs i/o to get data to compute e.g. multimedia coding/encoding, complex graphic rendering, etc. 19

I/O bound vs. CPU bound processes a more complex example sharable resources: cpu time and memory non-sharable resources: disk, terminal, printer CPU bound I/O bound I/O bound 20

Utilization Histograms 21

Major Achievements of Modern OSes Processes Memory Management Information protection and security Scheduling and resource management System structure 22

not on the book processes a program in execution (running) on a computer a unit of activity characterized by an associated set of system resources memory regions open files etc. at least one execution thread with its current state of CPU 23

not on the book threads the entity that can be assigned to, and executed on, a processor it is meaningful only within a process described by the value of the program counter the value of the CPU regisers in modern operating systems a process may contains one or more thread we always assume it contains one thread 24

security: user/system mode processes execute in user mode certain privileged machine instructions may not be executed only a restricted part of main memory can be accessed (user space) kernel executes in system mode a.k.a. kernel mode or supervisor mode privileged instructions can be executed protected areas of memory may be accessed (kernel space) 25

many processes, one CPU only one process can be executed by one CPU the other processes are somehow forzen what is needed to resume it is saved somewere execution context 26

time sharing CPU time is shared among multiple users or processes illusion of more CPUs 27

execution context cpu registers priority of the process is the process waiting for I/O? on which device? etc. etc. etc. etc.... 28

process representation 29

Memory Management Process isolation Automatic allocation and management Support of modular programming Protection and access control Long-term storage 30

Virtual Memory Allows programmers to address memory from a logical point of view Virtual memory can be much larger than Real Memory processes see a large virtual address space Real Memory is used only for (part of the) processes that are really need it 31

Paging It allows process memory to be divided in a number of fixed-size blocks, called pages Virtual address is made of page number and an offset within the page Each page may be located anywhere in physical memory Real address or physical address in main memory are managed only by the kernel 32

irtual Memory and Main Memory 33

Virtual Memory Addressing virtual addresses management the Memory Management Unit of the CPU translates addresses from virtual to real each time an machine instruction refers to memory this is very very frequent! the kernel configure MMU when a new process starts when a process needs more memory when a process needs less memory 34

Scheduling and Resource Management Fairness Give equal and fair access to resources Differential responsiveness Discriminate among different classes of jobs Efficiency Maximize throughput, minimize response time, and accommodate as many users as possible 35

Scheduling Elements queues at least one for each resource CPU short term contains processes in main memory and ready to run short term scheduler / dispatcher simple approach: round robin (circular queue) long term new jobs waiting for the processor long term scheduler I/O at least queue for each device interrupts 36

Modern Operating Systems microkernel architecture Assigns only a few essential functions to the kernel Address spaces Interprocess communication (IPC) Basic threading/scheduling everything else is implemented as a process this is more a trend than reality 37

Modern Operating Systems Symmetric multiprocessing (SMP) There are multiple processors or cores These cores share same main memory and I/O facilities All cores can perform the same functions Each core can execute one thread at time 38

Modern Operating Systems Multithreading Each process has one or more execution threads that can run concurrently, possibly on distinct cores share and can access all other resources of a process Very important now that we have many processors relevant mostly for CPU bound applications 39

Modern Operating Systems Virtualization OS support emulation of several instances of fully-fledged machines enabling technology for cloud computing efficiency problems: virtualization overhead can exploit hardware support 40

Modern Operating Systems Mobile hardware runs on battery: power management hardware is small: need for space/time efficiency wirelessly connected most of the time interactive: end-user friendliness app marketplace big security concerns 41