Introduction to Operating Systems Part I

Size: px
Start display at page:

Download "Introduction to Operating Systems Part I"

Transcription

1 TDDE25 Introduction to Operating Systems Part I Christoph Kessler IDA, Linköping University Copyright Notice: The slides partly use material from Silberschatz s, Galvin s and Gagne s book ( Operating System Concepts, course book in TDDB68). No part of the lecture notes may be reproduced in any form, due to the copyrights reserved by Wiley. These lecture notes should only be used for internal teaching purposes at the Linköping University. Christoph Kessler, IDA, Linköpings universitet. Why should I be interested in Operating Systems? Mainframe OS/360 IBM 360 Midframe TOPS-10 DEC-20 MiniComputers Unix Workstations MS-DOS Windows Linux MacOSX IBM PC? Sun Workstations 2 1

2 A Whole New World! Smart Phones Wearable Devices Portability Connectivity Networks Sensors 3 A Whole New Future World! The current 7- Series BMW and S-class Mercedes boast about 100 processors a piece. A relatively lowprofile Volvo still has 50 to 60 baby processors on board. Smart Vehicles Smart Highways Smart Cities Smart Homes / Smart El-Grids 4 2

3 Increase in Hardware Complexity Moore s Law (prediction 1965/75): #Transistors / mm 2 doubles every ~2 years. Holds until ~2015 and, with somewhat lower exponential slope, still today. Source: Intel Need for new types of interfacing to hardware Multiprocessor servers Hardware multithreading Multicore CPUs Many-Core CPUs Accelerators e.g. GPGPU Hybrid computing Clusters Cloud servers Nvidia Tesla GPU NSC s cluster supercomputer Triolith (TDDC78) 5 Increase in Software Complexity Need for new types of OS Architectures MacOS X 10.4: 86M LOC (2005) Linux kernel 2001 Linux kernel

4 Agenda Lecture I: Computer Systems Overview Building and Executing Programs Operating System Basics Lecture II: Interrupts and I/O System Calls CPU Management Memory Management File System Protection and Security 7 Computer Systems Overview Copyright Notice: The slides partly use material from Silberschatz s, Galvin s and Gagne s book ( Operating System Concepts, course book in TDDB68). No part of the lecture notes may be reproduced in any form, due to the copyrights reserved by Wiley. These lecture notes should only be used for internal teaching purposes at the Linköping University. Christoph Kessler, IDA, Linköpings universitet. 4

5 Computer Systems and Environments Stand-alone desktop computer Client-server systems Parallel systems Clustered systems Distributed systems Real-time systems Handheld systems 9 Stand-alone desktop computer PC, workstation: Computer system dedicated mainly to a single user. I/O devices: keyboards, mice, screens, small printers. Requirement: User convenience and responsiveness. Can adopt OS technology developed for larger computer systems May run several different types of operating systems (Windows, MacOS, UNIX, Linux) 10 5

6 Client-Server Computing Servers respond to requests by clients Remote procedure call also across machine boundaries via network Client/Server are mainly software roles, but machines can be dedicated to one or few such roles, e.g. Compute server: compute an action requested by the client File server: Interface to file system (read, create, update, delete) 11 Parallel Systems (1) Multiprocessor systems with more than one CPU in close communication. Today the default, even for desktop machines (multi-core) Tightly coupled system (aka. shared-memory system, multiprocessor) processors share memory and a clock; communication usually takes place through the shared memory. Advantages of parallel systems: Increased throughput Economical Scalability of performance Multiprocessor system vs multiple single-processor system (reduction of hardware such as disks, controllers etc) Increased reliability graceful degradation (fault tolerance, ) fail-soft systems (replication, ) 12 6

7 Parallel Systems (2) Processor Processor Processor Symmetric multiprocessing (SMP) One OS controls all processors and the shared memory Many processes can run at once without performance deterioration. Most modern operating systems support SMP Asymmetric multiprocessing Each processor is assigned a specific task; a master processor schedules and allocates work to slave processors. More common in special-purpose systems (e.g., embedded MP-SoC, very common in mobile/smartphones) Remark: the notion of processor is relative: A traditional PC usually has one CPU, but it usually also has a graphics processor, a communication processor etc., and this was not considered a multi-processing system. Today, though, almost all computers have multicore CPUs that could be used for parallel computing, and can thus be considered multiprocessors. 13 SMP architecture Hardware Multithreading, Multi-Core T0 T1 T2 T3 P0 P1 L1$ D1$ L1$ D1$ L2$ Memory Ctrl 2 hardware threads per core 2 cores per CPU chip Appears to the OS like 4 standard processors Main memory Intel Xeon Dualcore(2005) More in TDDD56 Multicore and GPU Programming 14 7

8 Parallel Systems (3) Multicomputer ( distributed memory parallel computer ) Several stand-alone servers, each one a SMP, loosely coupled by an interconnection network for internal data exchange More scalable than shared-memory SMPs But more cumbersome to program (message passing) NSC Tetralith, LiU, 2018 More in TDDC78 Programming parallel computers 15 Parallel Systems (4) Speed-up of a single application by parallel processing? Requires parallelisation / restructuring of the program using special parallel programming languages / systems SMP: Multithreading TDDB68, TDDC78 HPC clusters: MPI (Message-Passing Interface) TDDC78 Data centers: Mapreduce / Hadoop 732A54/TDDE31 Or new, explicitly parallel algorithms First used in High-Performance Computing for numerically intensive applications (weather forecast, simulations,...) Now ubiquitous problem due to switch to multicore/manycore CPUs 16 8

9 Parallel Computing Systems 17 Clustered Systems Like multiprocessor systems, but multiple systems (servers) working together Often using a high-speed interconnect between servers (e.g. Infiniband) Usually sharing external mass storage via a storage-area network (SAN) NSC Tetralith, LiU, 2018 Some clusters are used for high-performance computing (HPC) For data centers and critical applications: Provides a high-availability/reliability service which survives failures Asymmetric clustering - one server runs the application while other servers are in hot-standby mode Symmetric clustering - has multiple nodes running the same application, monitoring each other 18 9

10 Distributed Systems (1) Loosely coupled system Networked stand-alone computers (nodes) each node has its own local memory Nodes communicate with one another by message passing through various communications lines, such as high-speed buses, telephone lines or wireless connections (LAN, WAN, MAN, Bluetooth, ) Clustered systems are a special case, with stronger network Distribute the computation among several physical computers Advantages of distributed systems: Resource sharing Computation speed up Adaptivity: load sharing (migration of jobs) Fault tolerance May be either client-server or peer-to-peer systems 19 Distributed Systems (2) OS support for distributed systems Network Operating System provides file sharing, e.g., NFS - Network File System provides communication scheme runs independently from other computers on the network Distributed Operating System less autonomy between computers gives the impression that there is a single operating system controlling the network. More about this in TDDD25 Distributed Systems 20 10

11 Distributed Computing Systems 21 Real-Time Systems Often used as a control device in a dedicated application/environment, such as controlling scientific experiments, medical devices, avionics / automotive control, industrial control systems, and some display systems. Well-defined tasks with fixed time constraints. Hard real-time systems. Deadlines must be met under all circumstances Conflicts with time-sharing systems, not supported by general-purpose OSs. Soft real-time systems Missed deadline degraded quality of service Limited utility in industrial control or robotics Useful in applications (multimedia, virtual reality) requiring advanced OS features. More in TDDD07 Real-time Systems 22 11

12 Handheld Systems Personal Digital Assistants (PDAs), ipads etc. Cellular telephones, smartphones Issues: Limited memory Slow processors Small display screens Limited battery lifetime Iphone 8 Shipping with 2 GB RAM, 64GB Flash memory 6 core CPU + embedded GPU +... up to 2.39GHz 4.7 (but 1334 x 750 pixels) 23 Before talking about Operating Systems Copyright Notice: The slides partly use material from Silberschatz s, Galvin s and Gagne s book ( Operating System Concepts, course book in TDDB68). No part of the lecture notes may be reproduced in any form, due to the copyrights reserved by Wiley. These lecture notes should only be used for internal teaching purposes at the Linköping University. Christoph Kessler, IDA, Linköpings universitet. 12

13 Before talking about OS, a short note on programming languages suitable for system programming Early operating systems were implemented in assembly language (and some low-level parts of modern OS still are). Necessary for direct access to hardware devices Since the 1970s the dominating language for system programming is C. Also used a lot in high-performance and embedded computing Today, no new microprocessor ships without a C compiler. Many high-level programming languages are compiled to C. You will need C for programming labs in later courses Operating systems, Compiler construction, Parallel programming, Multicore/GPU programming, Realtime systems, Embedded systems, 25 Java vs. C Java C For application programming only Design goals: Programmer productivity Safety Hardware completely hidden Comfortable E.g. automatic memory management Protection (to some degree) Slow E.g., array bound checking Time-unpredictable For system programming mainly Design goals: Direct control of hardware High performance / real-time Minimalistic design Less comfortable Little protection low-level 26 13

14 A Short History of C C was developed in the early 1970 s by Dennis Ritchie at Bell Labs Objective: structured but flexible programming language e.g. for writing device drivers or operating systems Used for implementing the Unix OS Book 1978 by Brian Kernighan and Dennis Ritchie ( K&R-C ) ANSI-C 1989 standard by ANSI ( C89 ) The C standard for many programmers (and compilers...) Became the basis for standard C++ Java borrowed much of its syntax The GNU C compiler (gcc) implemented a superset ( GNU-C ) C99 standard by ISO, only minor changes C11 (ISO) multithreading support added 27 How to build and execute programs on a real computer Copyright Notice: The slides partly use material from Silberschatz s, Galvin s and Gagne s book ( Operating System Concepts, course book in TDDB68). No part of the lecture notes may be reproduced in any form, due to the copyrights reserved by Wiley. These lecture notes should only be used for internal teaching purposes at the Linköping University. Christoph Kessler, IDA, Linköpings universitet. 14

15 The Compilation Workflow /* file hello.c */ #include <stdio.h> int main() { printf("hello, world\n"); }.file "hello.c".section.rodata.str1.1,"ams",@progbits,1.lc0:.string "hello, world".text.p2align 4,,15.globl main.type main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp subl $16, %esp movl $.LC0, (%esp) call puts leave xorl %eax, %eax ret.size main,.-main 29 Preprocessing Phase C Preprocessor (cpp): modifies the original C source program according to directives that begin with the # character. #include <stdio.h> tells the processor to read the contents of the system header file stdio.h and insert it directly into the program text. Output is another C source program, typically with the.i suffix

16 Compilation Phase Compilation Phase (cc1): Translate the text file hello.i into the text file hello.s. hello.s contains an assembly-language program Each statement in an assembly language program exactly describes one low-level machine language instruction in a standard text form. C compiler Assembly language Fortran compiler Assembly language provides a common output language for different compilers main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp subl $16, %esp movl $.LC0, (%esp) call puts leave xorl %eax, %eax ret 31 hello.s (in x86 assembler language).file "hello.c".section.rodata.str1.1,"ams",@progbits,1.lc0:.string "hello, world".text.p2align 4,,15.globl main.type main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp subl $16, %esp movl $.LC0, (%esp) call puts leave xorl%eax, %eax ret.size main,.-main.section.note.gnu-stack,"",@progbits.ident "GCC: (GNU) (Red Hat fc3)" 32 16

17 Assembly Phase Assembler (as): translates the text-based assembly program into machine language instructions, packages them in a form known as a relocatable object program, and stores the result in the object file hello.o hello.o is a binary file (object file) whose bytes encode machine instructions and -data rather than characters. Binary files use a system-specific binary file format, e.g. ELF, COFF. a4 f0 dd 07 7c 65 a6 b2 06 0f c3 dd a2 ff bd Linking Phase Linker (ld): merges pre-compiled object files to a single one. The result is an executable object file that is ready to be loaded into memory (using the OS loader) and executed by the system. The hello program uses the printf function, which is part of the standard C library. This function resides in a separate precompiled object file (e.g. printf.o or in libc.a) that has to be merged with hello.o. Also some additional code and data (program startup code, C runtime system, etc., in libc.a) is added by the linker

18 Calling the entire toolchain E.g., gcc hello.c o hello (here, for the GNU C compiler gcc) calls cpp, cc1, as, ld for single-module program hello.c For automatizing the build process of multi-module programs, building-tools like make or IDEs like ECLIPSE are convenient. 35 Compiling and Linking for Multi-Module C Programs xy.h glob.h stdio.h #include #include #include abc.c mymain.c def.c preprocess compile + asm cc abc.c cc mymain.c cc def.c abc.o mymain.o def.o link libc.a a.out (executable) C run-time library is linked with the user code 36 18

19 Running an Executable Program /* hello.c */ #include <stdio.h> int main() { printf("hello, world\n"); } hello a4 f0 dd 07 7c 65 a6 b2 06 0f c3 dd a2 ff bd 87 Preprocess Compile Assemble Link Executable Object File (binary) In a Unix system, a shell is a program which is a command line interpreter The shell prints a prompt, waits for the user to type in a command and then performs the command. unix>./hello hello, world unix> Input Output If it is not a built-in shell command, then the shell assumes it is an executable file and that it should load and run it. 37 Running the hello program shell As the characters./hello are typed at the keyboard, the shell program reads each one into a register and then it is stored in memory Reading the hello command from the keyboard 38 19

20 Running the hello program Loading the executable from disk into main memory a4 f0 dd 07 7c 65 a6 b2 06 0f c3 dd a2 ff bd 87 a4 f0 dd 07 7c 65 a6 b2 06 0f c3 dd a2 ff bd 87 When the enter key is hit on the keyboard, the shell knows that we have finished typing the command. The shell then calls the OS to allocate memory and load the executable file. The loader copies the code and data in the hello object file from disk to main memory. Using a technique called Direct Memory Access (DMA) the data travels directly from the disk to the main memory without passing through the processor. 39 Running the hello program Writing the output string from memory to the display Once the code and data in the hello object file are loaded into memory, the processor begins executing the machine instructions in the hello program s main routine main: pushl %ebp movl %esp, %ebp subl $8, %esp andl $-16, %esp subl $16, %esp movl $.LC0, (%esp) call puts leave xorl %eax, %eax ret These instructions copy the bytes in the hello, world string from memory to the register file and from there to the display device where they are displayed on the screen 40 20

21 Some questions How can we achieve that the shell remains active while hello is running? e.g. to accept input from the keyboard for aborting the started program, or for starting further programs How do we make sure to re-gain control over the computer e.g. if a started program hangs in an endless loop? How can multiple programs (or multiple copies of the same program) run concurrently (execution overlap in time) even if there is only one processor? How can such processes communicate with each other? How do we make sure that processes use system resources fairly? This (and more) is solved by using an operating system. 41 OS Basics Copyright Notice: The slides partly use material from Silberschatz s, Galvin s and Gagne s book ( Operating System Concepts, course book in TDDB68). No part of the lecture notes may be reproduced in any form, due to the copyrights reserved by Wiley. These lecture notes should only be used for internal teaching purposes at the Linköping University. Christoph Kessler, IDA, Linköpings universitet. 21

22 What is an Operating System (OS)? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals: Execute user programs in a well-defined environment. Make application software portable and not tied to a specific machine hiding low-level and implementational detail Make the computer system convenient to use. Administrate system resources. Improves overall system reliability error confinement, fault tolerance, reconfiguration... Enable efficient use of the computer hardware support parallel activity, avoid wasted CPU cycles... Provides protection mechanisms for user programs and files and security against possible threats from within and outside the system 43 What is an Operating System (OS)? An operating system provides an environment within which other programs can do useful work; the OS does not perform any useful function itself

23 Where are OSs found? Embedded systems Microprocessor market shares in % 1% Real-time systems Operating Systems (A Selection) General purpose operating systems Unix incl. variants, such as Sun/Oracle Solaris, HP-UX Linux Windows 95/98/2000, NT/XP/Vista/7/8/10/ Mac OS X Application specific operating systems, e.g. mobile OS, real-time OS Android ios Symbian Windows CE, Mobile, Phone Embedded Linux RT-Linux VxWorks OSE QNX

24 Operating System Definition OS is a resource allocator Manages all resources of a computer system Decides between conflicting requests for efficient and fair resource use OS is a control program Controls execution of programs to prevent errors and improper use of the computer No universally accepted definition The one program running at all times on the computer is called the kernel. Everything else is either a system program (ships with the operating system) or an application program. 47 Computer System Structure Computer system can be divided into 4 components: Hardware provides basic computing resources CPU, memory, I/O devices Operating system controls and coordinates use of hardware among various applications and users Application programs define the ways in which the system resources are used to solve the computing problems of the users Word processors, compilers, web browsers, database systems, games Users People, machines, other computers 48 24

25 Agenda Lecture I: Computer Systems Overview Building and Executing Programs Operating System Basics Lecture II: Interrupts and I/O System Calls CPU Management Memory Management File System Protection and Security 49 25

Introduction to Operating Systems Part I

Introduction to Operating Systems Part I TDDD63 Introduction to Operating Systems Part I Christoph Kessler IDA, Linköping University Copyright Notice: The slides partly use material from Silberschatz s, Galvin s and Gagne s book ( Operating System

More information

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)?

Introduction. TDDI04, K. Arvidsson, IDA, Linköpings universitet Contents. What is an Operating System (OS)? TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Introduction Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin s and Gagne s book ( Operating

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real -Time Systems Handheld Systems Computing Environments

More information

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

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction Operating Systems Fundamentals Overview of Operating Systems Ahmed Tawfik Modern Operating Systems are increasingly complex Operating System Millions of Lines of Code DOS 0.015 Windows 95 11 Windows 98

More information

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

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System? Introduction CSCI 315 Operating Systems Design Department of Computer Science What is an Operating System? A Modern Computer System Computer System Components Disks... Mouse Keyboard Printer 1. Hardware

More information

ECE397A Operating Systems. Chapter 1: Introduction

ECE397A Operating Systems. Chapter 1: Introduction ECE397A Operating Systems Welcome! Instructor: Professor Csaba Andras Moritz Class webpage: http://www.ecs.umass.edu/ece/andras/courses/ece397 Instructors webpage: http://www.ecs.umass.edu/ece/andras 3

More information

Module 1: Introduction. What is an Operating System?

Module 1: Introduction. What is an Operating System? Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real-Time Systems

More information

Module 1: Introduction

Module 1: Introduction Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real-Time Systems

More information

Module 1: Introduction

Module 1: Introduction Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

Operating System: an Overview. Lucia Dwi Krisnawati, MA

Operating System: an Overview. Lucia Dwi Krisnawati, MA Operating System: an Overview Lucia Dwi Krisnawati, MA What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. Operating system goals:

More information

Chapter 1: Introduction. What is an Operating System? Overview Course (contd.) How do I spend my time? Computer System Components

Chapter 1: Introduction. What is an Operating System? Overview Course (contd.) How do I spend my time? Computer System Components ECE397A Operating Systems Overview Chapter 1: Introduction Welcome! Instructor: Professor Csaba Andras Moritz, andras@ecs.umass.edu Class webpage: http://www.ecs.umass.edu/ece/andras/courses/ece397_s2005

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems Personal-Computer Systems Parallel Systems Distributed Systems Real -Time

More information

OPERATING SYSTEMS UNIT - 1

OPERATING SYSTEMS UNIT - 1 OPERATING SYSTEMS UNIT - 1 Syllabus UNIT I FUNDAMENTALS Introduction: Mainframe systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered Systems Real Time Systems Handheld Systems -

More information

Chapter 1: Introduction

Chapter 1: Introduction Chapter 1: Introduction Silberschatz, Galvin and Gagne 2009 Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System

More information

Chapter 1: Introduction Dr. Ali Fanian. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction Dr. Ali Fanian. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Dr. Ali Fanian Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 1.2 Silberschatz, Galvin and Gagne 2013 Organization Lectures Homework Quiz Several homeworks

More information

Lecture 1 Introduction (Chapter 1 of Textbook)

Lecture 1 Introduction (Chapter 1 of Textbook) Bilkent University Department of Computer Engineering CS342 Operating Systems Lecture 1 Introduction (Chapter 1 of Textbook) Dr. İbrahim Körpeoğlu http://www.cs.bilkent.edu.tr/~korpe 1 References The slides

More information

Introduction Presentation A

Introduction Presentation A CSE 2421/5042: Systems I Low-Level Programming and Computer Organization Introduction Presentation A Read carefully: Bryant Chapter 1 Study: Reek Chapter 2 Skim: Reek Chapter 1 08/22/2018 Gojko Babić Some

More information

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Objectives To describe the basic organization of computer systems To provide a grand tour of the major

More information

TDDB68 Concurrent Programming and Operating Systems. Lecture 2: Introduction to C programming

TDDB68 Concurrent Programming and Operating Systems. Lecture 2: Introduction to C programming TDDB68 Concurrent Programming and Operating Systems Lecture 2: Introduction to C programming Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science

More information

European University of Lefke. Instructor: Dr. Arif SARI

European University of Lefke. Instructor: Dr. Arif SARI European University of Lefke CIS 105 Operating Systems Instructor: Dr. Arif SARI Email: asari@eul.edu.tr Introduction 1.1 Silberschatz, Galvin and Gagne 2009 Chapter 1: Introduction, Silberschatz, Galvin

More information

Course Content. 07-Feb-17 Faculty of Computer Science & Engineering 1 BK TP.HCM

Course Content. 07-Feb-17 Faculty of Computer Science & Engineering 1 BK TP.HCM Course Content Course Overview Process Concepts Processes Scheduling Processes Synchronization Deadlocks & Problems solving Real Memory Virtual Memory I/O Management Files system Some modern OS Examples

More information

UNIT I OPERATING SYSTEMS OVERVIEW

UNIT I OPERATING SYSTEMS OVERVIEW UNIT I OPERATING SYSTEMS OVERVIEW Computer System Overview-Basic Elements, Instruction Execution, Interrupts, Memory Hierarchy, Cache Memory, Direct Memory Access, Multiprocessor and Multicore Organization.

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today: Welcome to EECS 213 Lecture topics and assignments Next time: Bits & bytes and some Boolean algebra Fabián E. Bustamante, Spring 2010 Welcome to Intro. to Computer

More information

CSC 453 Operating Systems

CSC 453 Operating Systems CSC 453 Operating Systems Lecture 1: An Introduction What Is an Operating System? An operating system is the software that serves as an interface between the user (or his/her software applications) and

More information

Introduction to Computer Systems

Introduction to Computer Systems Introduction to Computer Systems Today:! Welcome to EECS 213! Lecture topics and assignments Next time:! Bits & bytes! and some Boolean algebra Fabián E. Bustamante, 2007 Welcome to Intro. to Computer

More information

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction

Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Operating Systems Course 2 nd semester 2016/2017 Chapter 1: Introduction Lecturer: Eng. Mohamed B. Abubaker Note: Adapted from the resources of textbox Operating System Concepts, 9 th edition What is an

More information

1. Operating System Concepts

1. Operating System Concepts 1. Operating System Concepts 1.1 What is an operating system? Operating systems are an essential part of any computer system. An operating system (OS) is software, which acts as an intermediary between

More information

Computer-System Organization (cont.)

Computer-System Organization (cont.) Computer-System Organization (cont.) Interrupt time line for a single process doing output. Interrupts are an important part of a computer architecture. Each computer design has its own interrupt mechanism,

More information

DM510 Operating Systems. Jacob Aae Mikkelsen

DM510 Operating Systems. Jacob Aae Mikkelsen DM510 Operating Systems Jacob Aae Mikkelsen DM510 2014 DM510 Course Introduction Teacher: Jacob Aae Mikkelsen ( jamik@imada.sdu.dk ) Teaching Assistant: Daniel Fentz Johansen ( dfjohansen@gmail.com ) Course

More information

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006 C Compilation Model Comp-206 : Introduction to Software Systems Lecture 9 Alexandre Denault Computer Science McGill University Fall 2006 Midterm Date: Thursday, October 19th, 2006 Time: from 16h00 to 17h30

More information

Chris Riesbeck, Fall Introduction to Computer Systems

Chris Riesbeck, Fall Introduction to Computer Systems Chris Riesbeck, Fall 2011 Introduction to Computer Systems Welcome to Intro. to Computer Systems Everything you need to know http://www.cs.northwestern.edu/academics/courses/213/ Instructor: Chris Riesbeck

More information

A software view. Computer Systems. The Compilation system. How it works. 1. Preprocesser. 1. Preprocessor (cpp)

A software view. Computer Systems. The Compilation system. How it works. 1. Preprocesser. 1. Preprocessor (cpp) A software view User Interface Computer Systems MTSU CSCI 3240 Spring 2016 Dr. Hyrum D. Carroll Materials from CMU and Dr. Butler How it works hello.c #include int main() { printf( hello, world\n

More information

Introduction to Operating Systems

Introduction to Operating Systems Introduction to Operating Systems B. Ramamurthy (adapted from C. Egert s and W. Stallings slides) 1/25/02 CSE421, Spring 2002 1 Introduction A computer system consists of hardware system programs application

More information

OPERATING- SYSTEM CONCEPTS

OPERATING- SYSTEM CONCEPTS INSTRUCTOR S MANUAL TO ACCOMPANY OPERATING- SYSTEM CONCEPTS SEVENTH EDITION ABRAHAM SILBERSCHATZ Yale University PETER BAER GALVIN Corporate Technologies GREG GAGNE Westminster College Preface This volume

More information

Processes and Threads

Processes and Threads TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Processes and Threads [SGG7] Chapters 3 and 4 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin

More information

TDDB68 Concurrent Programming and Operating Systems. Lecture 1: Introduction, interrupts and system calls

TDDB68 Concurrent Programming and Operating Systems. Lecture 1: Introduction, interrupts and system calls TDDB68 Concurrent Programming and Operating Systems Lecture 1: Introduction, interrupts and system calls Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information

More information

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

An Operating System History of Operating Systems. Operating Systems. Autumn CS4023 Operating Systems Autumn 2017-2018 Outline 1 2 What is an Operating System? From the user s point of view an OS is: A program that acts as an intermediary between a user of a computer and the computer

More information

Operating Systems Introduction. Michael O Boyle

Operating Systems Introduction. Michael O Boyle Operating Systems 2017 Introduction Michael O Boyle mob@inf.ed.ac.uk 1 Overview Introduction Definition of an operating system Hard to pin down Historical look Key functions Timesharing Multitasking Various

More information

CS6401- Operating System QUESTION BANK UNIT-I

CS6401- Operating System QUESTION BANK UNIT-I Part-A 1. What is an Operating system? QUESTION BANK UNIT-I An operating system is a program that manages the computer hardware. It also provides a basis for application programs and act as an intermediary

More information

Module 1 Introduction/OS Overview

Module 1 Introduction/OS Overview Module 1 Introduction/OS Overview Reading: Chapter 1 and 2 (Silberchatz) Objective: Quick overview of computer system organization the processor (CPU), memory, and input/output, architecture and general

More information

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

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OPERATING SYSTEMS Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne OVERVIEW An operating system is a program that manages the

More information

Outline. Compiling process Linking libraries Common compiling op2ons Automa2ng the process

Outline. Compiling process Linking libraries Common compiling op2ons Automa2ng the process Compiling Programs Outline Compiling process Linking libraries Common compiling op2ons Automa2ng the process Program compilation Programmers usually writes code in high- level programming languages (e.g.

More information

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Slides based on the book Operating System Concepts, 9th Edition, Abraham Silberschatz, Peter B. Galvin and Greg Gagne,

More information

Introduction to Computer Systems

Introduction to Computer Systems CS-213 Introduction to Computer Systems Yan Chen Topics: Staff, text, and policies Lecture topics and assignments Lab rationale CS 213 F 06 Teaching staff Instructor TA Prof. Yan Chen (Thu 2-4pm, Tech

More information

ENCE Computer Organization and Architecture. Chapter 1. Software Perspective

ENCE Computer Organization and Architecture. Chapter 1. Software Perspective Computer Organization and Architecture Chapter 1 Software Perspective The Lifetime of a Simple Program A Simple Program # include int main() { printf( hello, world\n ); } The goal of this course

More information

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

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

More information

Operating Systems CS3502 Spring 2018

Operating Systems CS3502 Spring 2018 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

More information

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture Operating-System Structure Operating-System Operations Process Management Memory Management Storage Management

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

WHY PARALLEL PROCESSING? (CE-401)

WHY PARALLEL PROCESSING? (CE-401) PARALLEL PROCESSING (CE-401) COURSE INFORMATION 2 + 1 credits (60 marks theory, 40 marks lab) Labs introduced for second time in PP history of SSUET Theory marks breakup: Midterm Exam: 15 marks Assignment:

More information

Part I Overview Chapter 1: Introduction

Part I Overview Chapter 1: Introduction Part I Overview Chapter 1: Introduction Fall 2010 1 What is an Operating System? A computer system can be roughly divided into the hardware, the operating system, the application i programs, and dthe users.

More information

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

Topics: Early systems and OS overview Skim Chapters 1-2 of SGG Read Chapter 1 of USP CS 3733 Operating Systems Topics: Early systems and OS overview Skim Chapters 1-2 of SGG Read Chapter 1 of USP CS 3733 Operating Systems Instructor: Dr. Turgay Korkmaz Department Computer Science The University of Texas at San

More information

Operating System Concepts Rab Nawaz Khan Jadoon

Operating System Concepts Rab Nawaz Khan Jadoon Operating System Concepts Rab Nawaz Khan Jadoon DCS COMSATS Institute of Information Technology Lecturer COMSATS Lahore Pakistan Operating System Concepts Operating System Operating System It is a system

More information

Operating Systems: Lecture 1. Introduction

Operating Systems: Lecture 1. Introduction 1 Operating Systems: Lecture 1 Introduction Jinwoo Kim jwkim@jjay.cuny.edu Chapter 1: Introduction 2 What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems

More information

Overview of Operating Systems

Overview of Operating Systems Lecture Outline Overview of Operating Systems Instructor: Dr. Tongping Liu Thank Dr. Dakai Zhu and Dr. Palden Lama for providing their slides. 1 2 Lecture Outline Von Neumann Architecture 3 This describes

More information

Memory Management. Contents: Memory Management. How to generate code? Background

Memory Management. Contents: Memory Management. How to generate code? Background TDIU11 Operating systems Contents: Memory Management Memory Management [SGG7/8/9] Chapter 8 Background Relocation Dynamic loading and linking Swapping Contiguous Allocation Paging Segmentation Copyright

More information

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are:

Introduction CHAPTER. Practice Exercises. 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: 1 CHAPTER Introduction Practice Exercises 1.1 What are the three main purposes of an operating system? Answer: The three main puropses are: To provide an environment for a computer user to execute programs

More information

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

NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss NETW3005 Operating Systems Lecture 1: Introduction and history of O/Ss General The Computer Architecture section SFDV2005 is now complete, and today we begin on NETW3005 Operating Systems. Lecturers: Give

More information

TDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services

TDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services TDDI04 Concurrent Programming, Operating Systems, and Real-time Operating Systems Operating System Structures [SGG7] Chapter 2 Copyright Notice: The lecture notes are mainly based on Silberschatz s, Galvin

More information

High Performance Computing Lecture 1. Matthew Jacob Indian Institute of Science

High Performance Computing Lecture 1. Matthew Jacob Indian Institute of Science High Performance Computing Lecture 1 Matthew Jacob Indian Institute of Science Agenda 1. Program execution: Compilation, Object files, Function call and return, Address space, Data & its representation

More information

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory. Demand Paging

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory. Demand Paging TDDB68 Concurrent programming and operating systems Overview: Virtual Memory Virtual Memory [SGG7/8] Chapter 9 Background Demand Paging Page Replacement Allocation of Frames Thrashing and Data Access Locality

More information

How Compiling and Compilers Work

How Compiling and Compilers Work How Compiling and Compilers Work Dr. Axel Kohlmeyer Research Professor, Department of Mathematics Associate Director, Institute for Computational Science Assistant Vice President for High-Performance Computing

More information

CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM. :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~

CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM. :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~ CHAPTER 03: MULTIMEDIA & OPERATING SYSTEM :: Operating System :: ~ What is OS?~ ~ OS Functions~ ~ OS Characteristics ~ ~ Type of OS~ 1 Operating System and Software Computer Operating System An operating

More information

CS30002: Operating Systems. Arobinda Gupta Spring 2017

CS30002: Operating Systems. Arobinda Gupta Spring 2017 CS30002: Operating Systems Arobinda Gupta Spring 2017 General Information Textbook: Operating System Concepts, 8 th or 9 th Ed, by Silberschatz, Galvin, and Gagne I will use materials from other books

More information

EL2310 Scientific Programming

EL2310 Scientific Programming Lecture 6: Introduction to C (pronobis@kth.se) Overview Overview Lecture 6: Introduction to C Roots of C Getting started with C Closer look at Hello World Programming Environment Schedule Last time (and

More information

Chapter 1 Computer System Overview

Chapter 1 Computer System Overview Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Seventh Edition By William Stallings Objectives of Chapter To provide a grand tour of the major computer system components:

More information

Systems Programming. The Unix/Linux Operating System

Systems Programming. The Unix/Linux Operating System Systems Programming The Unix/Linux Operating System 1 What is UNIX? A modern computer operating system Operating system: a program that acts as an intermediary between a user of the computer and the computer

More information

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM:

CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: CHAPTER-1: INTRODUCTION TO OPERATING SYSTEM: TOPICS TO BE COVERED 1.1 Need of Operating System 1.2 Evolution of os 1.3 operating system i. Batch ii. iii. iv. Multiprogramming Time sharing Real time v.

More information

CSC180: Lecture 2. Wael Aboulsaadat.

CSC180: Lecture 2. Wael Aboulsaadat. CSC180: Lecture 2 Wael Aboulsaadat wael@cs.toronto.edu http://portal.utoronto.ca/ Acknowledgement: These slides are partially based on the slides supplied with Prof. Savitch book: Problem Solving with

More information

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

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services Operating System Services One set of services for users The other set of services for system operations Operating Systems Structures Notice: This set of slides is based on the notes by Professor Perrone

More information

COS 318: Operating Systems. Overview. Jaswinder Pal Singh Computer Science Department Princeton University

COS 318: Operating Systems. Overview. Jaswinder Pal Singh Computer Science Department Princeton University COS 318: Operating Systems Overview Jaswinder Pal Singh Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times u Precepts: l Mon: 7:30-8:20pm, 105

More information

Chapter 4: Multithreaded Programming. Operating System Concepts 8 th Edition,

Chapter 4: Multithreaded Programming. Operating System Concepts 8 th Edition, Chapter 4: Multithreaded Programming, Silberschatz, Galvin and Gagne 2009 Chapter 4: Multithreaded Programming Overview Multithreading Models Thread Libraries Threading Issues 4.2 Silberschatz, Galvin

More information

Draft. Chapter 1 Program Structure. 1.1 Introduction. 1.2 The 0s and the 1s. 1.3 Bits and Bytes. 1.4 Representation of Numbers in Memory

Draft. Chapter 1 Program Structure. 1.1 Introduction. 1.2 The 0s and the 1s. 1.3 Bits and Bytes. 1.4 Representation of Numbers in Memory Chapter 1 Program Structure In the beginning there were 0s and 1s. GRR 1.1 Introduction In this chapter we will talk about memory: bits, bytes and how data is represented in the computer. We will also

More information

x86 assembly CS449 Spring 2016

x86 assembly CS449 Spring 2016 x86 assembly CS449 Spring 2016 CISC vs. RISC CISC [Complex instruction set Computing] - larger, more feature-rich instruction set (more operations, addressing modes, etc.). slower clock speeds. fewer general

More information

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on Chapter 1: Introduction Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 1: Introduction What Operating Systems Do Computer-System Organization Computer-System Architecture

More information

Follow us on Twitter for important news and Compiling Programs

Follow us on Twitter for important news and Compiling Programs Follow us on Twitter for important news and updates: @ACCREVandy Compiling Programs Outline Compiling process Linking libraries Common compiling op2ons Automa2ng the process Program compilation Programmers

More information

COSC243 Part 2: Operating Systems

COSC243 Part 2: Operating Systems COSC243 Part 2: Operating Systems Lecture 14: Introduction, and history of operating systems Zhiyi Huang Dept. of Computer Science, University of Otago Zhiyi Huang (Otago) COSC243 Lecture 14 1 / 27 General

More information

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 04: Introduction to C Readings: Chapter 1.5-1.7 What is C? C is a general-purpose, structured

More information

Overview of Operating Systems

Overview of Operating Systems Lecture Outline Overview of Operating Systems Instructor: Dr. Tongping Liu Operating System: what is it? Evolution of Computer Systems and OS Concepts Different types/variations of Systems/OS Ø Parallel/distributed/real-time/embedded

More information

Fundamental Concepts and History

Fundamental Concepts and History Fundamental Concepts and History Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered I. Fundamental Concepts II. Evolution of OS 2 Key Concepts

More information

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

Lecture Topics. Announcements. Today: Operating System Overview (Stallings, chapter , ) Next: Processes (Stallings, chapter Lecture Topics Today: Operating System Overview (Stallings, chapter 2.1-2.4, 2.8-2.10) Next: Processes (Stallings, chapter 3.1-3.6) 1 Announcements Consulting hours posted Self-Study Exercise #3 posted

More information

CSCE150A. Administrivia. Overview. Hardware. Software. Example. Program. Pseudocode. Flowchart. Control Structures. Hello World Program CSCE150A

CSCE150A. Administrivia. Overview. Hardware. Software. Example. Program. Pseudocode. Flowchart. Control Structures. Hello World Program CSCE150A Computer Science & Engineering 150A Problem Solving Using Computers Lecture 01 - Course Introduction Stephen Scott (Adapted from Christopher M. Bourke) Roll Syllabus Course Webpage: http://cse.unl.edu/~sscott/teach/classes/cse150af09/

More information

Computer Science & Engineering 150A Problem Solving Using Computers

Computer Science & Engineering 150A Problem Solving Using Computers Computer Science & Engineering 150A Problem Solving Using Computers Lecture 01 - Course Introduction Stephen Scott (Adapted from Christopher M. Bourke) 1 / 43 Fall 2009 Roll Syllabus Course Webpage: http://cse.unl.edu/~sscott/teach/classes/cse150af09/

More information

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology

Distributed Systems. Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Distributed Systems Thoai Nam Faculty of Computer Science and Engineering HCMC University of Technology Chapter 1: Introduction Distributed Systems Hardware & software Transparency Scalability Distributed

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 2 Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 2 System I/O System I/O (Chap 13) Central

More information

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System?

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System? Lecture Course in Autumn Term 2013 University of Birmingham Lecture notes and resources: http://www.cs.bham.ac.uk/ exr/teaching/lectures/opsys/13_14 closed facebook group: UoBOperatingSystems anyone registered

More information

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015 Lecture Course in Autumn Term 2015 University of Birmingham September 22, 2015 Course Details Overview Course Details What is an Operating System? OS Definition and Structure Lecture notes and resources:

More information

13-2 EE 4770 Lecture Transparency. Formatted 8:18, 13 March 1998 from lsli

13-2 EE 4770 Lecture Transparency. Formatted 8:18, 13 March 1998 from lsli 13-1 13-1 Operating Systems Definition: An operating system is the software that manages resources in a computer. Resources A resource is (usually) hardware that needs to be accessed. There are rules for

More information

Department of Computer Science and Engineering Yonghong Yan

Department of Computer Science and Engineering Yonghong Yan Appendix A and Chapter 2.12: Compiler, Assembler, Linker and Program Execution CSCE 212 Introduction to Computer Architecture, Spring 2019 https://passlab.github.io/csce212/ Department of Computer Science

More information

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin

Computer chip: A very small pieces of silicon or other semi-conducting material onto which integrated circuits are embedded Circuit board: A thin INTRODUCTION We can divide the parts that make up a computer into three broad categories or subsystem: the central processing unit (CPU), the main memory, and the input/output subsystem. The next three

More information

x86 assembly CS449 Fall 2017

x86 assembly CS449 Fall 2017 x86 assembly CS449 Fall 2017 x86 is a CISC CISC (Complex Instruction Set Computer) e.g. x86 Hundreds of (complex) instructions Only a handful of registers RISC (Reduced Instruction Set Computer) e.g. MIPS

More information

30 Nov Dec Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy

30 Nov Dec Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy Advanced School in High Performance and GRID Computing Concepts and Applications, ICTP, Trieste, Italy Why serial is not enough Computing architectures Parallel paradigms Message Passing Interface How

More information

learning objectives understand the role of an operating system understand the role of interpreters and compilers

learning objectives understand the role of an operating system understand the role of interpreters and compilers system software learning objectives algorithms your software system software hardware understand the role of an operating system understand the role of interpreters and compilers unders tand t he role

More information

Distributed OS and Algorithms

Distributed OS and Algorithms Distributed OS and Algorithms Fundamental concepts OS definition in general: OS is a collection of software modules to an extended machine for the users viewpoint, and it is a resource manager from the

More information

Chapter-1: Exercise Solution

Chapter-1: Exercise Solution Chapter-1: Exercise Solution 1.1 In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems. a. What are two

More information

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory

Virtual Memory. Overview: Virtual Memory. Virtual address space of a process. Virtual Memory TDIU Operating systems Overview: Virtual Memory Virtual Memory Background Demand Paging Page Replacement Allocation of Frames Thrashing and Data Access Locality [SGG7/8/9] Chapter 9 Copyright Notice: The

More information

Introduction to Computer Systems and Operating Systems

Introduction to Computer Systems and Operating Systems Introduction to Computer Systems and Operating Systems Minsoo Ryu Real-Time Computing and Communications Lab. Hanyang University msryu@hanyang.ac.kr Topics Covered 1. Computer History 2. Computer System

More information

Lecture 12. Motivation. Designing for Low Power: Approaches. Architectures for Low Power: Transmeta s Crusoe Processor

Lecture 12. Motivation. Designing for Low Power: Approaches. Architectures for Low Power: Transmeta s Crusoe Processor Lecture 12 Architectures for Low Power: Transmeta s Crusoe Processor Motivation Exponential performance increase at a low cost However, for some application areas low power consumption is more important

More information

Definition: An operating system is the software that manages resources

Definition: An operating system is the software that manages resources 13-1 Operating Systems 13-1 Definition: An operating system is the software that manages resources in a computer. Resources A resource is (usually) hardware that needs to be accessed. There are rules for

More information

CHAPTER 1 - INTRODUCTION. Jacob Aae Mikk elsen

CHAPTER 1 - INTRODUCTION. Jacob Aae Mikk elsen CHAPTER 1 - INTRODUCTION Jacob Aae Mikk elsen OBJECTIVES Provide grand tour of major operating systems components Provide coverage of basic computer system organization WHAT OPERATING SYSTEMS DO COMPUTER

More information