ECS 150 Operating Systems

Similar documents
Kernel Types Simple OS Examples System Calls. Operating Systems. Autumn CS4023

SOFTWARE ARCHITECTURE

ECE 471 Embedded Systems Lecture 9

General Access Control Model for DAC

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

CMPS 105 Systems Programming. Prof. Darrell Long E2.371

Chapter Two File Systems. CIS 4000 Intro. to Forensic Computing David McDonald, Ph.D.

Definition: An operating system is the software that manages resources

Introduction to Unix. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Operating-System Structures

Course and Unix Intro

13-2 EE 4770 Lecture Transparency. Formatted 8:18, 13 March 1998 from lsli

Introduction to Operating Systems

CS307 Operating Systems Introduction Fan Wu

Operating System Services

CS420: Operating Systems. OS Services & System Calls

EEE 435 Principles of Operating Systems

Threads. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Unix API Books. Linux Kernel Books. Assignments and Exams. Grading for CSC 256. Operating Systems 8/31/2018. CSC 256/456 Fall

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals

Computer Science 2500 Computer Organization Rensselaer Polytechnic Institute Spring Topic Notes: C and Unix Overview

OPERATING SYSTEM OVERVIEW

31268_WEB SYSTEMS LECTURE 1. Operating Systems Part 1

High Performance Computing Lecture 11. Matthew Jacob Indian Institute of Science

Lecture 2 - Fundamental Concepts

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

Chapter 2: Operating-System Structures

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Chapter 8 & Chapter 9 Main Memory & Virtual Memory

Objectives. Chapter 2: Operating-System Structures. 2.1 Operating System Services

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Operating Systems Concepts. CMPUT 379, Winter 2014 Section B1

2/14/2012. Using a layered approach, the operating system is divided into N levels or layers. Also view as a stack of services

Chapter 2: Operating-System Structures. Chapter 2: Operating-System Structures. Objectives. Operating System Services

CS 2150 Exam 2, Spring 2018 Page 1 of 6 UVa userid:

Operating System: Chap2 OS Structure. National Tsing-Hua University 2016, Fall Semester

OPEN SOURCE SOFTWARE

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

CSC 1600 Memory Layout for Unix Processes"

Chapter 2: Operating-System Structures

Processes and Virtual Memory Concepts

Case study: ext2 FS 1

Chapter 2: Operating-System Structures

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Chapter 2: System Structures. Operating System Concepts 9 th Edition

Lecture 2 Operating System Structures (chapter 2)

CSC369 Lecture 5. Larry Zhang, October 19,2015

CSE 4/521 Introduction to Operating Systems

Lesson 5: Software for embedding in System- Part 2

Lecture 1 - Operating System Overview

Chapter 2: System Structures

Chapter 2: Operating-System Structures. Operating System Concepts Essentials 8 th Edition

Operating Systems. Designed and Presented by Dr. Ayman Elshenawy Elsefy

Introduction to Computer Systems

Introduction to pthreads

Operating System Kernels

Lecture 19: File System Implementation. Mythili Vutukuru IIT Bombay

Chapter 2: Operating-System

Four Components of a Computer System

Operating Systems (ECS 150) Spring 2011

Memory and Addresses. Pointers in C. Memory is just a sequence of byte-sized storage devices.

Chapter 2: Operating-System Structures

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

Buffer overflow background

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

5 Lecture: Intro. to Concurrency

Introduction to Operating Systems

Module 3: Operating-System Structures

Filesystem Hierarchy and Permissions

Introduction to Operating Systems. Jo, Heeseung

o Code, executable, and process o Main memory vs. virtual memory

Operating System Architecture. CS3026 Operating Systems Lecture 03

Q1: /8 Q2: /30 Q3: /30 Q4: /32. Total: /100

Introduction to Computer Systems

Chapter 3: Operating-System Structures

Today. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview

ABrief History of the BSD Fast Filesystem. Brought to you by. Dr. Marshall Kirk McKusick

Chapter 1: Introduction. Operating System Concepts 8th Edition,

CSC 256/456: Operating Systems. Introduction. John Criswell! University of Rochester

OPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems

Process Description and Control

Basics of system administration on a Unix system

Introduction to Linux

CS 5523 Operating Systems: Midterm II - reivew Instructor: Dr. Tongping Liu Department Computer Science The University of Texas at San Antonio

CS30002: Operating Systems. Arobinda Gupta Spring 2017

Chris Riesbeck, Fall Introduction to Computer Systems

CS399 New Beginnings. Jonathan Walpole

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

Operating-System Structures

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

Chapter 3: Operating-System Structures

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

Unix System Programming - Chapter 2, part a

2/12/2013. System Call Tracing WHAT S THAT PROGRAM DOING?

CSC 453 Operating Systems

UNIX Kernel. UNIX History

Introduction to Computer Systems

APT Session 4: C. Software Development Team Laurence Tratt. 1 / 14

Transcription:

ECS 150 Operating Systems March 29th, 2007

Operating Systems Some Examples

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,...

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,... Solaris

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,... Solaris AIX

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,... Solaris AIX Minix

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,... Solaris AIX Minix DOS...

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,... Solaris AIX Minix DOS... Embedded or Realtime Operating Systems QNX

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,... Solaris AIX Minix DOS... Embedded or Realtime Operating Systems QNX RTLinux

Operating Systems Some Examples Desktop/Workstation/Server Operating Systems Linux Windows Mac OS FreeBSD, NetBSD, OpenBSD,... Solaris AIX Minix DOS... Embedded or Realtime Operating Systems QNX RTLinux TRON

Purposes of an Operating System So we can name all these different operating systems. But why do they exist? What is their underlying purpose?

Purposes of an Operating System So we can name all these different operating systems. But why do they exist? What is their underlying purpose? An operating system has two primary responsibilities: Managing the computer s resources (processor, memory, I/O devices) Providing a standard interface for users and user software

Resource Management: Examples Time-slicing of many concurrent applications onto a limited number of physical processors.

Resource Management: Examples Time-slicing of many concurrent applications onto a limited number of physical processors. Allocation of physical memory to several applications.

Resource Management: Examples Time-slicing of many concurrent applications onto a limited number of physical processors. Allocation of physical memory to several applications. Organization and bookkeeping of a disk file system.

Standard Interface: Examples The operating system hides many low level details from application programmers.

Standard Interface: Examples The operating system hides many low level details from application programmers. Suppose you re writing a program that simply opens a file and reads some text. Simple...

Standard Interface: Examples The operating system hides many low level details from application programmers. Suppose you re writing a program that simply opens a file and reads some text. Simple... now suppose that file happens to reside on a floppy disk.

Standard Interface: Examples The operating system hides many low level details from application programmers. Suppose you re writing a program that simply opens a file and reads some text. Simple... now suppose that file happens to reside on a floppy disk. the hardware interface for a floppy disk drive controller supports 16 different commands (reading/writing data, moving the disk head, etc.)

Standard Interface: Examples The operating system hides many low level details from application programmers. Suppose you re writing a program that simply opens a file and reads some text. Simple... now suppose that file happens to reside on a floppy disk. the hardware interface for a floppy disk drive controller supports 16 different commands (reading/writing data, moving the disk head, etc.) each one of those commands requires loading several bytes into a register

Standard Interface: Examples The operating system hides many low level details from application programmers. Suppose you re writing a program that simply opens a file and reads some text. Simple... now suppose that file happens to reside on a floppy disk. the hardware interface for a floppy disk drive controller supports 16 different commands (reading/writing data, moving the disk head, etc.) each one of those commands requires loading several bytes into a register each command requires 13 parameters each

Standard Interface: Examples The operating system hides many low level details from application programmers. Suppose you re writing a program that simply opens a file and reads some text. Simple... now suppose that file happens to reside on a floppy disk. the hardware interface for a floppy disk drive controller supports 16 different commands (reading/writing data, moving the disk head, etc.) each one of those commands requires loading several bytes into a register each command requires 13 parameters each Aren t you glad the OS takes care of these details for you?

Consider the following simple C program: #i n c l u d e <s t d i o. h> #i n c l u d e <time. h> i n t main ( void ) { t i m e t t = time (NULL ) ; p r i n t f ( H e l l o world! I t i s %s \n, ctime (& t ) ) ; } return 0 ; and its output: Hello world! It is Thu Mar 26 09:16:37 2007

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete?

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

What operations does the operating system perform from the time we hit ENTER in our shell until the program is complete? find the executable on the hard drive s file system check permission bits (are you allowed to run this program?) load the executable from disk into memory allocate physical memory for the program s variables and setup a virtual address space temporarily stop the shell program and allow the hello world program to run retrieve the value of the hardware clock print characters to the screen when the program finishes, free its memory for other programs to use allow the shell process to run again

Goals for this Term Become familiar with what happens internally in an Operating System Understand the basic design principles of various OS subsystems (process scheduling, memory management, file system I/O, etc.) Gain the skills to modify a real-world OS (FreeBSD 5.4)

Prerequisites Prerequisites will not be strictly enforced, but I expect you to be familiar with the following concepts: C programming (pointers, arrays, structures, malloc(), etc.) ECS 30 Data structures, especially linked lists ECS 40 & 110 How parameters are pushed onto the stack when application function calls are made ECS 50 General computer architecture (registers, ALU, etc.) ECS 154A

Brief Course Outline System calls and system programming Process scheduling and management Memory management IO & Filesystems