Operating Systems: History, Hardware & Concepts Ch 1.4 & 1.5 Thursday, January 18, 2007.

Slides:



Advertisements
Similar presentations
OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Advertisements

Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Avishai Wool lecture Introduction to Systems Programming Lecture 8 Input-Output.
OPERATING SYSTEM LESSON 2. INTRODUCTION TO OPERATING SYSTEM Computer Hardware’s complexity Operating Systems (OS) hide this complexity from users OS manages.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
OS Spring’03 Introduction Operating Systems Spring 2003.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Figure 1.1 Interaction between applications and the operating system.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Computer System Overview Chapter 1. Basic computer structure CPU Memory memory bus I/O bus diskNet interface.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Chapter 1 Introduction 1.1 What is an operating system
Using Two Queues. Using Multiple Queues Suspended Processes Processor is faster than I/O so all processes could be waiting for I/O Processor is faster.
1 What is an operating system? CSC330Patricia Van Hise.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
Computer Organization
CS 6560 Operating System Design Lecture 1. Overview 1.1 What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4.
System Calls 1.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
1 CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Architecture Support for OS CSCI 444/544 Operating Systems Fall 2008.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
Operating Systems: History, Hardware & Concepts Ch Tuesday, January 16, 2007.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Chapter 1 Introduction 1.1 What is an operating system
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do Computer-System.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
ITFN 3601 Operating Systems Computer Hardware Review OS Concepts Overview.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Interrupts, Buses Chapter 6.2.5, Introduction to Interrupts Interrupts are a mechanism by which other modules (e.g. I/O) may interrupt normal.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
© 2004, D. J. Foreman 1 Computer Organization. © 2004, D. J. Foreman 2 Basic Architecture Review  Von Neumann ■ Distinct single-ALU & single-Control.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
1.4 Hardware Review. CPU  Fetch-decode-execute cycle 1. Fetch 2. Bump PC 3. Decode 4. Determine operand addr (if necessary) 5. Fetch operand from memory.
Motherboard A motherboard allows all the parts of your computer to receive power and communicate with one another.
Lecture on Central Process Unit (CPU)
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
ITFN 2601 Introduction to Operating Systems Lecture 2 Computer Hardware Review OS Concepts Overview.
بسم الله الرحمن الرحيم MEMORY AND I/O.
操作系统原理 OPERATING SYSTEM Chapter 1 Introduction 概 述.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Chapter 11 System Performance Enhancement. Basic Operation of a Computer l Program is loaded into memory l Instruction is fetched from memory l Operands.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Operating Systems Concepts
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Jonathan Walpole Computer Science Portland State University
Operating Systems (CS 340 D)
CS 286 Computer Organization and Architecture
Today’s agenda Hardware architecture and runtime system
Today’s agenda Hardware architecture and runtime system
Computer Organization
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Outline Operating System Organization Operating System Examples
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment. Phone:
Presentation transcript:

Operating Systems: History, Hardware & Concepts Ch 1.4 & 1.5 Thursday, January 18, 2007

Today’s Schedule Sec Hardware Review Sec O/S Concepts Quiz #1

Computer Hardware Review Components of a simple personal computer Monitor Bus

Computer Hardware Review (a) A three-stage pipeline (b) A superscalar CPU

Processors Brain of the computer Fetch, decode, execute cycle Registers Program Counter (PC) Stack Pointer (SP) Pipelining improves performance, but complexities of “rolling back” appear Kernel vs. User Mode (enables establishing limitations of instruction set available)

Computer Memory The CPU is often referred to as the brain of the computer. This is where all the actual computing is done. The chipset supports the CPU. It usually contains several "controllers" which govern how information travels between the processor and other components in the system. Some systems have more than one chipset.

Computer Memory The memory controller is part of the chipset, and this controller establishes the information flow between memory and the CPU. A bus is a data path in a computer, consisting of various parallel wires to which the CPU, memory, and all input/output devices are connected. The memory bus runs from the memory controller to the computer's memory sockets

Computer Memory Memory speed is sometimes measured in Megahertz (MHz), or in terms of access time - the actual time required to deliver data - measured in nanoseconds (ns). A computer's system clock resides on the motherboard. It sends out a signal to all other computer components in rhythm, like a metronome. Cache memory is a relatively small amount (normally less than 1MB) of high speed memory that resides very close to the CPU. Cache memory is designed to supply the CPU with the most frequently requested data and instructions.

Memory Tradeoff - Speed vs. Capacity Typical memory hierarchy  numbers shown are rough approximations For RAM, how many bytes in 1KB? In 1 MB? 1000 and 1,000,000? NO!

Multiple Processes in Memory One base-limit pair and two base-limit pairs Protection and Relocation problems solved!

Memory Allocation We need a protective and fair way of allocating and resizing memory blocks for processes/jobs Two sections of memory  Code (typically static)  Data (volatile) OS Program Code User 1 Data User 2 Data Limit Base Limit Base Limit Base

Memory Management Unit (MMU) Device that checks and maps memory addresses Virtual Address – address generated by the program Physical Address – address actually used in memory

I/O Devices Typically consist of two parts:  Controller  Device Controller manages & presents the API of the device to the OS The software that “talks” to the controller is called a device driver

Input and Output Busy Waiting  User issues system call, driver waits in loop  Ties up CPU polling device Interrupt  Driver starts device, requests interrupt when finished  CPU looks for other work, until interrupt received Direct Memory Access (DMA)  Chip controls flow of bits memory and controller  CPU not constantly involved

I/O Devices (a) Steps in starting an I/O device and getting interrupt (b) How the CPU is interrupted (a) (b) Where does the Interrupt Handler store its data?

Bus Communication “highway” for all data to travel upon Multiple buses exist in modern machines  Cache (fastest)  Local (on mainboard –other busses connect to it)  Memory  PCI (successor of ISA - high-speed I/O)  SCSI (high-speed scanners & disks)  USB (slow peripherals)  IDE (disks, etc.)  ISA (slowest – legacy)

Buses in PC Structure of a large Pentium system

OS Concepts Processes Deadlock Memory Management I/O Files Security

Processes Defined as a “program in execution” AKA a “job” Contain  Instructions (code segment)  SP, PC, registers, file handles  Data segment Processes can spawn subprocesses & threads The OS must ensure fairness & protection, timeslicing & managing multiple processes at a time

Deadlock Two or more processes “stalemated” because they can’t make progress Process A Has resource 1 Waiting on resource 2 Process B Has resource 2 Waiting on resource 1

Memory Management Providing protection of one process’ memory section from another process (security) Providing a fair allocation of memory to multiple processes Swapping memory to disk as needed

Input/Output All OS must manage I/O devices Two categories:  Device independent  Device dependent (device drivers)

Files System calls  Create, remove, read, write, etc. Directories & subdirectories  Create, remove, rename, move, etc.

Security Allocate permissions  Directories  Files Example UNIX policies to consider:  Read, Write, Execute  User, Group, World

System Calls Services that the OS provides to the user Set of API that user-level programs may invoke Flavors of System Calls  UNIX  Win32

UNIX System Calls pid = fork()creates child process exit()terminates process fd = open(file, …)opens file s = mkdir(name, mode)creates directory s = chmod(name, mode)sets file/dir permissions s = kill(pid, signal)sends signal to process

Win32 System Calls CreateProcess(…)creates new process ExitProcess(…)terminates process CreateFile(…)opens file CreateDirectory(…)creates directory

Approaches to OS Monolithic Virtual Machines Client-Server (microkernel)

Monolithic OS Architecture OS written as a set of procedures Each procedure has well-defined interface (parameters) Very little structure or information hiding

Virtual Machine OS Architecture Replicate the hardware within software Trap OS calls and translate/handle them  Breaks down if you make direct I/O calls  Slow (Windows running DOS applications) Other approach: JVM (define an alternate instruction set and translate to various OS)

Client-Server OS Architecture Implement as much as possible in user- level modules The OS is as small as possible It only serves to translate and message pass OS-level calls to service processes

Tuesday, January 23 Read Chapter 2 - Processes and Threads Sections 2.1 – (ends top pg 90)  Do not worry about “code fragments”, reading for understanding concept of process Process states Threads and why they are useful