CMPS 111 - Operating Systems Prof. Scott Brandt Computer Science Department University of California, Santa Cruz.

Slides:



Advertisements
Similar presentations
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Advertisements

Chapter 1: Introduction
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
Operating Systems Concepts Professor Rick Han Department of Computer Science University of Colorado at Boulder.
Chapter 3 Overview of Operating Systems Copyright © 2008.
Slide 1-1 Computer Systems II Gordon College Operating System Overview.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 Operating System Organization.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
 Understand model of operation  Easier to see how to use the system  Enables you to write efficient code  Learn to design an OS  Even so, OS is pure.
Slide 1-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Chapter 1: Introduction and History  Where does the operating system fit in a computing system?  What does the operating system achieve?  What are the.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
CT101: Computing Systems Introduction to Operating Systems.
UDel CISC361 Study Operating System principles - processes, threads - scheduling - mutual exclusion - synchronization - deadlocks - memory management -
Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William.
Chapter 1: Introduction
Chapter 1: Introduction
2. OPERATING SYSTEM 2.1 Operating System Function
Network Operating Systems (NOS)
Chapter 1: Introduction
Chapter 1: Introduction
Introduction to Operating System (OS)
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Quick Introduction to OS
Chapter 1: Introduction
Operating Systems : Overview
GEOMATIKA UNIVERSITY COLLEGE CHAPTER 2 OPERATING SYSTEM PRINCIPLES
Chapter 2: System Structures
Intro. To Operating Systems
Introduction.
Chapter 1: Introduction
What is Concurrent Programming?
Lecture Topics: 11/1 General Operating System Concepts Processes
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Operating Systems : Overview
Introduction to Operating Systems
Operating Systems : Overview
Chapter 1: Introduction
Chapter 1: Introduction
Operating Systems: A Modern Perspective, Chapter 3
Chapter 1: Introduction
Introduction.
Operating Systems: A Modern Perspective, Chapter 1
Chapter 1: Introduction
Chapter 2 Operating System Overview
Introduction to Operating Systems
Instructor: Xiuwen Liu Department of Computer Science
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.
Chapter 1: Introduction
Lecture Topics: 11/1 Hand back midterms
Chapter 1: Introduction
Introduction and History
Presentation transcript:

CMPS Operating Systems Prof. Scott Brandt Computer Science Department University of California, Santa Cruz

General Information Focus is on operating systems –Complies with ACM & IEEE courses –Prerequisites: CMPS 101 & CMPW 12C Labs will have new material in them Do your work in the Unix Lab -- AS 105 OK to discuss assignments, but: –Must develop your own code –Cannot look at other’s code –Cannot use code in a book

General Information (cont) Course grade –4 programming assignments (40%) –2 Quizzes (10%) –Midterm (20%) –Final (30%) Get all information from web page

Introduction

Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an OS Even so, OS is pure overhead of real work Application programs have the real value to person who buys the computer

System Software Independent of applications, but common to all Examples –C library functions –A window system –A database management system –Resource management functions

Purpose of an OS (What is Resource Management?) Process: An executing program Resource: Anything that is needed for a process to run –Memory –Space on a disk –The CPU “An OS creates resource abstractions” “An OS manages resource sharing”

Resource Abstraction load(block, length, device); seek(device, 236); out(device, 9)

Resource Abstraction load(block, length, device); seek(device, 236); out(device, 9) write(char *block, int len, int device, int track, int sector) {... load(block, length, device); seek(device, 236); out(device, 9);... }

Resource Abstraction load(block, length, device); seek(device, 236); out(device, 9) write(char *block, int len, int device, int track, int sector) {... load(block, length, device); seek(device, 236); out(device, 9);... } write(char *block, int len, int device,int addr);

Resource Abstraction load(block, length, device); seek(device, 236); out(device, 9) write(char *block, int len, int device, int track, int sector) {... load(block, length, device); seek(device, 236); out(device, 9);... } write(char *block, int len, int device,int addr); fprintf(fileID, “%d”, datum);

Abstract Resources Hardware Resources OS OS Resources (OS Interface) Middleware Abstract Resources (API) Application User Interface

Resource Sharing Space- vs time-multiplexed sharing To control sharing, must be able to isolate resources OS usually provides mechanism to isolate, then selectively allows sharing –How to isolate resources –How to be sure that sharing is acceptable Concurrency

Multiprogramming Technique for sharing the CPU among runnable processes –Process may be blocked on I/O –Process may be blocked waiting for other resource While one process is blocked, another should be able to run Multiprogramming OS accomplishes CPU sharing “automatically” Reduced time to run all processes

How Multiprogramming Works Process 1 Process 2 Process 3 Process 4 Space-multiplexed Memory Time-multiplexed CPU

OS Strategies Batch processing Timesharing Personal computer & workstations Process control & real-time Network Distributed

Batch Processing Uses multiprogramming Job (file of OS commands) prepared offline Batch of jobs given to OS at one time OS processes jobs one-after-the-other No human-computer interaction OS optimizes resource utilization Batch processing (as an option) still used today

Timesharing Uses multiprogramming Support interactive computing model (Illusion of multiple consoles) Different scheduling & memory allocation strategies than batch Tends to propagate processes Considerable attention to resource isolation (security & protection) Tend to optimize response time

Personal Computers CPU sharing among one person’s processes Power of computing for personal tasks –Graphics –Multimedia Trend toward very small OS OS focus on resource abstraction Rapidly evolved to “personal multitasking” systems

Process Control & Real-Time Computer is dedicated to a single purpose Classic embedded system Must respond to external stimuli in fixed time Continuous media popularizing real-time techniques An area of growing interest

Networks LAN (Local Area Network) evolution 3Mbps (1975) -> 10 Mbps (1980)->100 Mbps (1990) High speed communication means new way to do computing –Shared files –Shared memory –???

Distributed OS Wave of the future Distributed OS App Multiple Computers connected by a Network

Evolution of Modern OS Modern OS Batch Timesharing PC & Wkstation Network OS Real-Time Memory Mgmt Protection Scheduling Files Devices Memory Mgmt Protection Scheduling System software Human-Computer Interface Client-Server Model Protocols Scheduling

Examples of Modern OS UNIX variants -- have evolved since 1970 Windows NT -- has evolved since 1989 (much more modern than UNIX) Research OS -- still evolving … Book uses Linux as main example This course will use Nachos for the programming assignments –Supplementary materials available on the web

Microsoft Windows NT Heavily window-oriented Foundation behavior is windows- independent OS API NT Kernel NT User Interface and Graphics NT Executive

Windows NT (cont) OS API has text orientation (like UNIX) Object-oriented implementation Heavy use of threads Broad spectrum of synchronization tools Modern I/O system