Design and Implementation of the MTX Operating System
|
|
- Harvey Arnold
- 5 years ago
- Views:
Transcription
1 Design and Implementation of the MTX Operating System
2 K. C. Wang Design and Implementation of the MTX Operating System 1 3
3 K. C. Wang School of Electrical Engineering and Computer Science Washington State University Pullman Washington USA ISBN DOI / ISBN (ebook) Library of Congress Control Number: Springer Cham Heidelberg New York Dordrecht London Springer International Publishing Switzerland 2015 This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms, or in any other physical way, and transmission or information storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now known or hereafter developed. The use of general descriptive names, registered names, trademarks, service marks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. The publisher, the authors, and the editors are safe to assume that the advice and information in this book are believed to be true and accurate at the date of publication. Neither the publisher nor the authors or the editors give a warranty, express or implied, with respect to the material contained herein or for any errors or omissions that may have been made. Printed on acid-free paper Springer International Publishing AG Switzerland is part of Springer Science+Business Media (
4 Preface The purpose of this book is to provide a suitable platform for teaching and learning the theory and practice of operating systems. It covers the basic concepts and principles of operating systems, and it shows how to apply them to design and implement a complete operating system in incremental steps. Throughout the book, it uses the development of the MTX operating system to convey the real intent of this book, which is to demonstrate the design principles and implementation techniques of operating systems in general. Due to its technical contents, this book is not intended for entry-level OS courses that teach only the basic concepts and principles of operating systems without programming practice. It is intended for technically oriented OS courses that emphasize on both theory and practice. The book s evolutional style, coupled with detailed source code and complete working sample systems, make it especially suitable for self-study. This book contains many new and original materials, especially on the design and use of parallel algorithms in SMP. It is also suitable for advanced study of operating systems. Undertaking this book project has proved to be quite a challenge. While preparing the book for publication, I have been blessed with the encouragements and helps from many people. I would like to take this opportunity to thank all of them. I am also very grateful to Springer International Publishing AG for allowing me to disclose the source code of this book to the public for free. Hopefully, this would help further developments of the MTX system and enhancements to this book in the future. Special thanks go to Cindy Wang for her continuing support and inspirations, which have made this book possible. Finally, I would like to thank my family for bearing with me with endless excuses of being too busy for so long. Source code included in the book can be downloaded from the author s website at: December, K. C. Wang v
5 About the Author K. C. Wang received the BSEE degree from National Taiwan University in 1960 and the Ph.D. degree in Electrical Engineering from Northwestern University, Evanston, Ill in He is currently a Professor in the School of Electrical Engineering and Computer Science at Washington State University. His academic interests are in Operating Systems, Distributed Systems and Parallel Computing. vii
6 Contents 1 Introduction About This Book Objective and Intended Audience Unique Features of This Book Book Contents Use This Book as OS Textbook MTX Systems for Testing and Evaluation... 8 References Foundations and Background Computer System Computer Hardware System CPU Operations System Mode and User Mode Memory and Memory Models Virtual Address and Physical Addresses I/O Devices and I/O Operations Operating Systems Major Functions of Operating Systems Program Development Program Development Steps Static vs. Dynamic Linking Executable File Format Contents of a.out File Program Execution Program Termination Function Call in C Run-Time Stack Usage Stack Frames Return From Function Call Long Jump ix
7 x Contents 2.5 Link C Program with Assembly Code Link Library Mailman s Algorithm Applications of Mailman s Algorithm EXT2 File System EXT2 File System Data Structures Traverse EXT2 File System Tree The BCC Cross-Compiling Package Running MTX From Login to Command Execution References Booting Operating Systems Booting Bootable Devices Booting from Various Devices Floppy Disk Booting Hard Disk Booting CD/DVD_ROM Booting USB Drive Booting Boot Linux with Initial Ramdisk Image Network Booting Develop Booter Programs Requirements of Booter Programs Online and Offline Booters Boot MTX from FD sectors Boot Linux zimage from FD Sectors Fast FD Loading Schemes Boot MTX Image from File System Boot Linux zimage from File System Hard Disk Booter I/O and Memory Access Functions Read Hard Disk LBA Sectors Boot Linux bzimage with Initial Ramdisk Image Hard Disk Partitions Find and Load Linux Kernel and Initrd Image Files Linux and MTX Hard Disk Booter Boot EXT4 Partitions Install HD Booter CD/DVD-ROM Booter Emulation CDROM Booting Emulation-FD Booting Emulation-HD Booting No-Emulation CDROM Booting No-Emulation Booting of MTX... 83
8 Contents xi No-Emulation Linux Booter Comparison with isolinux CDROM Booter USB Drive Booter MTX on USB Drive Linux on USB Drive Listing of Booter Programs References A Simple Operating System Kernel Multitasking The Process Concept Development of the MTX Kernel A Simple Multitasking Program Context Switching A Simple Multitasking System Dynamic Process Creation and Process Scheduling MTX4.2: Demonstration of Process Creation and Process Switch Stop and Continue a Process MTX4.3: Demonstration of Stop/Continue Operations Sleep and Wakeup Operations Sleep and Wakeup Usage Implementation of Sleep and Wakeup MTX4.4: Demonstration of Sleep/Wakeup Operations Process Termination Algorithm of kexit Process Family Tree Wait for Child Process Termination Change Process Scheduling Priority MTX4.5: Demonstration of Process Management MTX Development Environment References User Mode and System Calls Process Execution Image Kernel and User Modes Transition Between User and Kernel Modes System Calls System Call Interrupt Handler Enter and Exit Kernel Mode System Call Handler Function in C Return to User Mode User Mode Programs Develop User Program Programs Program Loader
9 xii Contents 5.5 Create Process with User Mode Image Initialize Process User Mode Stack Execution of User Mode Image MTX5.0: Demonstration of Simple System Calls Validation of System Call Parameters fork-exec in Unix/Linux Implementation of fork in MTX Implementation of exec in MTX MTX5.1: Demonstration of fork-exec in MTX Command Line Parameters Simple sh for Command Execution vfork Implementation of vfork in MTX MTX5.3: Demonstration of vfork in MTX Threads Principle of Threads Advantages of Threads Threads Operations Implementation of Threads in MTX Thread PROC Structure Threads Management Functions Thread Creation Thread Termination Thread Join Operation Threads Synchronization Threads Scheduling Concurrent Program Examples Using Threads MTX5.4: Demonstration of Threads in MTX References Process Synchronization Concurrent Processes Process Synchronization Problem Critical Region Implementation of Critical Region Implementation of Process Synchronization Mechanisms Sleep/Wakeup Semaphore Semaphore Operations for Multiprocessor Systems Applications of Semaphores Semaphore Lock Mutex Lock Resource Management Wait for Interrupts and Messages
10 Contents xiii Process Cooperation Producer-Consumer Problem Reader-Writer Problem Other Synchronization Mechanisms High-level Synchronization Constructs Condition Variables in Pthreads Monitors Deadlock Deadlock Definition Necessary Conditions for Deadlock Deadlock Prevention Deadlock Avoidance Deadlock Detection and Recovery Deadlock Prevention in Concurrent Programs Livelock Starvation Process Synchronization in MTX Pipes Pipe Programming in Unix/Linux Pipe and the Producer-Consumer Problem Implementation of Pipes in MTX MTX6.pipe: Demonstration of Pipes in MTX Message Passing Asynchronous Message Passing Synchronous Message Passing MTX6.message1: Demonstration of Synchronous Message Passing Server-Client Message Passing Multi-level Server-Client Message Passing MTX6.message2: Demonstration of Server-Client Message Passing References Memory Management Goals of Memory Management Virtual Address and Physical Address Variable Sized Partitions Overlay Swapping Segmentation Paging One-Level Paging Multi-Level Paging Other Paging Schemes
11 xiv Contents 7.8 Demand-Paging and Virtual Memory Demand-Paging Page Replacement Rules Virtual Memory Based File Mapping Distributed Shared Memory System General Demand-Paging Model Memory Management in Real-Mode MTX Free Memory List Memory Allocation Memory Deallocation Memory Compaction Swapping MTX7.1. Demonstration of Memory Management in MTX Memory Management in User Space Expand Heap Size by sbrk() Reduce Heap Size by rbrk() Memory Protection in MTX MTX7.2. Demonstration of Memory Management in User Space References Interrupt Processing and Process Scheduling Interrupts Interrupts Hardware Interrupt Processing TIMER and Timer Service PC s Timer Operation Implementation of Timer in MTX Process Switch by Time Slice Implementation of Timer Service in MTX Timer Service in MTX Process Scheduling Process Scheduling Terminology Goals, Policy and Algorithms of Process Scheduling Process Scheduling in Time-Sharing Operating Systems Process Scheduling in Unix Process Scheduling in Linux Process Scheduling in MTX MTX8.sch1: Time Slice MTX8.sch2: Fixed Process Priority and Time Slice MTX3.sch3: Dynamic Process Priority and Time Slice Comparison of MTX Scheduling Algorithms References
12 Contents xv 9 Signals and Signal Processing Signals and Interrupts Examples of Unix/Linux Signals Signal Processing in Unix (Bovet and Cesati 2005) Implementation of Signals in MTX Signal Types in MTX Signals in PROC Resource Signal Origins in MTX Deliver Signal to Process Change Signal Handler in Kernel Signal Processing in MTX Dispatch Signal Catcher for Execution in User Mode MTX9.Signal: Demonstration of Signal Processing in MTX Divide Trap Catcher Other Traps Interval Timer and Alarm Signal Catcher The Kill Command References Device Drivers Device Drivers Console Display Driver MTX10.tv: Demonstration of Timer and Display Driver Keyboard Driver The Keyboard Hardware Interrupt-Driven Driver Design A Simple Keyboard Driver Using Sleep/Wakeup A Simple Keyboard Driver Using Semaphore Interrupt Handlers Should Never Sleep or Block Raw Mode and Cooked Mode Foreground and Background Processes Improved KBD Driver MTX10.vtk: Demonstration of Keyboard Driver Parallel Printer Driver Parallel Port Interface A Simple Printer Driver MTX10.pr: Demonstration of Printer Driver Serial Port Driver RS232C Serial Protocol Serial Data Format PC Serial Ports Serial Terminals
13 xvi Contents Serial Port Driver Design The STTY Structure Serial Port Initialization Lower-Half Serial Port Driver Upper-Half Serial Port Driver MTX10.serial: Demonstration of Serial Port Driver Floppy Disk Driver FDC Controller FDC R/W Operation Sequence FD Driver Design Implications on I/O Buffers in MTX Demonstration of FD Driver IDE Hard Disk Driver IDE Interface IDE R/W Operation Sequence A Simple HD Driver Improved HD Driver HD Driver with I/O Queue MTX10.hd: Demonstration of IDE Driver ATAPI Driver ATAPI Protocol [ATAPI 2006; AT Attachment 1998] ATAPI Operation Sequence ATAPI Driver Code MTX10.hd.cd: Demonstration of ATAPI Driver References File System File Operation Levels File I/O Operations EXT2 File System Specification A Simple mkfs Program Implementation of EXT2 File System File System Organization Files in the MTX/FS directory Implementation of Level-1 FS Mkdir-creat-mknod Chdir-getcwd-stat Rmdir Link-unlink Symlink-readlink Other Level-1 Functions Implementation of Level-2 FS Open-close-lseek Read Regular Files Write Regular Files Read-Write Special Files Opendir-readdir
14 Contents xvii Implementation of Level-3 FS Mount-umount Implications of mount File Protection Real and Effective uid File Locking Extensions of MTX File System References Block Device I/O and Buffer Management Block Device I/O Buffers Unix I/O Buffer Management Algorithm New I/O Buffer Management Algorithms Simple PV-Algorithm Optimal PV-Algorithm Comparisons of I/O Buffer Management Algorithms References User Interface User Interface in MTX User Mode Programs User Mode Programs for MTX Startup The INIT Program The login Program The sh Program Other User Mode Programs Summary of RMTX RMTX Source File Tree Process Management in RMTX Device Drivers File System Install RMTX RMTX Startup Sequence Recompile the RMTX Kernel Future Development MTX in 32-bit Protected Mode Introduction to 32-bit Protected Mode Memory Management in Protected Mode Segmentation Segment Descriptors Segmentation Models Paging Page Directory and Page Tables Address Translation in Paging Translation Lookaside Buffer (TLB)
15 xviii Contents Full Paging Demand-Paging Interrupt and Exception Processing Exceptions in Protected Mode Interrupt Descriptor Table (IDT) Task State Segment (TSS) TSS and Process Interrupt Stack Process Kernel Stack in Protected Mode GCC in 32-bit Mode Inline Assembly Constant, Volatile and Packed Attributes GCC Linker and Executable File Format MTX Kernel in 32-bit Protected Mode Protected Mode MTX Kernel Startup Sequence Interrupt and Exception Processing Remap IRQ Vectors IDT and Exception Handlers The Ultimate Exception Handler in C Interrupt Vectors and Handlers MTX32.1: 32-bit Protected Mode MTX Using Segmentation MTX32.1 Kernel Startup Sequence GDT for Segmentation Process TSS and LDT Switch TSS and LDT during Task Switch Changes in MTX32.1 Kernel Summary on Segmentation Demonstration System of MTX MTX32.2: 32-bit Protected Mode MTX using Static Paging MTX32.2 Virtual Address Spaces MTX32.2 Kernel Page Directory and Page Tables MTX32.2 User Mode Page Directory and Page Tables MTX32.2 Kernel Startup Sequence Process Page Directory and Page Table Process Interrupt and Resume Stack Frames Switch TSS and pgdir during Task Switch Changes in MTX32.2 Kernel Demonstration System of MTX PMTX: 32-bit Protected Mode MTX Using Dynamic Paging PMTX Virtual Address Spaces PMTX Kernel Startup Sequence PMTX Kernel Virtual Address Mapping PMTX Kernel Page Directory and Page Tables Manage Page Frames
16 Contents xix Changes in PMTX Kernel Page Faults and Demand-Paging Page Replacement Paging and I/O Buffer Management PMTX Demonstration System Extensions of 32-bit Protected Mode MTX bit Operating Systems x86-64 CPUs Function Call Convention in 64-bit Mode Summary References Symmetric Multiprocessing MTX Multiprocessor Systems SMP-Compliant Systems SMP System Startup Sequence SMP Data Structures Configure IOAPIC Configure Local APICs Send IPIs to Activate APs Trampoline Code of APs From UP to SMP Giant Lock Stage Coarse Grain Locking Stage Fine Grain Locking Stage SMP_PMTX in 32-bit Protected Mode Running PROCs and CPU Structures Spinlocks and Semaphores Use Sleep/Wakeup in SMP Protect Kernel Data Structures Adapt UP Algorithms for SMP Adapt UP Process Scheduling Algorithm for SMP Adapt UP Pipe Algorithm for SMP Adapt UP I/O Buffer Management Algorithm for SMP Device Driver and Interrupt Handlers for SMP SMP_PMTX Kernel Organization Bootable SMP_PMTX Image SMP_PMTX Kernel Startup Sequence Enter 32-bit Protected Mode Set up Initial Paging and GDTs Find Number of CPUs in SMP Initialize CPU Structures
17 xx Contents CPU Kernel Mode Page Table Load GDT and Enable Paging Initialize SMP Kernel Configure IOAPIC to Route Interrupts Configure APIC and APIC timer Start up APs APs Execute Startup Code APstart(cpuid) SMP_PMTX Demonstration System SMP_MTX using Parallel Algorithms Parallel Algorithms for Process Scheduling Parallel Algorithms for Resource Management Manage PROC Structures by Parallel Algorithm Manage In-memory Inodes by Parallel Algorithm Manage Page Frames by Parallel Algorithm Manage Other Resources by Parallel Algorithms Parallel Pipe Algorithm for SMP Parallel I/O Buffer Management Algorithms Unix MP Buffer Management Algorithm New Parallel I/O Buffer Management Algorithm for SMP I/O Buffer Management in SMP_MTX Parallel fork-exec Algorithms Parallel Algorithms for File System Functions Parallel mkdir-rmdir Algorithms Performance of Parallel Algorithms SMP_MTX Demonstration System SMP and Real-time Operating Systems SMP_MTX for Real-time Processing SMP in 16-bit Real Mode Real-mode SMP_RMTX startup sequence SMP_RMTX Kernel SMP_RMTX Demonstration System Limitations and Future Work Summary of PMTX and SMP_MTX PMTX and SMP_MTX Source File Tree PMTX and SMP_MTX Kernel Files Process Management in PMTX and SMP_MTX Process Scheduling in PMTX and SMP Device Drivers File System
18 Contents xxi PMTX and SMP Startup and login PMTX Startup Sequence SMP_MTX Startup Sequence User Interface and System Call Functions Recompile PMTX and SMP_MTX References Hybrid Operating Systems Monolithic Kernel Microkernel Comparison of Monolithic and Microkernel Based OS Hybrid Operating Systems References Appendix Index
Embedded and Real-Time Operating Systems
Embedded and Real-Time Operating Systems K.C. Wang Embedded and Real-Time Operating Systems 123 K.C. Wang School of Electrical Engineering and Computer Science Washington State University Pullman, WA USA
More informationPhilip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition
FPGA Design Philip Andrew Simpson FPGA Design Best Practices for Team-based Reuse Second Edition Philip Andrew Simpson San Jose, CA, USA ISBN 978-3-319-17923-0 DOI 10.1007/978-3-319-17924-7 ISBN 978-3-319-17924-7
More informationTo Everyone... iii To Educators... v To Students... vi Acknowledgments... vii Final Words... ix References... x. 1 ADialogueontheBook 1
Contents To Everyone.............................. iii To Educators.............................. v To Students............................... vi Acknowledgments........................... vii Final Words..............................
More informationFailure-Modes-Based Software Reading
SPRINGER BRIEFS IN COMPUTER SCIENCE Yang-Ming Zhu Failure-Modes-Based Software Reading SpringerBriefs in Computer Science More information about this series at http://www.springer.com/series/10028 Yang-Ming
More informationLow Level X Window Programming
Low Level X Window Programming Ross J. Maloney Low Level X Window Programming An Introduction by Examples 123 Dr. Ross J. Maloney Yenolam Corporation Booragoon, WA Australia ISBN 978-3-319-74249-6 ISBN
More informationUNIT I Linux Utilities
UNIT I Linux Utilities 1. a) How does Linux differ from Unix? Discuss the features of Linux. 5M b) Explain various text processing utilities, with a suitable example for each. 5M 2. a) Explain briefly
More informationGeorge Grätzer. Practical L A TEX
Practical L A TEX George Grätzer Practical L A TEX 123 George Grätzer Toronto, ON, Canada Additional material to this book can be downloaded from http://extras.springer.com ISBN 978-3-319-06424-6 ISBN
More informationCSC 4320 Test 1 Spring 2017
CSC 4320 Test 1 Spring 2017 Name 1. What are the three main purposes of an operating system? 2. Which of the following instructions should be privileged? a. Set value of timer. b. Read the clock. c. Clear
More informationResearch on Industrial Security Theory
Research on Industrial Security Theory Menggang Li Research on Industrial Security Theory Menggang Li China Centre for Industrial Security Research Beijing, People s Republic of China ISBN 978-3-642-36951-3
More informationIntroduction. Yolanda Becerra Fontal Juan José Costa Prats
Introduction Yolanda Becerra Fontal Juan José Costa Prats Facultat d'informàtica de Barcelona (FIB) Universitat Politècnica de Catalunya (UPC) BarcelonaTech 2015-2016 QT Content Previous concepts Architecture
More informationTimers 1 / 46. Jiffies. Potent and Evil Magic
Timers 1 / 46 Jiffies Each timer tick, a variable called jiffies is incremented It is thus (roughly) the number of HZ since system boot A 32-bit counter incremented at 1000 Hz wraps around in about 50
More informationLinux Kernel Architecture
Professional Linux Kernel Architecture Wolf gang Mauerer WILEY Wiley Publishing, Inc. Introduction xxvii Chapter 1: Introduction and Overview 1 Tasks of the Kernel v -- 2 Implementation Strategies 3 Elements
More informationCIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:
CIS 21 Final Study Guide Final covers ch. 1-20, except for 17. Need to know: I. Amdahl's Law II. Moore s Law III. Processes and Threading A. What is a process? B. What is a thread? C. Modes (kernel mode,
More informationProcesses and Non-Preemptive Scheduling. Otto J. Anshus
Processes and Non-Preemptive Scheduling Otto J. Anshus Threads Processes Processes Kernel An aside on concurrency Timing and sequence of events are key concurrency issues We will study classical OS concurrency
More informationLinux Driver and Embedded Developer
Linux Driver and Embedded Developer Course Highlights The flagship training program from Veda Solutions, successfully being conducted from the past 10 years A comprehensive expert level course covering
More informationSpringerBriefs in Computer Science
SpringerBriefs in Computer Science Series Editors Stan Zdonik Peng Ning Shashi Shekhar Jonathan Katz Xindong Wu Lakhmi C. Jain David Padua Xuemin (Sherman) Shen Borko Furht V.S. Subrahmanian Martial Hebert
More information(MCQZ-CS604 Operating Systems)
command to resume the execution of a suspended job in the foreground fg (Page 68) bg jobs kill commands in Linux is used to copy file is cp (Page 30) mv mkdir The process id returned to the child process
More informationCPSC/ECE 3220 Fall 2017 Exam Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.
CPSC/ECE 3220 Fall 2017 Exam 1 Name: 1. Give the definition (note: not the roles) for an operating system as stated in the textbook. (2 pts.) Referee / Illusionist / Glue. Circle only one of R, I, or G.
More informationSubject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering)
A. Multiple Choice Questions (60 questions) Subject: Operating System (BTCOC403) Class: S.Y.B.Tech. (Computer Engineering) Unit-I 1. What is operating system? a) collection of programs that manages hardware
More informationApplication Programming
Multicore Application Programming For Windows, Linux, and Oracle Solaris Darryl Gove AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris
More informationProgramming with POSIX Threads
Programming with POSIX Threads David R. Butenhof :vaddison-wesley Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sidney Tokyo Singapore Mexico City Contents List of
More informationOperating System Review
COP 4225 Advanced Unix Programming Operating System Review Chi Zhang czhang@cs.fiu.edu 1 About the Course Prerequisite: COP 4610 Concepts and Principles Programming System Calls Advanced Topics Internals,
More informationUNIT I Linux Utilities and Working with Bash
Subject with Code :(16MC814)Course& Branch: MCA Year & Sem: II-MCA& I-Sem UNIT I Linux Utilities and Working with Bash 1. a) How does Linux differ from Unix? Discuss the features of Linux.6M b) Explain
More informationMARUTHI SCHOOL OF BANKING (MSB)
MARUTHI SCHOOL OF BANKING (MSB) SO IT - OPERATING SYSTEM(2017) 1. is mainly responsible for allocating the resources as per process requirement? 1.RAM 2.Compiler 3.Operating Systems 4.Software 2.Which
More informationOperating Systems Overview. Chapter 2
Operating Systems Overview Chapter 2 Operating System A program that controls the execution of application programs An interface between the user and hardware Masks the details of the hardware Layers and
More informationFundamentals of Operating Systems. Fifth Edition
Fundamentals of Operating Systems Fifth Edition Fundamentals of Operating Systems A.M. Lister University of Queensland R. D. Eager University of Kent at Canterbury Fifth Edition Springer Science+Business
More informationAn Implementation Of Multiprocessor Linux
An Implementation Of Multiprocessor Linux This document describes the implementation of a simple SMP Linux kernel extension and how to use this to develop SMP Linux kernels for architectures other than
More informationMid Term from Feb-2005 to Nov 2012 CS604- Operating System
Mid Term from Feb-2005 to Nov 2012 CS604- Operating System Latest Solved from Mid term Papers Resource Person Hina 1-The problem with priority scheduling algorithm is. Deadlock Starvation (Page# 84) Aging
More informationComputer Communications and Networks. Series editor A.J. Sammes Centre for Forensic Computing Cranfield University, Shrivenham campus Swindon, UK
Computer Communications and Networks Series editor A.J. Sammes Centre for Forensic Computing Cranfield University, Shrivenham campus Swindon, UK The Computer Communications and Networks series is a range
More informationOPERATING SYSTEMS OVERVIEW. Operating Systems 2015 Spring by Euiseong Seo
OPERATING SYSTEMS OVERVIEW Operating Systems 2015 Spring by Euiseong Seo What is an Operating System? A program that acts as an intermediary between a user of a computer and computer hardware Operating
More informationMobile Phone Security and Forensics
Mobile Phone Security and Forensics Iosif I. Androulidakis Mobile Phone Security and Forensics A Practical Approach Second Edition Iosif I. Androulidakis Pedini Ioannina Greece ISBN 978-3-319-29741-5
More informationProcesses and Threads
COS 318: Operating Systems Processes and Threads Kai Li and Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall13/cos318 Today s Topics u Concurrency
More informationWireless Networks. Series Editor Xuemin Sherman Shen University of Waterloo Waterloo, Ontario, Canada
Wireless Networks Series Editor Xuemin Sherman Shen University of Waterloo Waterloo, Ontario, Canada More information about this series at http://www.springer.com/series/14180 Sachin Shetty Xuebiao Yuchi
More informationCS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University
CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):
More informationKINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR / ODD SEMESTER
KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING ACADEMIC YEAR 2011-2012 / ODD SEMESTER Question Bank Subject Code/Name: CS1005-Unix Internals Year / Sem: IV / VII UNIT I- GENERAL
More informationSoftware Development & Education Center
Software Development & Education Center Embedded Linux & RTOS With ARM 9 µc Embedded Linux and RTOS with ARM9 µc Introduction The course is designed for those who want to pursue Linux based Embedded Systems.
More informationMicrokernels. Overview. Required reading: Improving IPC by kernel design
Microkernels Required reading: Improving IPC by kernel design Overview This lecture looks at the microkernel organization. In a microkernel, services that a monolithic kernel implements in the kernel are
More information3.1 Introduction. Computers perform operations concurrently
PROCESS CONCEPTS 1 3.1 Introduction Computers perform operations concurrently For example, compiling a program, sending a file to a printer, rendering a Web page, playing music and receiving e-mail Processes
More informationGuide to OSI and TCP/IP Models
SPRINGER BRIEFS IN COMPUTER SCIENCE Mohammed M. Alani Guide to OSI and TCP/IP Models SpringerBriefs in Computer Science Series editors Stan Zdonik Peng Ning Shashi Shekhar Jonathan Katz Xindong Wu Lakhmi
More informationOperating Systems. Computer Science & Information Technology (CS) Rank under AIR 100
GATE- 2016-17 Postal Correspondence 1 Operating Systems Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts,
More informationMultidimensional Queueing Models in Telecommunication Networks
Multidimensional Queueing Models in Telecommunication Networks ThiS is a FM Blank Page Agassi Melikov Leonid Ponomarenko Multidimensional Queueing Models in Telecommunication Networks Agassi Melikov Department
More informationEssential Angular for ASP.NET Core MVC
Essential Angular for ASP.NET Core MVC Adam Freeman Essential Angular for ASP.NET Core MVC Adam Freeman London, UK ISBN-13 (pbk): 978-1-4842-2915-6 ISBN-13 (electronic): 978-1-4842-2916-3 DOI 10.1007/978-1-4842-2916-3
More informationEmbedded Linux Architecture
Embedded Linux Architecture Types of Operating Systems Real-Time Executive Monolithic Kernel Microkernel Real-Time Executive For MMU-less processors The entire address space is flat or linear with no memory
More informationDepartment of Computer Science and Technology, UTU 2014
Short Questions 060010601 Unix Internals Unit 1 : Introduction and Overview of UNIX 1. What were the goals of Multics System? 2. List out the levels in which UNIX system architecture is divided. 3. Which
More informationWhat is an Operating System? A Whirlwind Tour of Operating Systems. How did OS evolve? How did OS evolve?
What is an Operating System? A Whirlwind Tour of Operating Systems Trusted software interposed between the hardware and application/utilities to improve efficiency and usability Most computing systems
More informationMain Points of the Computer Organization and System Software Module
Main Points of the Computer Organization and System Software Module You can find below the topics we have covered during the COSS module. Reading the relevant parts of the textbooks is essential for a
More informationStefan Waldmann. Topology. An Introduction
Topology Stefan Waldmann Topology An Introduction 123 Stefan Waldmann Julius Maximilian University of Würzburg Würzburg Germany ISBN 978-3-319-09679-7 ISBN 978-3-319-09680-3 (ebook) DOI 10.1007/978-3-319-09680-3
More informationIntroduction to Computer Networking
Introduction to Computer Networking Thomas G. Robertazzi Introduction to Computer Networking 123 Thomas G. Robertazzi Department of Electrical and Computer Engineering Stony Brook University Stony Brook,
More informationProfessional Multicore Programming. Design and Implementation for C++ Developers
Professional Multicore Programming Design and Implementation for C++ Developers Cameron Hughes Tracey Hughes WILEY Wiley Publishing, Inc. Introduction xxi Chapter 1: The New Architecture 1 What Is a Multicore?
More informationContents. 1.1 What Operating Systems Do Computer-System Organization Computer-System Architecture 12. Operating-System Structures
Contents PART ONE Chapter 1 Introduction OVERVIEW 1.1 What Operating Systems Do 3 1.2 Computer-System Organization 6 1.3 Computer-System Architecture 12 1.4 Operating-System Structure 18 1.5 Operating-System
More informationQUESTION BANK UNIT I
QUESTION BANK Subject Name: Operating Systems UNIT I 1) Differentiate between tightly coupled systems and loosely coupled systems. 2) Define OS 3) What are the differences between Batch OS and Multiprogramming?
More informationProcesses. Sanzheng Qiao. December, Department of Computing and Software
Processes Sanzheng Qiao Department of Computing and Software December, 2012 What is a process? The notion of process is an abstraction. It has been given many definitions. Program in execution is the most
More informationCSI3131 Final Exam Review
CSI3131 Final Exam Review Final Exam: When: April 24, 2015 2:00 PM Where: SMD 425 File Systems I/O Hard Drive Virtual Memory Swap Memory Storage and I/O Introduction CSI3131 Topics Process Computing Systems
More informationFunctional Programming in R
Functional Programming in R Advanced Statistical Programming for Data Science, Analysis and Finance Thomas Mailund Functional Programming in R: Advanced Statistical Programming for Data Science, Analysis
More informationLast class: OS and Architecture. OS and Computer Architecture
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationLast class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components
Last class: OS and Architecture Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation
More informationOS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management
Last class: OS and Architecture OS and Computer Architecture OS Service Protection Interrupts System Calls IO Scheduling Synchronization Virtual Memory Hardware Support Kernel/User Mode Protected Instructions
More informationLecture 15: I/O Devices & Drivers
CS 422/522 Design & Implementation of Operating Systems Lecture 15: I/O Devices & Drivers Zhong Shao Dept. of Computer Science Yale University Acknowledgement: some slides are taken from previous versions
More informationECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017
ECE 550D Fundamentals of Computer Systems and Engineering Fall 2017 The Operating System (OS) Prof. John Board Duke University Slides are derived from work by Profs. Tyler Bletsch and Andrew Hilton (Duke)
More informationPROCESS CONTROL: PROCESS CREATION: UNIT-VI PROCESS CONTROL III-II R
PROCESS CONTROL: This will describe the use and implementation of the system calls that control the process context. The fork system call creates a new process, the exit call terminates process execution,
More informationKernel Internals. Course Duration: 5 days. Pre-Requisites : Course Objective: Course Outline
Course Duration: 5 days Pre-Requisites : Good C programming skills. Required knowledge Linux as a User Course Objective: To get Kernel and User Space of Linux and related programming Linux Advance Programming
More informationOperating Systems. II. Processes
Operating Systems II. Processes Ludovic Apvrille ludovic.apvrille@telecom-paristech.fr Eurecom, office 470 http://soc.eurecom.fr/os/ @OS Eurecom Outline Concepts Definitions and basic concepts Process
More informationArchitectural Support for OS
Architectural Support for OS Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong (jinkyu@skku.edu)
More informationPro MERN Stack. Full Stack Web App Development with Mongo, Express, React, and Node. Vasan Subramanian
Pro MERN Stack Full Stack Web App Development with Mongo, Express, React, and Node Vasan Subramanian Pro MERN Stack Vasan Subramanian Bangalore, Karnataka, India ISBN-13 (pbk): 978-1-4842-2652-0 ISBN-13
More informationEXAMS CS604- OPERATING SYSTEMS
MUHAMMAD FAISAL MIT 4 th Semester Al-Barq Campus (VGJW01) Gujranwala faisalgrw123@gmail.com Solved Reference MCQ s For Final TERM EXAMS CS604- OPERATING SYSTEMS Question No: 1 ( Marks: 1 ) - Please choose
More informationSistemas Operacionais I. Valeria Menezes Bastos
Sistemas Operacionais I Valeria Menezes Bastos Operating Systems: Internals and Design Principles Chapter 1 Computer System Overview Eighth Edition By William Stallings Summary Basic Elements Evolution
More informationIterative Design of Teaching-Learning Sequences
Iterative Design of Teaching-Learning Sequences Dimitris Psillos Petros Kariotoglou Editors Iterative Design of Teaching- Learning Sequences Introducing the Science of Materials in European Schools Editors
More informationELEC 377 Operating Systems. Week 1 Class 2
Operating Systems Week 1 Class 2 Labs vs. Assignments The only work to turn in are the labs. In some of the handouts I refer to the labs as assignments. There are no assignments separate from the labs.
More informationDeadlock. Concurrency: Deadlock and Starvation. Reusable Resources
Concurrency: Deadlock and Starvation Chapter 6 Deadlock Permanent blocking of a set of processes that either compete for system resources or communicate with each other No efficient solution Involve conflicting
More informationExam Guide COMPSCI 386
FOUNDATIONS We discussed in broad terms the three primary responsibilities of an operating system. Describe each. What is a process? What is a thread? What parts of a process are shared by threads? What
More informationChap 4, 5: Process. Dongkun Shin, SKKU
Chap 4, 5: Process 1 Process Concept Job A bundle of program and data to be executed An entity before submission for execution Process (= running program) An entity that is registered to kernel for execution
More informationfor Operating Systems Computer Systems Laboratory Sungkyunkwan University
Architectural t Support for Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic computer system architecture
More informationProcess Description and Control
Process Description and Control 1 Process:the concept Process = a program in execution Example processes: OS kernel OS shell Program executing after compilation www-browser Process management by OS : Allocate
More information9/19/18. COS 318: Operating Systems. Overview. Important Times. Hardware of A Typical Computer. Today CPU. I/O bus. Network
Important Times COS 318: Operating Systems Overview Jaswinder Pal Singh and a Fabulous Course Staff Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) u Precepts:
More informationSHRI ANGALAMMAN COLLEGE OF ENGINEERING AND TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR, TIRUCHIRAPPALLI
SHRI ANGALAMMAN COLLEGE OF ENGINEERING AND TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR, TIRUCHIRAPPALLI 621 105 DEPARTMENT OF COMPUTER SCIENCE AND ENGG. Cs 1005- UNIX INTERNALS UNIT
More informationCLASS: II YEAR / IV SEMESTER CSE SUBJECT CODE AND NAME: CS6401 OPERATING SYSTEMS UNIT I OPERATING SYSTEMS OVERVIEW
CLASS: II YEAR / IV SEMESTER CSE SUBJECT CODE AND NAME: CS6401 OPERATING SYSTEMS SYLLABUS UNIT I OPERATING SYSTEMS OVERVIEW Computer System Overview-Basic Elements, Instruction Execution, Interrupts, Memory
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 informationJava Quick Syntax Reference. Second Edition. Mikael Olsson
Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Second Edition Mikael Olsson Java Quick Syntax Reference Mikael Olsson Hammarland, Länsi-Suomi, Finland ISBN-13 (pbk):
More informationAdvanced Programming in the UNIX Environment W. Richard Stevens
Advanced Programming in the UNIX Environment W. Richard Stevens ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam
More informationArchitectural Support. Processes. OS Structure. Threads. Scheduling. CSE 451: Operating Systems Spring Module 28 Course Review
Architectural Support CSE 451: Operating Systems Spring 2012 Module 28 Course Review Ed Lazowska lazowska@cs.washington.edu Allen Center 570 Privileged instructions what are they? how does the CPU know
More informationOperating Systems Comprehensive Exam. Spring Student ID # 3/16/2006
Operating Systems Comprehensive Exam Spring 2006 Student ID # 3/16/2006 You must complete all of part I (60%) You must complete two of the three sections in part II (20% each) In Part I, circle or select
More information- Knowledge of basic computer architecture and organization, ECE 445
ECE 446: Device Driver Development Fall 2014 Wednesdays 7:20-10 PM Office hours: Wednesdays 6:15-7:15 PM or by appointment, Adjunct office Engineering Building room 3707/3708 Last updated: 8/24/14 Instructor:
More informationProcesses. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University
Processes Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu OS Internals User space shell ls trap shell ps Kernel space File System Management I/O
More information3. Process Management in xv6
Lecture Notes for CS347: Operating Systems Mythili Vutukuru, Department of Computer Science and Engineering, IIT Bombay 3. Process Management in xv6 We begin understanding xv6 process management by looking
More informationSystem Call. Preview. System Call. System Call. System Call 9/7/2018
Preview Operating System Structure Monolithic Layered System Microkernel Virtual Machine Process Management Process Models Process Creation Process Termination Process State Process Implementation Operating
More informationCSC Operating Systems Spring Lecture - XII Midterm Review. Tevfik Ko!ar. Louisiana State University. March 4 th, 2008.
CSC 4103 - Operating Systems Spring 2008 Lecture - XII Midterm Review Tevfik Ko!ar Louisiana State University March 4 th, 2008 1 I/O Structure After I/O starts, control returns to user program only upon
More informationOperating Systemss and Multicore Programming (1DT089)
Operating Systemss and Multicore Programming (1DT089) Introduction to Operating Systemss (Chapter 1) Wednesday january 23 Uppsala University 2013 karl.marklund@it.uu.se Chapter 1: Introduction Chapter
More informationCSC 453 Operating Systems
CSC 453 Operating Systems Lecture 3: Operating-System Structures Operating System Components Operating systems are large and complex - the only way to manage such a project is to divide it into smaller
More informationCSL373/CSL633 Major Exam Solutions Operating Systems Sem II, May 6, 2013 Answer all 8 questions Max. Marks: 56
CSL373/CSL633 Major Exam Solutions Operating Systems Sem II, 2012 13 May 6, 2013 Answer all 8 questions Max. Marks: 56 1. True or False. Give reasons and/or brief explanation. No marks for incomplete/wrong
More informationPROCESSES & THREADS. Charles Abzug, Ph.D. Department of Computer Science James Madison University Harrisonburg, VA Charles Abzug
PROCESSES & THREADS Charles Abzug, Ph.D. Department of Computer Science James Madison University Harrisonburg, VA 22807 Voice Phone: 540-568-8746; Cell Phone: 443-956-9424 E-mail: abzugcx@jmu.edu OR CharlesAbzug@ACM.org
More informationEnglish for Academic Research. Series editor Adrian Wallwork Pisa Italy
English for Academic Research Series editor Adrian Wallwork Pisa Italy This series aims to help non-native, English-speaking researchers communicate in English. The books in this series are designed like
More informationCOS 318: Operating Systems
COS 318: Operating Systems Overview Kai Li Computer Science Department Princeton University (http://www.cs.princeton.edu/courses/cos318/) Important Times Lectures 9/20 Lecture is here Other lectures in
More informationArchitectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University
Architectural Support for Operating Systems Jinkyu Jeong ( jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics Basic services of OS Basic computer system
More informationTechno India Batanagar Department of Computer Science & Engineering. Model Questions. Multiple Choice Questions:
Techno India Batanagar Department of Computer Science & Engineering Model Questions Subject Name: Operating System Multiple Choice Questions: Subject Code: CS603 1) Shell is the exclusive feature of a)
More informationThe Kernel Abstraction. Chapter 2 OSPP Part I
The Kernel Abstraction Chapter 2 OSPP Part I Kernel The software component that controls the hardware directly, and implements the core privileged OS functions. Modern hardware has features that allow
More informationTable of Contents. Preface... xi
,ldr3toc.fm.4587 Page v Thursday, January 20, 2005 9:30 AM Table of Contents Preface................................................................. xi 1. An Introduction to Device Drivers.....................................
More informationB. V. Patel Institute of Business Management, Computer &Information Technology, UTU
BCA-3 rd Semester 030010304-Fundamentals Of Operating Systems Unit: 1 Introduction Short Answer Questions : 1. State two ways of process communication. 2. State any two uses of operating system according
More informationProcess Concepts. CSC400 - Operating Systems. 3. Process Concepts. J. Sumey
CSC400 - Operating Systems 3. Process Concepts J. Sumey Overview Concurrency Processes & Process States Process Accounting Interrupts & Interrupt Processing Interprocess Communication CSC400 - Process
More informationCSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018 Overview Objective: To explore the principles upon which
More informationPROCESS STATES AND TRANSITIONS:
The kernel contains a process table with an entry that describes the state of every active process in the system. The u area contains additional information that controls the operation of a process. The
More information