Introduction to Operating Systems Part I
|
|
- Spencer Martin
- 6 years ago
- Views:
Transcription
1 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 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.
2 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 Sun Workstations IBM PC? 2
3 A Whole New World! Smart Phones Wearable Devices Portability Connectivity Networks Sensors 3
4 A Whole New Future World! Smart Vehicles Smart Highways The current 7- Series BMW and S-class Mercedes boast about 100 processors apiece. A relatively lowprofile Volvo still has 50 to 60 baby processors on board. Smart Cities Smart Homes / Smart El-Grids 4
5 Increase in Hardware Complexity Moore s Law (prediction 1965): #Transistors / mm 2 doubles every ~2 years. Still holds 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
6 Increase in Software Complexity Need for new types of OS Architectures MacOS X 10.4: 86M LOC (2005) Linux kernel 2001 Linux kernel
7 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
8 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.
9 Computer Systems and Environments Stand-alone desktop computer Client-server systems Parallel systems Clustered systems Distributed systems Real-time systems Handheld systems 9
10 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 technology developed for larger operating system May run several different types of operating systems (Windows, MacOS, UNIX, Linux) 10
11 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
12 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
13 Parallel Systems (2) Symmetric multiprocessing (SMP) Each processor runs an identical copy of the operating system. Many processes can run at once without performance deterioration. Most modern operating systems support SMP SMP architecture 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) Remark: the notion of processor is relative: A traditional PC is normally considered to only have one CPU, but it usually has a graphics processor, a communication processor etc, and this is not considered a multi-processing system. 13
14 Hardware Multithreading, Multi-Core 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) 14
15 Parallel Systems (3) Speed-up of a single application by parallel processing? Requires parallelisation / restructuring of the program Or explicitly parallel algorithms Used in High-Performance Computing for numerically intensive applications (weather forecast, simulations,...) Now ubiquitous problem due to switch to multicore/manycore CPUs Multicomputer ( distributed memory parallel computer ) loosely coupled can be a more economic and scalable alternative to SMP s but more cumbersome to program (message passing) Example: Beowulf Clusters More in TDDC78 Programming parallel computers NSC Triolith 15
16 Parallel Computing Systems 16
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) 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 Some clusters are used for high-performance computing (HPC) Applications must be written to use parallelization HPC clusters: MPI (Message-Passing Interface) TDDC78 Data centers: Mapreduce / Hadoop NSC Triolith 17
18 Distributed Systems (1) Loosely coupled system each processor has its own local memory processors communicate with one another through various communications lines, such as high-speed buses or telephone lines (LAN, WAN, MAN, Bluetooth, ). Distribute the computation among several physical processors. 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 18
19 Distributed Systems (2) 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 19
20 Distributed Computing Systems 20
21 Real-Time Systems Often used as a control device in a dedicated application such as controlling scientific experiments, medical imaging systems, industrial control systems, and some display systems. Well-defined tasks with fixed time constraints. Hard real-time systems. Conflicts with time-sharing systems, not supported by general-purpose OSs. Soft real-time systems Limited utility in industrial control or robotics Useful in applications (multimedia, virtual reality) requiring advanced OS features. More in TDDD07 Real-time Systems 21
22 Handheld Systems Personal Digital Assistants (PDAs), ipads etc. Cellular telephones Issues: Limited memory Slow processors Small display screens Limited battery lifetime Iphone 5S Shipping with 2GB-4GB RAM? GHz 22
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.
24 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, 24
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 25
26 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 implemented a superset ( GNU-C ) C99 standard by ISO, only minor changes C11 (ISO) multithreading support added 26
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.
28 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 28
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. 29
30 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 movl subl andl subl movl call leave xorl ret %ebp %esp, %ebp $8, %esp $-16, %esp $16, %esp $.LC0, (%esp) puts %eax, %eax 30
31 hello.s (in x86 assembler language).file "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 "GCC: (GNU) (Red Hat fc3)" 31
32 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 87 32
33 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. 33
34 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. 34
35 Compiling and Linking for Multi-Module C Programs xy.h glob.h stdio.h #include #include #include abc.c preprocess compile + asm mymain.c def.c abc.o mymain.o def.o link a.out (executable) libc.a C run-time library is linked with the user code 35
36 Running an Executable Program /* hello.c */ #include <stdio.h> int main() { printf("hello, world\n"); } In a Unix system, a shell is an application 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 Input Preprocess Compile Assemble Link hello, world unix> Output hello Executable Object File (binary) 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. 36
37 Running the hello Program 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 37
38 Running the hello program 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. Loading the executable from disk into 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. 38
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 39
40 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.
41 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 41
42 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. 42
43 Where are OSs found? General purpose systems Embedded systems Microprocessor market shares in % 1% 43
44 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... 44
45 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. 45
46 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 46
47 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 47
Introduction to Operating Systems Part I
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
More informationIntroduction. 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 informationChapter 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 informationOperating 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 informationECE397A 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 informationIntroduction. 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 informationModule 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 informationModule 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 informationOperating 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 informationModule 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 informationChapter 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 informationOPERATING 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 informationChapter 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 informationIntroduction 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 informationChapter 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 informationLecture 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 informationChapter 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 informationChapter 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 informationTDDB68 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 informationCourse 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 informationEuropean 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 informationUNIT 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 informationIntroduction 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 informationC 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 informationIntroduction 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 informationCSC 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 informationComputer-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 informationOperating 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 informationDM510 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 informationChris 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 information1. 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 informationA 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 informationIntroduction 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 informationCS6401- 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 informationAn 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 informationOutline. 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 informationENCE 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 informationProcesses 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 informationModule 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 informationIntroduction 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 informationOPERATING- 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 informationPart 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 informationOperating 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 informationOperating 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 informationOPERATING 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 informationNETW3005 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 informationTo 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 informationOperating 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 informationWHY 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 informationTopics: 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 informationOperating 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 informationOperating 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 informationTDDB68 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 informationFour 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 informationMemory 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 informationHigh 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 informationOverview 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 informationDraft. 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 informationHow 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 informationCSC180: 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 informationRicardo 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 informationIntroduction 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 informationFollow 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 informationCOSC243 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 informationEL2310 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 informationITC213: 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 informationSystems 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 informationChapter 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 informationCS30002: 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 informationCOS 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 information13-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 informationTDDI04, 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 informationDepartment 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 informationCHAPTER 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 informationCSCE150A. 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 informationComputer 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 informationx86 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 informationChapter 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 informationDefinition: 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 informationVirtual 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 informationOperating 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 informationCHAPTER 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 informationLecture 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 informationSoftware Project. Lecturers: Ran Caneti, Gideon Dror Teaching assistants: Nathan Manor, Ben Riva
Software Project Lecturers: Ran Caneti, Gideon Dror Teaching assistants: Nathan Manor, Ben Riva Emails: (canetti/benriva)@post.tau.ac.il nathan.manor@gmail.com gideon@mta.ac.il http://www.cs.tau.ac.il/~roded/courses/soft-project10.html
More informationComputer Systems Organization
Computer Systems Organization 1 Outline 2 A software view User Interface 3 How it works 4 The gcc compilation system 5 The gcc compilation system hello.c (source code) Pre-processor (cpp) hello.i (modified
More informationOverview 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 informationDistributed 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 informationOutline. Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems
Distributed Systems Outline Definition of a Distributed System Goals of a Distributed System Types of Distributed Systems What Is A Distributed System? A collection of independent computers that appears
More informationx86 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 informationChapter 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 informationLC-3 Assembly Language
Chapter 7 LC-3 Assembly Language CS Reality You ve got to know assembly Chances are, you ll never write program in assembly Compilers are much better & more patient than you are Understanding assembly
More informationToday. Operating System Evolution. CSCI 4061 Introduction to Operating Systems. Gen 1: Mono-programming ( ) OS Evolution Unix Overview
Today CSCI 4061 Introduction to s Instructor: Abhishek Chandra OS Evolution Unix Overview Unix Structure Shells and Utilities Calls and APIs 2 Evolution How did the OS evolve? Dependent on hardware and
More informationChapter 14 Operating Systems
Chapter 14 Operating Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating system Main functions of an operating system Commonly used mechanisms
More informationChapter 14 Operating Systems
Chapter 14 Systems Ref Page Slide 1/54 Learning Objectives In this chapter you will learn about: Definition and need for operating Main functions of an operating Commonly used mechanisms for: Process management
More informationINTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung
INTRODUCTION TO OPERATING SYSTEMS Jo, Heeseung TODAY'S TOPICS What is OS? History of OS 2 OPERATING SYSTEM? Computer systems internals 3 WHY DO WE LEARN OS? To graduate? To make a better OS or system Functionality
More informationLecture 9: MIMD Architectures
Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction A set of general purpose processors is connected together.
More informationChapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on
Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System
More informationCS370 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 informationDistributed 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 informationLecture 9: MIMD Architectures
Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction MIMD: a set of general purpose processors is connected
More information