Introduction to Operating Systems

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Advertisements

Operating System.
Operating system Part four Introduction to computer, 2nd semester, 2010/2011 Mr.Nael Aburas Faculty of Information.
1. 2 The Evolution of Operating Systems : §The single processing machines of 1940’s and 1950’s were not very flexible or efficient. §The processing is.
Chapter 3 Operating Systems. Chapter 3 Operating Systems 3.1 The Evolution of Operating Systems 3.1 The Evolution of Operating Systems 3.2 Operating System.
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
Operating system Part three Introduction to computer, 2nd semester, 2010/2011 Mr.Nael Aburas Faculty of Information.
Chapter 3 Operating Systems. 2 Chapter 3 Operating Systems 3.1 The Evolution of Operating Systems 3.2 Operating System Architecture 3.3 Coordinating the.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Part two. 3.2 operating system architecture  Software have two categories  Application software  System software  Application software: consists of.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
Introduction to Operating Systems
Operating system Part two Introduction to computer, 2nd semester, 2010/2011 Mr.Nael Aburas Faculty of Information.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Operating System A program that controls the execution of application programs An interface between applications and hardware 1.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Eleventh Edition.
CS 1308 Computer Literacy and the Internet. Introduction  Von Neumann computer  “Naked machine”  Hardware without any helpful user-oriented features.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems Computer Science: An Overview Tenth Edition.
INVITATION TO COMPUTER SCIENCE, JAVA VERSION, THIRD EDITION Chapter 6: An Introduction to System Software and Virtual Machines.
Lecture 8: 9/19/2002CS149D Fall CS149D Elements of Computer Science Ayman Abdel-Hamid Department of Computer Science Old Dominion University Lecture.
1 Sec (3.2) Operating System Architecture OS. 2 Software dividing into two categories: 1. Application software 2. System Software  Operating System 
Chapter 3 Operating Systems © 2007 Pearson Addison-Wesley. All rights reserved.
Operating Systems © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 3: Operating Systems
Computer Science/Ch.3 Data Manipulation 3-1 Chapter 3 Data Manipulation.
Chapter 3 Operating Systems. © 2005 Pearson Addison-Wesley. All rights reserved 3-2 Chapter 3 Operating Systems 3.1 The Evolution of Operating Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Operating Systems Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
CT101: Computing Systems Introduction to Operating Systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Introduction to Computing Systems
Operating System Review
Chapter 3: Operating Systems
Process Management Process Concept Why only the global variables?
Operating System.
Evolution of Operating Systems
Computer Software.
Operating Systems (CS 340 D)
An Introduction to Operating Systems
Introduction to Operating System (OS)
IS310 Hardware & Network Infrastructure Ronny L
Chapter 3: Operating Systems
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Review
Shell & Kernel Concepts in Operating System
Operating System Architecture OS
Chapter 15, Exploring the Digital Domain
OS Architecture.
Operating Systems.
Operating System Review
Chapter 3 Operating Systems
Chapter 3: Operating Systems
Ainsley Smith Tel: Ex
Operating Systems : Overview
Chapter 3: Operating Systems
CS149D Elements of Computer Science
Operating Systems : Overview
Introduction to Operating Systems
Chapter 3: Operating Systems
Chapter 3: Operating Systems Computer Science: An Overview
Chapter 3: Operating Systems
Software - Operating Systems
Chapter 3: Operating Systems
Chapter 2 Operating System Overview
Operating System Overview
Presentation transcript:

Introduction to Operating Systems CT101: Computing Systems Introduction to Operating Systems

Contents The History of Operating Systems Operating System Architecture Coordinating the Machine’s Activities Handling Competition Among Processes Security

Functions of Operating Systems Oversee operation of computer Store and retrieve files Schedule programs for execution Coordinate the execution of programs An operating system is the software that controls the overall operation of a computer. Provides the means through which a user will store and retrieve files, means through which the user can request the execution of programs and provides the environment required to execute the programs requested.

Evolution of Shared Computing Batch processing Interactive processing Requires real-time processing Time-sharing/Multitasking Implemented by Multiprogramming Multiprocessor machines

Batch processing Jobs residing in mass storage wait for execution in a job queue. A queue is a storage organization in which objects are ordered in first in first-out fashion. That is, objects are removed from the queue in the order they arrived. In early operating systems, each job was accompanied by a series of instructions explaining the steps required to prepare the machine for this particular job. Those instructions were written using a system known as JCL (Job Control Language) and stored with the job in the job queue. Major drawback – no interaction once the job has been submitted for execution.

Interactive processing Interactive operating systems allow programs being executed to carry an dialogue with the user through terminals. Terminals – some “dummy” display based typewriters allowing the user to issue commands and receive responses. Today they evolved to complex machines (even stand alone machines).

Time Sharing / Multitasking Users seeking services from same machine at the same time – time sharing Implemented using a technique called multiprogramming (time is divided into multiple intervals, execution of one job is limited to a single time interval) Multiple terminals connected to same machine Driven by the fact that in the past computers were very expensive When multiprogramming is applied to single-user environments is usually called multitasking

Multiprocessor Operating Systems Provide time sharing/multi-tasking capabilities by assigning different tasks to different processors as well as sharing the time of one single processor Problems to solve: Load balancing – dynamically allocating tasks to the various processor so that all of them are used efficiently Scaling – breaking tasks into sub-tasks compatible with the number of processors available Trend to develop a network wide operating system rather than networks of individual operating systems

Embedded Operating Systems Used in hand held devices (PDAs), mobile phones, cars, etc… Limited data storage and power conservation are the big challenges Examples: VxWorks, Windows CE (Pocket PC), Palm OS, Symbinan, ThredX, RomDOS, etc…

Types of Software Application software System software Performs specific tasks for users: spreadsheets, database systems, desktop publishing, program development, games, etc… System software Provides infrastructure for application software Consists of operating system and utility software To understand the composition of an operating system, let’s first consider the complete spectrum of software running on a PC.

Software classification

Operating System Components Shell: Communicates with users Text based Graphical user interface (GUI) Kernel: Performs basic required functions File manager Device drivers Memory manager Process manager (Scheduler, dispatcher, etc..)

The shell as an interface between users and the operating system Window manager – important component of GUI shells – allocates space on the screen (windows) and keeps track of which application is associated with which window.

File Manager Role – coordinate the use of machine’s mass storage facilities Hierarchical organization Directory (or Folder): A user-created bundle of files and other directories (subdirectories) Directory Path: A sequence of directories within directories Access/operations to files is provided by file manager via a file descriptor

Device Manager Part of OS presented as a collection of device drivers – specialized software that communicate with the controllers to carry out operations on peripheral devices connected to the computer Each driver is specifically designed for its type of device (e.g. printer, monitor, etc..) and translates generic requests into device specific sequence of operations

Memory Manager Has the task of coordinating the use of main memory – allocates/deallocates space in main memory When the total required memory space exceeds the physical available space. May create the illusion that the machine has more memory than it actually does (virtual memory) by playing a “shell game” in which blocks of data (pages) are shifted back and forth between main memory and mass storage

Processes Process: The activity of executing a program (NOT THE SAME THING AS A PROGRAM!!!) Program – static set of directions (instructions) Process – dynamic entity whose properties change as time progresses. It is an instance in execution of a program. Process State: Current status of the activity Program counter General purpose registers Related portion of main memory

Process Manager Scheduler – the part of kernel in charge with the strategy for allocation/de-allocation of the CPU to each competing process Maintains a record of all processes in the OS (via a process table), introduces new processes to this pool and removes the ones that completed Dispatcher is the component of the kernel that overseas the execution of the scheduled processes Achieved by multiprogramming

Scheduler Scheduler: Adds new processes to the process table and removes completed processes from the process table Process table contains Memory area assigned to the process Priority of the process State of the process (ready or waiting)

Dispatcher Dispatcher: Controls the allocation of CPU (of time slices) to the processes in the process table The end of a time slice is signaled by an interrupt. Each process is allowed to execute for one time slice It performs “process switch” – procedure to change from one process to another ProcessA Dispatcher ProcessB

Time-sharing between process A and process B

Handling Competition for Resources Important task of OS is to allocate resources to the processes Semaphore: A “control flag” Critical Region: A group of instructions that should be executed by only one process at a time Mutual exclusion: Requirement for proper implementation of a critical region so that only one process at a time will execute the sequence of instructions part of a critical region Discussion about Printer and clear/set flag to gain access to it.

Deadlock Another problem of resource allocation - Processes block each other from continuing Conditions required for deadlock 1. Competition for non-sharable resources 2. Resources requested on a partial basis 3. An allocated resource can not be forcibly retrieved Techniques to deal with deadlock: Deadlock avoidance schemas Turn no sharable resources into sharable ones (e.g. a printer can be made sharable, via a spooling technique)

A deadlock resulting from competition for nonshareable railroad intersections

Security One of the role of OS is to provide security Attacks from outside Problems Insecure passwords Sniffing software Counter measures Auditing software Example: SW that would impersonate the Operating System’s user login screen

Security (continued) Attacks from within Problem: Unruly processes Counter measures: Control process activities via privileged modes and privileged instructions Examples on attacker SW: Alters the timer of OS – extend its own time slice and dominate the machine Access to peripheral devices directly – access to files that otherwise access would have been denied Access memory cells outside its allowed area, it can read and alter data from other processes Those relate to attacks that happen once the attacker gained access to the machine. Next step is to explore, looking for information or places to insert destructive software. This is usually easy if the attacker gained access to the administrator account. If not, then the attacker will seek administrator access, by trying to trick the OS to allow/grant access beyond the privileges granted by the simple user. To avoid such attacks, CPUS in multiprogramming systems are designed to operate in one of two privilege levels (privileged and non-privileged ). The instructions available only in privileged mode are called privileged instructions.

Getting OS Started (Bootstrapping) Booting: Procedure that transfers the OS from mass storage (permanent) into the main memory (volatile-thus empty when machine is turned on) Bootstrap: Program in ROM (example of firmware) Run by the CPU when power is turned on (PC starts at pre-defined address when power is applied) Transfers operating system from mass storage to main memory Executes jump to operating system Bootstrapping – is same thing as booting, process that is performed by a computer each time it is turned on.

The booting process

J Glenn Brookshear “Computer Science – An Overview”, ISBN: 0-321-54428-5