Book: Dinosaurs? & Dinosaur Wars Frederick P. Brooks ' Mythical Man-Month (1975). Description of the software crises - likens la large s scale le p programmin ing to a tar pit Operating Systems No scene from prehistory is quite so vivid as that of the mortal struggles of great beasts in the tar pits. In the mind's eye one sees dinosaurs , mammoths, and saber toothed tigers struggling against the grip of the tar . The fiercer the struggle, the more entangling the tar , and no beast is so strong or so skillful but that he ultimately sinks. Large-scale programming has over the past decade been such a tar pit , and CSCI 4730 / CSCI 6730 many great and powerful beasts have thrashed violently in it. Most have emerged with running systems - few have met goals, schedules, and budgets. Maria Hybinette 1 Maria Hybinette, UGA Maria Hybinette, UGA Evolution of Textbook Outline & Questions • What is an Operating Systems (OS)? • What does an OS do? 1983 1998 2004 • What is an OS and what is it not? 1983 • How do I run an OS? • How does an Operating System run? • What is the basic structure? 2008 • Computer System Component Architecture 2013 Maria Hybinette, UGA https://galvin.info/history-of-operating-system-concepts-textbook/ Maria Hybinette, UGA
Questions? Poll? • What desktop/laptop OS do you have? • What are the major operating system • Which desktop/laptop OSs are you familiar with? components? • What do you think the market share (%) is (portion of different OSs)? • What are basic computer system – Windows – Mac organizations? – Linux – Other • How do you communicate with the • What about the mobile OS market share? operating systems? – iOS – Android • What services are (need to be) provided? – Window – Other • Are they different? Maria Hybinette, UGA Maria Hybinette, UGA Popularity: OS Market Share What is an Operating System Desktop vs. Mobile Browser DVD Player gcc vi Operating System Hardware • Software between applications and hardware – Hide hardware complexity – Manages resources: • Make finite resources infinite http://www.w3counter.com/ http://netmarketshare.com/ Based on page views : July 2016 – Provide protection and isolation Maria Hybinette, UGA Maria Hybinette, UGA Courtesy: Kai Li, Princeton
What is an Operating System What is an Operating System? CPU: Scheduling Processes on CPU • An intermediary between a user of a Disk: Read And Write Files Memory: Manage Running Processes Data computer and the computer hardware. Communication: Message Send and Receive • A hardware manager • A Protector • Goals: – Make the computer system convenient to use. • Software between applications and hardware – Use the computer hardware in an efficient manner. – Hide hardware complexity – Combination of the above. – Manages resources: – Handhelds (convenience), Mainframes/Servers (efficiency) • Make finite resources infinite – Provide protection and isolation Courtesy: Ada Gavrilovska, G-Tech Maria Hybinette, UGA Maria Hybinette, UGA Courtesy: Kai Li, Princeton Where is the OS? Computer System Layers Computer System Layers Computer system can be divided Computer system can be divided roughly in four components: roughly in four components: … … user user user user user user • Hardware • Hardware: 1 2 n 1 2 n • Operating system – provides basic computer resources: • Application programs … … • CPU, Memory, I/O Devices compiler assembler text editor compiler assembler text editor • Users System and Application Programs System and Application Programs Operating System Operating System Computer Computer Hardware Hardware Maria Hybinette, UGA Maria Hybinette, UGA
Computer System Layers Computer System Layers Computer system can be divided Computer system can be divided roughly in four components: roughly in four components: … … • Hardware user user user user user user • Hardware 1 2 n 1 2 n • Operating system: • Operating system – Controls and coordinates … • Application programs … use of hardware among compiler assembler text editor compiler assembler text editor – define the ways in which various applications and System and Application Programs System and Application Programs users. the system resources are used to solve the Operating System Operating System computing problems of the users • Word processors, Computer Computer compilers, web browsers, Hardware Hardware database systems, video games Maria Hybinette, UGA Maria Hybinette, UGA Computer System Layers Computer System Layers Computer system can be divided Computer system can be divided roughly in four components: roughly in four components: … … user user user user user user • Hardware • Hardware 1 2 n 1 2 n • Operating system • Operating system • Application programs … • Application programs … compiler assembler text editor compiler assembler text editor • Users • Users System and Application Programs System and Application Programs – People, machines, other computers Operating System Operating System Computer Computer Hardware Hardware Maria Hybinette, UGA Maria Hybinette, UGA
What " Makes up” the Operating Between The Layers: Interfaces System? • Device Drivers • Hardware à Drivers -- Operating System – Kernel à – Hardware Applications à Users specific • Surprise! No universally accepted definition! software – A GRAY border • System Calls • � Everything a vendor ships when you order an – Gateway to operating system � used to be a good approximation… But varies wildly ”Kernel Space” • Shell • Operating System is just the � Kernel � – the one program that runs at all times on the computer – User Interface – everything else is either a • system program (ships with the operating system) or an • application program Maria Hybinette, UGA Maria Hybinette, UGA What Does Operating Systems Overview: The Computer Startup Do? Process • A bootstrap program (initial • A Space/Time Controller program) is loaded at power-up or reboot (it itself is called by an instruction at a specific � known • [Space] It allocates resources address � – Stored in firmware in – Manages all resources ROM/EEROM – Stored on a chip on the mother – Decides between conflicting requests for efficient board ( � parent board � ) and fair resource use • Initializes all aspects of system • [Time] It controls execution of running • At some later point the operating system kernel is loaded (e.g., programs (processes) from disk) and starts execution – Controls execution of programs to prevent errors • Pentium initial bootstrap program that loads the OS is called the and improper use of the computer system Basic Input Output System or BIOS. Maria Hybinette, UGA Maria Hybinette, UGA
Visual of the Time-Line of the CMOS/BIOS Configuration Utility Booting Sequence (more detailed) http://duartes.org/gustavo/blog/post/how-computers-boot-up Visualizing the booting sequence - please read the below web page for more detail (HW). First instruction executed (Intels) : 0xFFFFFFF0 (reset vector) First instruction is a jump to BIOS entry point Maria Hybinette, UGA Maria Hybinette, UGA Booting from hard disk Entire Disk & Booting Computer • Master Boot Record (sector 0) - Contains a program, a boot loader) that examines partition table for an � active � Disk is divided into 1+ partitions: one file system per partition partition that contains the secondary boot loader. Partition Table – used to boot computer • Partition Table – Located at the end of MBR and contains starting and ending Entire Disk: MBR Partition Partition … Partition address of each partition • � A program (e.g., the system Basic Input Output System or BIOS for Pentiums) � reads in and executes the MBR Free Space Management – searches for first active partition (noted in the partition table) – reads in its first block (the boot block) and executes it File System: Boot block Super Block i-list Data blocks for files, directories, etc. Partition Table i-node i-node i-node … i-node MBR Partition Partition … Partition Maria Hybinette, UGA Maria Hybinette, UGA
Recommend
More recommend