What is an operating system? Tool to make programmer's job easy Resource allocator – Must be fair; not partial to any process – Must discriminate between.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Chapter 2 Operating System Overview
Threads, SMP, and Microkernels
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
EEE 435 Principles of Operating Systems Operating System Concepts (Modern Operating Systems 1.5)
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Computer Systems/Operating Systems - Class 8
Winter 2005 CMPE 151: Network Administration Lecture 2.
Page 1 Processes and Threads Chapter Processes 2.2 Threads 2.3 Interprocess communication 2.4 Classical IPC problems 2.5 Scheduling.
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.
Common System Components
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.
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
Silberschatz, Galvin and Gagne  Operating System Concepts Common OS Components Process Management Memory Management File Management I/O System.
Chapter 1 Introduction 1.1 What is an operating system
1 What is an operating system? CSC330Patricia Van Hise.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Operating System It is the interface between user (application programs) and hardware. It is a program that controls the execution of application programs.
CSC 322 Operating Systems Concepts Lecture - 4: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Threads, Thread management & Resource Management.
Composition and Evolution of Operating Systems Introduction to Operating Systems: Module 2.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
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:
MODERN OPERATING SYSTEMS Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
1 Pertemuan 3 Konsep Sistem Operasi Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5.
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.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Threads G.Anuradha (Reference : William Stallings)
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Distributed System Concepts and Architectures Services
UNIX Unit 1- Architecture of Unix - By Pratima.
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.
Chapter 2 Operating System Overview Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
What is a Process ? A program in execution.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Operating System Overview
Avani R.Vasant V.V.P. Engineering College
Protection of System Resources
OPERATING SYSTEMS DESIGN AND IMPLEMENTATION Third Edition ANDREW S
Process Description and Control
Chapter 2: Operating-System Structures
Operating Systems Lecture 3.
Introduction to Operating Systems
Process Description and Control
Chapter 2 Processes and Threads 2.1 Processes 2.2 Threads
CS510 Operating System Foundations
Chapter 2 Operating System Overview
Chapter 2: Operating-System Structures
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment. Phone:
Presentation transcript:

What is an operating system? Tool to make programmer's job easy Resource allocator – Must be fair; not partial to any process – Must discriminate between different class of jobswith different service requirements –Do the above efficiently Control program Tool to facilitate efficient operation of computer system Virtual machine that is easier to understand and program Layered architecture

History of the operating systems

Early/First Generation Systems Bare machines -- vaccum tubes and plugboards –Exemplified by ENIAC –Electronic Numerical Integrator And Computer –Designed by J.W.Mauchly and J.P.Eckertof the University of Pennsylvania in 1945 –Commissioned by the Ballistics Research Lab (BRL) at the Aberdeen Proving Ground in Maryland –Made up of 18,000 vaccum tubes and 1,500 relays No operating system Black box concept -- human operators No protection

Second Generation Systems Transistors and batch systems Clear distinction between designers, builders, operators, programmers, and maintenance personnel I/O channel Read ahead / spooling Interrupts / exceptions Minimal protection Libraries / JCL

Third Generation Systems ICs and Multiprogramming System 360 and S/370 family of computers Spooling (simultaneous peripheral operation on-line) Time sharing On-line storage for – System programs – User programs and data – Program libraries

Third Generation Systems Virtual memory Multiprocessor configurations MULTICS

Fourth Generation and Beyond Personal computers and workstations MS-DOS and Unix Massively parallel systems –Pipelining –Array processing / SIMD –General multiprocessing / MIMD –Symmetric multiprocessing / SMD Any process and any thread can run on any available processor

Fourth Generation and Beyond Computer networks (communication aspect) -- network operating systems Distributed computing -- distributed operating systems

Operating System Concepts Kernel Processes Threads Files System calls Shell

Processes in Operating Systems A program in execution May be stopped and later restarted by the OS Process table –Records information about each process –Program code –Data –Stack – Program counter (PC), Stack pointer (SP), and other registers Core image

Processes in Operating Systems Process has a parent [process] and may create child processes Communication through messages Process ownership determined by the UID and GID Process id identifies the process Special process id's in Unix – 0 Swapper – 1 /sbin/init – 2 Pagedaemon

Process execution modes in Unix Two modes of process execution: user mode and kernel mode Normally, a process executes in the user mode. When a process executes a system call, the mode of execution changes from user mode to kernel mode. The bookkeeping operations related to the user process (interrupt handling, process scheduling, memory management) are performed in kernel mode.

Process execution modes in Unix User mode Processes can access their own instructions and data but not kernel instructions and data Cannot execute certain privileged machine instructions Kernel mode Processes can access both kernel as well as user instructions and data No limit to which instructions can be executed Runs on behalf of a user process and is a part of the user process

Process execution modes in Unix Threads A dispatchable unit of work to provide intraprocess concurrency in newer operating systems A process may have multiple threads of execution in parallel, each thread executing sequentially

Files and File Management File management system provides services to hide the specifics of tape and disk Invoked by system calls Files are grouped together by a directory Organized as a hierarchical tree Root directory Files specified by path name Path name separator (/ in Unix, \ in DOS) Working directory

Files and File Management Protection of files Based on a 9-bit code in Unix -- rwx bits File descriptor or handle A small integer to identify a file in subsequent operations A denial of access indicated by an error code 0 Standard input 1 Standard output 2 Standard error

Files and File Management I/O devices treated as special files b Block special files c Character special files Pipes A pseudo file to connect two processes Unix file system

Unix File System Characterized by Hierarchical structure Consistent treatment of file data Ability to create and delete files Dynamic growth of files Protection of file data Treatment of peripheral devices as files

Unix File System Organized as a tree Single root node Non-leaf nodes Directories Leaf nodes – Regular files – Special device files \ Path name Specifies how to locate the file in the system hierarchy

Multiprogramming CPU-bound system I/O-bound system Maintain more than one program in the main memory Sharing of time and space

Multiprogramming OS Requires addition of new hardware components – DMA Hardware – Priority Interrupt Mechanism – Timer – Storage and Instruction Protection – Dynamic Address Relocation Is more complex compared to a simple OS Must hide the sharing of resources between different users Must hide details of storage and I/O devices Requires a complex file system for secondary storage

Tasks of a multiprogramming OS Bridge the gap between the machine and the user level Manage the available resources needed by different users Enforce protection policies Provide facilities for synchronization and communication

Shell Command interpreter in Unix Interprets the first word of a command line as a command name Is a user program and not a part of the kernel Provides a prompt Allows for redirection of input and output Provides capability to run jobs in the background

Shell For most commands, the shell forks and the child execs the command associated with the name, treating the remaining words on the command line as parameters to the command Allows for three type of commands 1.Executable files 2.Shellscripts 3.Built-in shell commands

System Calls Set of extended instructions provided by the operating system System calls provide an interface between user program and operating system Applied to various software objects like processes and files Invoked by user programs to communicate with the kernel and request services Return from trap instruction

System Calls Library procedure corresponding to each system call – Machine registers to hold parameters of system call – Trap instruction (protected procedure call) to start OS – Hide details of trap and make system call look like ordinary procedure call Example count = read ( file, buffer, nbytes ); Actual system call read invoked by read Number of bytes actually read is returned in count In case of error, count is set to -1 \

Multics Multiplexed Information and Computing Service Design started in 1965 and completed in 1972 Collaborative effort between General Electric, Bell Telephone Labs, and Project MAC of MIT Aimed at providing –Simultaneous computer access to large community of users –Ample computation power and data storage – Easy data sharing between users, if desired