Module I Course Overview and Introduction to Operating Systems

Module I Course Overview and Introduction to Operating Systems

Module I Course Overview And Introduction To Operating Systems CS354 ± module 1 1 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. COURSE MOTIVATION AND SCOPE Scope This is a course about the design and structure of computer operating systems. It covers the concepts, principles, functionality, tradeoffs, and implementation of systems that support concurrent processing. CS354 ± module 1 3 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. What We Will Cover d Operating system fundamentals d Functionality an operating system offers d Major system components d Interdependencies and system structure d The key relationships between operating system abstractions and the underlying hardware (especially processes and interrupts) d A few implementation details and examples CS354 ± module 1 4 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. What You Will Learn d Fundamental ± Principles ± Design options ± Tradeoffs d How to modify and test operating system code d How to design and build an operating system CS354 ± module 1 5 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. What We Will NOT Cover d A comparison of large commercial and open source operating systems d A description of features or instructions on how to use a particular commercial system d A survey of research systems and alternative approaches that have been studied d A set of techniques for building operating systems on unusual hardware CS354 ± module 1 6 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. How Operating Systems Changed Programming d Before operating systems ± Only one application could run at any time ± The application contained code to control speci®c I/O devices ± The application had to overlap I/O and processing d With an operating system in place ± Multiple applications can run at the same time ± An application is not built for speci®c I/O devices ± A programmer does not need to overlap I/O and processing ± An application is written without regard to other applications CS354 ± module 1 7 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Why Operating Systems Are Dif®cult To Build d The gap between hardware and high-level services is huge ± Hardware is ugly ± Operating system abstractions are beautiful ± An operating system must bridge the gap between low-level hardware and high- level abstractions d Everything is now connected by computer networks ± An operating system must offer communication facilities ± Distributed mechanisms (e.g., access to remote ®les) are more dif®cult to create than local mechanisms CS354 ± module 1 8 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. An Observation About Ef®ciency d Our job in Computer Science is to build beautiful new abstractions that programmers can use d It is easy to imagine magical new abstractions d The hard part is that we must ®nd abstractions that map onto the underlying hardware ef®ciently d We hope that hardware engineers eventually build hardware for our abstractions (or at least build hardware that makes out abstractions more ef®cient) CS354 ± module 1 9 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. The Once And Future Hot Topic d In the 1970s and early 1980s, operating systems was one of the hottest topics in CS d By the mid-1990s, OS research had stagnated d Now things have heated up again, and new operating systems are being designed for ± Smart phones ± Multicore systems ± Data centers ± Large and small embedded devices (the Internet of Things) CS354 ± module 1 10 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. XINU AND THE LAB Motivation For Studying A Real Operating System d Provides examples of the principles d Makes everything clear and concrete d Shows how abstractions map to current hardware d Gives students a chance to experiment and gain ®rst-hand experience CS354 ± module 1 12 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Can We Study Commercial Systems? d Windows ± Millions of line of code ± Proprietary d Linux ± Millions of line of code ± Lack of consistency across modules ± Duplication of functionality with slight variants CS354 ± module 1 13 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. An Alternative: Xinu d Small Ð can be read and understood in a semester d Complete Ð includes all the major components d Elegant Ð provides an excellent example of clean design d Powerful Ð has dynamic process creation, dynamic memory management, ¯exible I/O, and basic Internet protocols d Practical Ð has been used in real products CS354 ± module 1 14 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. The Xinu Lab d Innovative facility for rapid OS development and testing d Allows each student to create, download, and run code on bare hardware d Completely automated d Handles hardware reboot when necessary d Provides communication to the Internet as well as among computers in the lab CS354 ± module 1 15 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. How The Xinu Lab Works d A student ± Logs into a conventional desktop system called a front-end ± Modi®es and compiles a version of the Xinu OS ± Requests a computer to use for testing d Lab software ± Allocates one of the back-end computers for the student to use ± Downloads the student's Xinu code into the back-end ± Connects the console from the back-end to the student's window ± Allows the student to release the back-end for others to use CS354 ± module 1 16 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. REQUIRED BACKGROUND AND PREREQUISITES Background Needed d A few concepts from earlier courses ± Integer arithmetic ± Logical operators and, or, and not ± I/O: you should know the difference between standard library functions (e.g., fopen, putc, getc, fread, fwrite) and system calls (e.g., open, close, read, write) ± File systems and hierarchical directories ± Symbolic and hard links ± File modes and protection d Concurrent programming experience: you should have written a program that uses fork or threads CS354 ± module 1 18 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Background Needed (continued) d An understanding of runtime storage components ± Segments (text, data, and bss) and their layout ± Runtime stack used for function call; argument passing ± Basic heap storage management (malloc and free) d C programming ± At least one nontrivial program ± Comfortable with low-level constructs (e.g., bit manipulation and pointers) CS354 ± module 1 19 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Background Needed (continued) d Working knowledge of basic Unix tools (needed for programming assignments) ± Text editor (e.g., emacs) ± Compiler / linker / loader ± Tar archives ± Make and Make®les d Desire to learn CS354 ± module 1 20 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Course Syllabus See the handout or download from Brightspace CS354 ± module 1 21 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. How We Will Proceed d We will examine the major components of an operating system d For a given component we will ± Outline the functionality it provides ± Understand principles involved ± Study one particular design choice in depth ± Consider implementation details and the relationship to hardware ± Quickly review other possibilities and tradeoffs d Note: we will cover components in a linear order that allows us to understand one component at a time without relying on later components CS354 ± module 1 22 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. A FEW THINGS TO THINK ABOUT Real concurrency Ð in which one program actually continues to function while you call up and use another Ð is more amazing but of small use to the average person. How many programs do you have that take more than a few seconds to perform any task? (From an article about new operating systems for the IBM PC in the New York Times, 25 April 1989) d CS354 ± module 1 24 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Perfection [in design] is achieved not when there is nothing to add, but rather when there is nothing more to take away. ± Antoine de Saint-Exupery CS354 ± module 1 25 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Questions? Introduction To Operating Systems (Definitions And Functionality) What Is An Operating System? d Answer: a large piece of sophisticated software that provides an abstract computing environment d An OS manages resources and supplies computational services d An OS hides low-level hardware details from programmers d Note: operating system software is among the most complex ever devised CS354 ± module 1 28 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc. All rights reserved. Example Services An OS Supplies d Support for concurrent execution (multiple apps running at the same time) d Process synchronization d Process-to-process communication mechanisms d Process-to-process message passing and asynchronous events d Management of address spaces and virtual memory support d Protection among users and running applications d High-level interface for I/ O devices d File systems and ®le access facilities d Internet communication CS354 ± module 1 29 Fall, 2021 Copyright 2021 by Douglas Comer and CRC Press, Inc.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    84 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us