Operating Systems CS3502 Spring 2018

Similar documents
OPERATING SYSTEMS OVERVIEW

Operating Systems. I. Introduction. Eurecom

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

Systems Programming. The Unix/Linux Operating System

EEE 435 Principles of Operating Systems

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

Introduction to System Programming

Software Concepts. It is a translator that converts high level language to machine level language.

Introduction to Operating System. Dr. Aarti Singh Professor MMICT&BM MMU

Module 1: Introduction

Chapter 2: Operating-System Structures

Introduction to Operating Systems

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

Contents. Today's Topic: Introduction to Operating Systems

Types and Functions of Win Operating Systems

Module 1: Introduction. What is an Operating System?

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

Chapter 1: Introduction

Chapter 2 Operating-System Structures

Operating-System Structures

Operating System. Operating Systems Structure Chapter 2. Services Provided by the OS. Evolution of an Operating System

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Operating Systems Course Overview

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures

Lecture 2 Operating System Structures (chapter 2)

Introduction to Operating System

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

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

Chapter 3: Operating-System Structures

Chapter 2: Operating-System

Chapter 2: Operating-System Structures

COSC243 Part 2: Operating Systems

CS 550 Operating Systems Spring Operating Systems Overview

CSC 453 Operating Systems

Andrew S. Tanenbaum, Operating Systems, Design and Implementation, (Second Edition), Prentice Hall.

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

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

Operating System Services

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

OPERATING SYSTEMS UNIT - 1

Topics: Early systems and OS overview Skim Chapters 1-2 of SGG Read Chapter 1 of USP CS 3733 Operating Systems

Unit 2 : Computer and Operating System Structure

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss

ELEC 377 Operating Systems. Week 1 Class 2

Introduction to OS (cs1550)

Overview of Operating Systems

CS 390 Chapter 2 Homework Solutions

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

Introduction to Linux

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals

Lecture 2 - Fundamental Concepts

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

CS30002: Operating Systems. Arobinda Gupta Spring 2017

What are some common categories of system calls? What are common ways of structuring an OS? What are the principles behind OS design and

CS6401- Operating System QUESTION BANK UNIT-I

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

CS307: Operating Systems

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

Introduction. CS3026 Operating Systems Lecture 01

Lecture 1 Introduction (Chapter 1 of Textbook)

Introduction and Overview

Operating System: an Overview. Lucia Dwi Krisnawati, MA

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

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

Chapter 2: System Structures

Chapter 1: Introduction

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

Chapter 14 Operating Systems

Computer Fundamentals : Pradeep K. Sinha& Priti Sinha

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

Introduction to Operating Systems. Jo, Heeseung

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

Operating-System Structures

Reserves time on a paper sign-up sheet. Programmer runs his own program. Relays or vacuum tube hardware. Plug board or punch card input.

Chapter 2. 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.

OPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management

1. Operating System Concepts

CPS221 Lecture: Operating System Functions

ECE397A Operating Systems. Chapter 1: Introduction

Chapter 3: Operating-System Structures

Overview of Operating Systems

Principles of Operating Systems CS 446/646

Operating Systems: Internals and Design Principles. Chapter 2 Operating System Overview Seventh Edition By William Stallings

Multiprogramming. Evolution of OS. Today. Comp 104: Operating Systems Concepts 28/01/2013. Processes Management Scheduling & Resource Allocation

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023

OPERATING SYSTEMS & UTILITY PROGRAMS

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Overview of Unix / Linux operating systems

Operating Systems. Antônio Augusto Fröhlich LISHA/UFSC. December 20, 2008

Chapter 14 Operating Systems

Operating System. Operating System Overview. Layers of Computer System. Operating System Objectives. Services Provided by the Operating System

Operating System Overview. Operating System

OS concepts and structure. q OS components & interconnects q Structuring OSs q Next time: Processes

Often, more information is required when designing system call Information varies according to OS and types of system call

Transcription:

Operating Systems CS3502 Spring 2018 Presented by Dr. Guoliang Liu Department of Computer Science College of Computing and Software Engineering Kennesaw State University

Computer Systems See Appendix G in textbook A computer system consists of two basic types of components: Hardware components, which are the electronic devices and electromechanical devices, such as the processors, memory modules, disk units, keyboard, screen, and other devices. Software components, such as the application programs, operating system, utilities, and other programs.

Computer Architecture The architecture of a computer system is the relationship among the various components. Computer systems have the following three fundamental functions: processing, input, and output.

Structure of a Computer System The basic structure of a computer normally consists of one or more of the following hardware components: One or more processors RAM or random access memory, also known as main memory The massive storage devices, which store large amounts of data and programs in permanent form The I/O devices or input/output units The system bus, which provides interconnections for all components of the system

Hardware Structure of a Computer

Computer Networks On a local area network (LAN), several small computers are connected to a larger computer called a server, and depending on the network topology, the smaller computers may also be connected to each other. The server stores the global files or databases and may include one or more shared printers. A much larger type of network is known as a wide area network (WAN) and covers a large geographical region and connects local area networks located in various remote places.

Computer Network

Hardware Interrupts An interrupt mechanism in which a hardware component (i.e., an I/O device) sends an interrupt request signal to the CPU. This interrupt signal causes a temporary stop of the normal execution of a program, and the CPU then starts to execute a special function called an interrupt service routine (ISR) that handles the interrupt. When the execution of this routine is complete, the CPU can resume the execution of the program that was interrupted.

Interrupt Processing

Interrupts An application requests an operating system to perform an operation by using a Software Interrupt. Interrupts are requests to the operating system to perform some actions An operating system is interrupt driven

Software A program is a set of data definitions and one or more sequence of instructions to be executed in the computer for the purpose of carrying out some specific task. Before a program executes, it has to be translated from its original text form (source program) into a machine language program. Then, the program needs to be linked and loaded into memory.

Software Components See Chapter 1 of textbook The software components are the collection of programs that execute in the computer. These programs perform computations, control, manage, and carry out other important tasks. Two general types of software components are: System software Application software

System Software The system software is the set of programs that control the activities and functions of the various hardware components, programming tools and abstractions, and other utilities to monitor the state of the computer system. The system software forms an environment for the programmers to develop and execute their programs (collectively known as application software). Three types of users can be identified: system programmers, application programmers and end-users.

Application Software Application software consists of those programs that solve specific problems for the users and execute under control of the operating system. Application programs are developed by individuals and organizations for solving specific problems.

Types of Software Systems System software - Operating System, Assemblers, Loaders, Linkers, Compilers, Editors, Application software - All User-Oriented Programs. APPLICATION PROGRAMS SYSTEM PROGRAMS Users HARDWARE

What is an Operating System? A large and complex software component for the operation and control of the computer system. It acts as an intermediary between a user and the computer system. Examples: Linux, Unix, MS Windows, MacOS X, Sun Solaris, DEC VMS, and others.

The Operating System A provider of services to user programs A huge resource manager

Design Goals User goals operating system should be convenient to use, easy to learn, reliable, safe, and fast. System goals operating system should be easy to design, implement, and maintain, as well as flexible, reliable, error-free, and efficient.

External View of a Computer

Operating Systems Interfaces Three levels of interface: 1. Graphics GUI (windows oriented) 2. Command level (shell). At login time, the shell starts computing 3. System calls Invoked from user programs

The Shell A text-oriented program that handles user interaction with the system: Command-line interpreter The most common shell on Linux is bash On Windows, the command window

System Call Interface This is also known as the Programming Interface Programs use the API to request the OS to perform some operation

Basic Structure of an OS

Abstract Views The overall structure of an operating system is divided into the various software components using a top-down (layered) approach. The top layer provides the easiest interface to the human operators and users interacting with the system. Any layer uses the services or functions provided by the next lower layer.

Operating Systems Abstract Views External views As an user interface of the computer system As a layer of software on top of the hardware Internal view Resource manager - It controls and manages CPU, memory, I/O devices, etc.

Abstract Views of an OS

Layered Structure of an OS Users (top layer) Application User Interface (AUI): shell, commands, application programs Application program Interface (API): libraries, system calls OS kernel

Internal View of an Operating System The system the system call interface separates the kernel from the application layer and the kernel is located above the hardware The kernel is the core, and most critical part, of the operating system and needs to be always resident in memory. A detailed knowledge about the different components including these lower-level components of the operating system, corresponds to an internal view of the system.

Functional Components of an OS The most important components of an operating system are: Process manager Memory manager Resource manager File manager Device manager

Services Provided by the OS Process Control, execution, scheduling, etc. Communication between processes File Manipulation Device Manipulation Information Maintenance Memory Management

Categories of Operating Systems Batch systems, in which a set of jobs are submitted in sequence for processing. Interactive systems, which support computing for on-line users. The most common type of operating systems that support interactive computing is time-sharing, which are multi-user systems. Real-time systems, which support application programs with very tight timing constraints. Hybrid systems, which support batch and interactive computing.

A Time-Sharing System

Modern Operating Systems General Purpose Linux (Linus Torvalds) Windows (Microsoft Corporation) Unix (AT&T) Solaris (Oracle/Sun Microsystems) IRIX (Silicon Graphics) OS2 (IBM) OS/390 (IBM) VMS (Dec/Compaq/HP) MacOS (Apple)

Specialized OS Real-time OS for control Large systems Embedded OS for portable devices Linux Windows imacos Android

History of Operating Systems First generation - No operating system, bare hardware, machine language. Second generation Batch systems, assemblers, linkers, loaders, compilers Batch systems with Automatic Job Sequencing

History of Operating Systems(2) Third generation -- O.S. for complete families of computers (OS/360) Batch with Multiprogramming Spooling Timesharing (MULTICS, UNIX, ) Fourth generation Network and distributed operating systems

Jobs and Processes A job is a unit of work submitted by a user to the operating system. A typical job consists of the parts listed below: A sequence of commands to the operating system A program either in a source language or in binary form A set of input data used by the program when it executes A process is an execution instance of a program.