Introduction to Operating Systems (Part I)
Amir H. Payberah [email protected]
Amirkabir University of Technology (Tehran Polytechnic)
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 1 / 48 Course Information
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 2 / 48 I Topics we will cover include: • Process management • Memory management • File systems • I/O management • Security and privacy
Course Objective
I The purpose of this course is to teach the design of operating sys- tems.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 3 / 48 Course Objective
I The purpose of this course is to teach the design of operating sys- tems.
I Topics we will cover include: • Process management • Memory management • File systems • I/O management • Security and privacy
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 3 / 48 I Linux System Programming, 2nd Edition Robert Love, O’Relly Media, 2013
I The Linux Programming Interface Michael Kerrisk, No Starch Press, 2010
I Linux Device Drivers, 3rd Edition Jonathan Corbet et al., O’Relly Media, 2005
Course Textbooks
I Operating System Concepts, 9th Edition Avil Silberschatz et al., Wiley, 2013
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 4 / 48 Course Textbooks
I Operating System Concepts, 9th Edition Avil Silberschatz et al., Wiley, 2013
I Linux System Programming, 2nd Edition Robert Love, O’Relly Media, 2013
I The Linux Programming Interface Michael Kerrisk, No Starch Press, 2010
I Linux Device Drivers, 3rd Edition Jonathan Corbet et al., O’Relly Media, 2005
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 4 / 48 Course Examination
I Mid term exam: 30%
I Final exam: 30%
I Lab assignments: 40% • Seven programming assignments inC • Students will work in groups of three
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 5 / 48 Course Web Site
I You can find all the course information on the course web page: http://www.sics.se/∼amir/os14.htm
I Use the course discussion forum if you have any questions.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 6 / 48 What is an Operating System?
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 7 / 48 What is an Operating System?
I A program that acts as an intermediary between a user of a computer and the computer hardware.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 8 / 48 What is an Operating System?
I A program that acts as an intermediary between a user of a computer and the computer hardware.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 8 / 48 What is an Operating System?
I A program that acts as an intermediary between a user of a computer and the computer hardware.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 8 / 48 I Make the computer system convenient to use.
I Use the computer hardware in an efficient manner.
Operating System Goals
I Execute user programs and make solving user problems easier.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 9 / 48 I Use the computer hardware in an efficient manner.
Operating System Goals
I Execute user programs and make solving user problems easier.
I Make the computer system convenient to use.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 9 / 48 Operating System Goals
I Execute user programs and make solving user problems easier.
I Make the computer system convenient to use.
I Use the computer hardware in an efficient manner.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 9 / 48 I OS is a program controller • Controls execution of programs to prevent errors and improper use of the computer.
What Operating Systems Do
I OS is a resource allocator • Manages all resources. • Decides between conflicting requests for efficient and fair resource use.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 10 / 48 What Operating Systems Do
I OS is a resource allocator • Manages all resources. • Decides between conflicting requests for efficient and fair resource use.
I OS is a program controller • Controls execution of programs to prevent errors and improper use of the computer.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 10 / 48 I The operating system is the one program running at all times on the computer, usually called the kernel.
I Everything else is either a system program or an application program.
Operating Systems Definition
I No universally accepted definition.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 11 / 48 I Everything else is either a system program or an application program.
Operating Systems Definition
I No universally accepted definition.
I The operating system is the one program running at all times on the computer, usually called the kernel.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 11 / 48 Operating Systems Definition
I No universally accepted definition.
I The operating system is the one program running at all times on the computer, usually called the kernel.
I Everything else is either a system program or an application program.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 11 / 48 Four Components of a Computer System (1/4)
I Hardware • Provides basic computing resources. • CPU, memory, I/O devices, ...
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 12 / 48 Four Components of a Computer System (2/4)
I Operating system • Controls and coordinates use of hardware among various applications and users.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 13 / 48 Four Components of a Computer System (3/4)
I Application programs • Compilers, web browsers, database systems, video games, ... I System programs • File manipulation, program loading and execution, ...
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 14 / 48 Four Components of a Computer System (4/4)
I Users • People, machines, other computers
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 15 / 48 Operating Systems
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 16 / 48 A Brief History of Operating Systems
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 17 / 48 First Generation: 1945-1955 (1/3)
I No operating system
I Vacuum tubes and plugboards
ENIAC (Electronic Numerical Integrator And Computer): the first electronic general-purpose computer. [http://en.wikipedia.org/wiki/ENIAC]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 18 / 48 I Computer were programmed by physically re-wiring it; later, through stored programs(von Neumann architecture).
I Programs written in machine or assembly language.
First Generation: 1945-1955 (2/3)
I Human was the operator and programmer.
John von Neumann [http://ysfine.com/wigner/neumann.html]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 19 / 48 I Programs written in machine or assembly language.
First Generation: 1945-1955 (2/3)
I Human was the operator and programmer.
I Computer were programmed by physically re-wiring it; later, through stored programs(von Neumann architecture).
John von Neumann [http://ysfine.com/wigner/neumann.html]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 19 / 48 First Generation: 1945-1955 (2/3)
I Human was the operator and programmer.
I Computer were programmed by physically re-wiring it; later, through stored programs(von Neumann architecture).
I Programs written in machine or assembly language.
John von Neumann [http://ysfine.com/wigner/neumann.html]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 19 / 48 First Generation: 1945-1955 (3/3)
I Problems:
• Serial processing: users had access to the computer one by one in series.
• Users have to write again and again the same routines.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 20 / 48 Second Generation: 1955-1965 (1/5)
I Transistors
I Mainframes
IBM 7094 at Columbia University [http://www.columbia.edu/cu/computinghistory/1965.html]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 21 / 48 I Job • A program or set of programs • A programmer would first write the program on paper (in FORTRAN or assembly), then punch it on cards.
Second Generation: 1955-1965 (2/5)
I Separation between operators and programmers. • The programmer: prepares her/his job off-line. • The operator: runs the job and delivers a printed output.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 22 / 48 Second Generation: 1955-1965 (2/5)
I Separation between operators and programmers. • The programmer: prepares her/his job off-line. • The operator: runs the job and delivers a printed output.
I Job • A program or set of programs • A programmer would first write the program on paper (in FORTRAN or assembly), then punch it on cards.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 22 / 48 I The operator pre-reads jobs onto a magnetic tape.
I The operator loads a special program (monitor) that reads the jobs from the tape and run them sequentially.
I The monitor program writes the output of each job on a second magnetic tape.
I The operator brings the full output tape for offline printing.
Second Generation: 1955-1965 (3/5)
I Batch the jobs together.
[A.S. Tanenbaum et al., Operating Systems Design and Implementation, 2006]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 23 / 48 I The operator loads a special program (monitor) that reads the jobs from the tape and run them sequentially.
I The monitor program writes the output of each job on a second magnetic tape.
I The operator brings the full output tape for offline printing.
Second Generation: 1955-1965 (3/5)
I Batch the jobs together.
I The operator pre-reads jobs onto a magnetic tape.
[A.S. Tanenbaum et al., Operating Systems Design and Implementation, 2006]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 23 / 48 I The monitor program writes the output of each job on a second magnetic tape.
I The operator brings the full output tape for offline printing.
Second Generation: 1955-1965 (3/5)
I Batch the jobs together.
I The operator pre-reads jobs onto a magnetic tape.
I The operator loads a special program (monitor) that reads the jobs from the tape and run them sequentially.
[A.S. Tanenbaum et al., Operating Systems Design and Implementation, 2006]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 23 / 48 I The operator brings the full output tape for offline printing.
Second Generation: 1955-1965 (3/5)
I Batch the jobs together.
I The operator pre-reads jobs onto a magnetic tape.
I The operator loads a special program (monitor) that reads the jobs from the tape and run them sequentially.
I The monitor program writes the output of each job on a second magnetic tape.
[A.S. Tanenbaum et al., Operating Systems Design and Implementation, 2006]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 23 / 48 Second Generation: 1955-1965 (3/5)
I Batch the jobs together.
I The operator pre-reads jobs onto a magnetic tape.
I The operator loads a special program (monitor) that reads the jobs from the tape and run them sequentially.
I The monitor program writes the output of each job on a second magnetic tape.
I The operator brings the full output tape for offline printing.
[A.S. Tanenbaum et al., Operating Systems Design and Implementation, 2006]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 23 / 48 • A special program that controls the sequence of events.
• Always resides in main memory.
• Reads in jobs one at a time, places a job in the user program area of the memory, and passes control to it.
• Upon completion, the user program branches back to the monitor, which immediately loads and executes the next job
Second Generation: 1955-1965 (4/5)
I Monitor
• It is the ancestor of modern O/S.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 24 / 48 • Always resides in main memory.
• Reads in jobs one at a time, places a job in the user program area of the memory, and passes control to it.
• Upon completion, the user program branches back to the monitor, which immediately loads and executes the next job
Second Generation: 1955-1965 (4/5)
I Monitor
• It is the ancestor of modern O/S.
• A special program that controls the sequence of events.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 24 / 48 • Reads in jobs one at a time, places a job in the user program area of the memory, and passes control to it.
• Upon completion, the user program branches back to the monitor, which immediately loads and executes the next job
Second Generation: 1955-1965 (4/5)
I Monitor
• It is the ancestor of modern O/S.
• A special program that controls the sequence of events.
• Always resides in main memory.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 24 / 48 • Upon completion, the user program branches back to the monitor, which immediately loads and executes the next job
Second Generation: 1955-1965 (4/5)
I Monitor
• It is the ancestor of modern O/S.
• A special program that controls the sequence of events.
• Always resides in main memory.
• Reads in jobs one at a time, places a job in the user program area of the memory, and passes control to it.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 24 / 48 Second Generation: 1955-1965 (4/5)
I Monitor
• It is the ancestor of modern O/S.
• A special program that controls the sequence of events.
• Always resides in main memory.
• Reads in jobs one at a time, places a job in the user program area of the memory, and passes control to it.
• Upon completion, the user program branches back to the monitor, which immediately loads and executes the next job
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 24 / 48 Second Generation: 1955-1965 (5/5)
I Problems:
• A lot of CPU time is still wasted waiting for I/O instructions to complete.
• I/O devices much slower than processor.
[W. Stallings, Operating Systems: Internals and Design Principles, 2011]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 25 / 48 Third Generation: 1965-1980 (1/5)
I Integrated Circuits (ICs)
IBM 360 [http://www.computermuseum.li/Testpage/IBM-360-1964.htm]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 26 / 48 Third Generation: 1965-1980 (2/5)
I Multiprogrammed batch systems.
I Load two jobs in memory: while one job is waiting for I/O, the processor could switch to the other job.
[W. Stallings, Operating Systems: Internals and Design Principles, 2011]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 27 / 48 Third Generation: 1965-1980 (3/5)
I Expand to three, four or more jobs.
I Jobs are kept in main memory at the same time and the CPU is multiplexed among them or multiprogrammed.
[W. Stallings, Operating Systems: Internals and Design Principles, 2011]
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 28 / 48 I Tasks kept running until they performed an operation that required waiting for an external event such as I/O.
I But, in a multiple-user system, users want to see their program running as if it was the only program in the computer.
I Solution? time-sharing or preemptive multitasking systems.
Third Generation: 1965-1980 (4/5)
I Multiprogramming alone does not give any guarantee that a program will run in a timely manner.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 29 / 48 I But, in a multiple-user system, users want to see their program running as if it was the only program in the computer.
I Solution? time-sharing or preemptive multitasking systems.
Third Generation: 1965-1980 (4/5)
I Multiprogramming alone does not give any guarantee that a program will run in a timely manner.
I Tasks kept running until they performed an operation that required waiting for an external event such as I/O.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 29 / 48 I Solution? time-sharing or preemptive multitasking systems.
Third Generation: 1965-1980 (4/5)
I Multiprogramming alone does not give any guarantee that a program will run in a timely manner.
I Tasks kept running until they performed an operation that required waiting for an external event such as I/O.
I But, in a multiple-user system, users want to see their program running as if it was the only program in the computer.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 29 / 48 Third Generation: 1965-1980 (4/5)
I Multiprogramming alone does not give any guarantee that a program will run in a timely manner.
I Tasks kept running until they performed an operation that required waiting for an external event such as I/O.
I But, in a multiple-user system, users want to see their program running as if it was the only program in the computer.
I Solution? time-sharing or preemptive multitasking systems.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 29 / 48 I Birth of UNIX: CTSS → MULTICS → UNIX
Third Generation: 1965-1980 (5/5)
I Time-sharing • A logical extension of multiprogramming for handling multiple interactive jobs among multiple users. • Hardware timer interrupt: switching jobs.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 30 / 48 Third Generation: 1965-1980 (5/5)
I Time-sharing • A logical extension of multiprogramming for handling multiple interactive jobs among multiple users. • Hardware timer interrupt: switching jobs.
I Birth of UNIX: CTSS → MULTICS → UNIX
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 30 / 48 Fourth Generation: 1980-Present (1/3)
I Personal Computers (PCs)
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 31 / 48 Fourth Generation: 1980-Present (2/3)
I From multiple users back to a single user.
I Multitasking a central feature of modern PC operating systems.
I PC systems emphasize user convenience.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 32 / 48 Fourth Generation: 1980-Present (3/3)
I GNU (GNU’s Not Unix!): 1983
I Mac OS: 1984
I Microsoft Windows: 1985
I Linux: 1991
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 33 / 48 I At that time, all the programmers used to share their code freely.
I In 1980, software companies refused to share the code (copyright).
I In 1985, in response, Stallman, founded the Free Software Founda- tion (FSF) and published the GNU manifesto. • Outlined his motivation for creating a free OS (GNU), which would be compatible with Unix.
GNU/Linux (1/4)
I In 1971 Richard Matthew Stallman (RMS) joined MIT.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 34 / 48 I In 1980, software companies refused to share the code (copyright).
I In 1985, in response, Stallman, founded the Free Software Founda- tion (FSF) and published the GNU manifesto. • Outlined his motivation for creating a free OS (GNU), which would be compatible with Unix.
GNU/Linux (1/4)
I In 1971 Richard Matthew Stallman (RMS) joined MIT.
I At that time, all the programmers used to share their code freely.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 34 / 48 I In 1985, in response, Stallman, founded the Free Software Founda- tion (FSF) and published the GNU manifesto. • Outlined his motivation for creating a free OS (GNU), which would be compatible with Unix.
GNU/Linux (1/4)
I In 1971 Richard Matthew Stallman (RMS) joined MIT.
I At that time, all the programmers used to share their code freely.
I In 1980, software companies refused to share the code (copyright).
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 34 / 48 GNU/Linux (1/4)
I In 1971 Richard Matthew Stallman (RMS) joined MIT.
I At that time, all the programmers used to share their code freely.
I In 1980, software companies refused to share the code (copyright).
I In 1985, in response, Stallman, founded the Free Software Founda- tion (FSF) and published the GNU manifesto. • Outlined his motivation for creating a free OS (GNU), which would be compatible with Unix.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 34 / 48 GNU/Linux (2/4)
I In 1989, Stallman released the first program independent GNU Gen- eral Public License (GPL) or copyleft.
I Now the only thing that GNU lacked was a completely free OS kernel: GNU Hurd kernel
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 35 / 48 GNU/Linux (3/4)
I In 1985, Andy Tanenbaum wrote a Unix like OS from scratch, called Minix.
I He implemented it for educational purposes.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 36 / 48 I But he was prohibited by Tanenbaum to do so.
I So, Linus implemented his own kernel and released it under GPL: Linux kernel
I Linux, is then, used as the kernel of the GNU in many distributions.
GNU/Linux (4/4)
I In 1990, Linus Torvalds wanted to improve Minix.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 37 / 48 I So, Linus implemented his own kernel and released it under GPL: Linux kernel
I Linux, is then, used as the kernel of the GNU in many distributions.
GNU/Linux (4/4)
I In 1990, Linus Torvalds wanted to improve Minix.
I But he was prohibited by Tanenbaum to do so.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 37 / 48 I Linux, is then, used as the kernel of the GNU in many distributions.
GNU/Linux (4/4)
I In 1990, Linus Torvalds wanted to improve Minix.
I But he was prohibited by Tanenbaum to do so.
I So, Linus implemented his own kernel and released it under GPL: Linux kernel
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 37 / 48 GNU/Linux (4/4)
I In 1990, Linus Torvalds wanted to improve Minix.
I But he was prohibited by Tanenbaum to do so.
I So, Linus implemented his own kernel and released it under GPL: Linux kernel
I Linux, is then, used as the kernel of the GNU in many distributions.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 37 / 48 Computer System Organization
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 38 / 48 I The CPU and the device controllers can execute in parallel, com- peting for memory cycles.
I Device controllers inform CPU that it is finished with the operation by causing an interrupt.
Computer-System Operation
I One or more CPUs, and device controllers connect through common bus providing access to shared memory.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 39 / 48 I Device controllers inform CPU that it is finished with the operation by causing an interrupt.
Computer-System Operation
I One or more CPUs, and device controllers connect through common bus providing access to shared memory.
I The CPU and the device controllers can execute in parallel, com- peting for memory cycles.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 39 / 48 Computer-System Operation
I One or more CPUs, and device controllers connect through common bus providing access to shared memory.
I The CPU and the device controllers can execute in parallel, com- peting for memory cycles.
I Device controllers inform CPU that it is finished with the operation by causing an interrupt.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 39 / 48 I Software may trigger an interrupt by executing a special operation called a system call.
Interrupt (1/3)
I Hardware may trigger an interrupt at any time by sending a signal to the CPU.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 40 / 48 Interrupt (1/3)
I Hardware may trigger an interrupt at any time by sending a signal to the CPU.
I Software may trigger an interrupt by executing a special operation called a system call.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 40 / 48 I The CPU resumes the interrupted computation, when the interrupt service routine completes.
I The OS preserves the state of the CPU by storing registers and the program counter.
Interrupt (2/3)
I When the CPU is interrupted, it stops what it is doing and imme- diately transfers execution to an address where the service routine for the interrupt is located.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 41 / 48 I The OS preserves the state of the CPU by storing registers and the program counter.
Interrupt (2/3)
I When the CPU is interrupted, it stops what it is doing and imme- diately transfers execution to an address where the service routine for the interrupt is located.
I The CPU resumes the interrupted computation, when the interrupt service routine completes.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 41 / 48 Interrupt (2/3)
I When the CPU is interrupted, it stops what it is doing and imme- diately transfers execution to an address where the service routine for the interrupt is located.
I The CPU resumes the interrupted computation, when the interrupt service routine completes.
I The OS preserves the state of the CPU by storing registers and the program counter.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 41 / 48 Interrupt (3/3)
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 42 / 48 I Secondary storage • Extension of main memory that provides large nonvolatile storage capacity. • E.g., magnetic disk and SSD
Storage Structure (1/2)
I Main memory (RAM) • The CPU can load instructions only from memory. • Typically volatile
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 43 / 48 Storage Structure (1/2)
I Main memory (RAM) • The CPU can load instructions only from memory. • Typically volatile
I Secondary storage • Extension of main memory that provides large nonvolatile storage capacity. • E.g., magnetic disk and SSD
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 43 / 48 I Solid-state disks (SSD) • Faster than hard disks, nonvolatile. • Becoming more popular.
Storage Structure (2/2)
I Magnetic disks • Disk surface is logically divided into tracks, which are subdivided into sectors.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 44 / 48 Storage Structure (2/2)
I Magnetic disks • Disk surface is logically divided into tracks, which are subdivided into sectors.
I Solid-state disks (SSD) • Faster than hard disks, nonvolatile. • Becoming more popular.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 44 / 48 Storage Hierarchy - Cost vs. Speed
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 45 / 48 Summary
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 46 / 48 I Computer-system organization • I/O devices • Interrupt • Storage
Summary
I OS history • First generation: no OS • Second generation: mainframes, batch programming • Third generation: multiprogramming, multitasking • Fourth generation: PCs
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 47 / 48 Summary
I OS history • First generation: no OS • Second generation: mainframes, batch programming • Third generation: multiprogramming, multitasking • Fourth generation: PCs
I Computer-system organization • I/O devices • Interrupt • Storage
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 47 / 48 Questions?
Acknowledgements Some slides were derived from Avi Silberschatz slides.
Amir H. Payberah (Tehran Polytechnic) Introduction 1393/6/22 48 / 48