Operating Systems Vlastimil Babka Lubomír Bulej Vojtechˇ Horký Petr T ˚uma Operating Systems by Vlastimil Babka, Lubomír Bulej, VojtˇechHorký, and Petr T ˚uma This material is a work in progress that is provided on a fair use condition to support the Charles University Operating Systems lecture. It should not be used for any other purpose than to support the lecture. It should not be copied to prevent existence of outdated copies. It comes without warranty of any kind. This is version 1854246b129de719fb64f40976b04a31545a422e (modified) generated on 2019-09-30 17:18:19. For the latest version, check http://d3s.mff.cuni.cz/~ceres. Table of Contents 1. Introduction.......................................................................................................................1 Foreword.......................................................................................................................1 Origins..................................................................................................................1 Structure...............................................................................................................1 Historic Perspective.....................................................................................................1 Stone Age.............................................................................................................1 Transistors............................................................................................................3 Low Integration..................................................................................................4 High Integration.................................................................................................5 Basic Concepts..............................................................................................................5 Hardware Building Blocks................................................................................6 Basic Computer Architecture............................................................................7 Advances In Processor Architecture..............................................................11 Advances In Memory Architecture................................................................12 Advances In Bus Architecture........................................................................13 Operating System Structure............................................................................16 2. Process Management......................................................................................................21 Process Alone..............................................................................................................21 Process And Thread Concepts........................................................................21 Starting A Process.............................................................................................21 What Is The Interface.......................................................................................32 Rehearsal............................................................................................................36 Achieving Parallelism................................................................................................37 Multiprocessing On Uniprocessors................................................................37 Multiprocessing On Multiprocessors............................................................39 Cooperative And Preemptive Switching......................................................40 Switching In Kernel Or In Process.................................................................40 Process Lifecycle...............................................................................................40 How To Decide Who Runs..............................................................................40 What Is The Interface.......................................................................................48 Rehearsal............................................................................................................50 Process Communication............................................................................................52 Means Of Communication..............................................................................52 Shared Memory.................................................................................................52 Message Passing...............................................................................................53 Remote Procedure Call....................................................................................57 Rehearsal............................................................................................................58 Process Synchronization............................................................................................59 Synchronization Problems...............................................................................59 Means For Synchronization............................................................................61 Memory Models................................................................................................65 Synchronization And Scheduling..................................................................69 What Is The Interface.......................................................................................70 Rehearsal............................................................................................................75 3. Memory Management....................................................................................................79 Management Among Processes...............................................................................79 Multiple Processes Together...........................................................................79 Separating Multiple Processes........................................................................80 What Is The Interface.......................................................................................88 Rehearsal............................................................................................................88 Allocation Within A Process.....................................................................................90 Process Memory Layout..................................................................................90 Stack....................................................................................................................91 Heap...................................................................................................................93 Rehearsal............................................................................................................98 iii 4. Device Management.....................................................................................................101 Device Drivers..........................................................................................................101 Asynchronous Requests................................................................................101 Synchronous Requests...................................................................................103 Power Management.......................................................................................104 Rehearsal..........................................................................................................104 Devices.......................................................................................................................105 Busses...............................................................................................................105 Clock.................................................................................................................109 Keyboard..........................................................................................................110 Mouse...............................................................................................................110 Video Devices..................................................................................................110 Audio Devices.................................................................................................110 Disk Storage Devices......................................................................................110 Memory Storage Devices...............................................................................115 Network Cards................................................................................................115 Parallel Ports....................................................................................................115 Serial Ports.......................................................................................................115 Printers.............................................................................................................115 Modems............................................................................................................115 Rehearsal..........................................................................................................115 Rehearsal...................................................................................................................116 5. File Subsystem..............................................................................................................117 Abstractions And Operations.................................................................................117
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages170 Page
-
File Size-