Minix Jeff Ward, Robert Burghart, Jeb Collins, Joe Creech.

Slides:



Advertisements
Similar presentations
Principles of I/O Hardware I/O Devices Block devices, Character devices, Others Speed Device Controllers Separation of electronic from mechanical components.
Advertisements

Operating System.
Operating System Structures
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Operating Systems Operating Systems - Winter 2009 Chapter 3 – Input/Output Vrije Universiteit Amsterdam.
1 OS Structure, Processes & Process Management. 2 Recap OS functions  Coordinator  Protection  Communication  Resource management  Service provider.
Chapter 101 Virtual Memory Chapter 10 Sections and plus (Skip:10.3.2, 10.7, rest of 10.8)
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
CMPT 300: Operating Systems Review THIS REIVEW SHOULD NOT BE USED AS PREDICTORS OF THE ACTUAL QUESTIONS APPEARING ON THE FINAL EXAM.
Process management in Minix1 Processes Process is a program in execution. Program is a static entity while process is an active entity. Process Control.
©Brooks/Cole, 2003 Chapter 7 Operating Systems Dr. Barnawi.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
1 I/O Management in Representative Operating Systems.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved OPERATING SYSTEMS DESIGN.
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved OPERATING SYSTEMS DESIGN.
Cpr E 308 Input/Output Recall: OS must abstract out all the details of specific I/O devices Today –Block and Character Devices –Hardware Issues – Programmed.
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
I/O Systems I/O Hardware Application I/O Interface
IBM OS/2 Warp Mike Storck Matt Kerster Mike Roe Patrick Caldwell.
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Chapter 7 Operating Systems. Define the purpose and functions of an operating system. Understand the components of an operating system. Understand the.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3.
Memory. Chapter 8: Memory Management Background Swapping Contiguous Memory Allocation Paging Structure of the Page Table Segmentation.
Linux Overview COMS W4118 Spring Slides based on Phil Hutto, Silberschatz 2 History Linux is a modern, free operating system based on UNIX standards.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
UNIX Unit 1- Architecture of Unix - By Pratima.
Overview of Operating Systems Introduction to Operating Systems: Module 0.
The UNIX Time-sharing system
Hardware process When the computer is powered up, it begins to execute fetch-execute cycle for the program that is stored in memory at the boot strap entry.
Copyright © Curt Hill Operating Systems An Introductory Overview.
1 Process Description and Control Chapter 3. 2 Process A program in execution An instance of a program running on a computer The entity that can be assigned.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
MINIX 3 – Introduction Béat Hirsbrunner Lecture 1, 18 September 2012 Main reference Andrew S. Tanenbaum, Albert S. Woodhull Operating Systems : Design.
Operating Systems Overview Basic Computer Concepts Operating System What does an operating system do  A computer’s software acts similarly with.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to Operating Systems Concepts
Operating System & Application Software
Module 12: I/O Systems I/O hardware Application I/O Interface
Interrupts and signals
Process Management Process Concept Why only the global variables?
Midterm Review David Ferry, Chris Gill
KERNEL ARCHITECTURE.
10CS53 Operating Systems Unit VIII Engineered for Tomorrow
CSCI 315 Operating Systems Design
Chapter 15, Exploring the Digital Domain
10CS53 Operating Systems Unit VIII Engineered for Tomorrow
Chapter 2: The Linux System Part 1
I/O Systems I/O Hardware Application I/O Interface
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Chapter 8: Memory management
Outline Module 1 and 2 dealt with processes, scheduling and synchronization Next two modules will deal with memory and storage Processes require data to.
Lecture Topics: 11/1 General Operating System Concepts Processes
Chapter 2: Operating-System Structures
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Outline Operating System Organization Operating System Examples
Chapter 2: Operating-System Structures
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Minix Jeff Ward, Robert Burghart, Jeb Collins, Joe Creech

Minix History and Purpose In 1975 the source for UNIX version 6 was available from AT&T –Universities took advantage of this and used the source in courses on OS design and implementation. With the release of UNIX version 7, AT&T decided to restrict the use of the source.

Minix History and Purpose Dr. Tanenbaum wrote MINIX (from scratch) as a replacement for AT&T UNIX in OS design and implementation courses. –Originally, MINIX was written to be compatible with UNIX V7. –Since, it has become increasingly POSIX compliant.

Minix and Linux Independent users of Minix were unsatisfied with its limited capabilities. –Linus Torvalds decided to write his own OS based on Minix.

The Boot Process The boot sector contains the hard-coded location of a boot program –The program is stored in the 1 st Kilobyte block of the MINIX partition. –This is known as the bootblock and is a standard feature in UNIX.

The Boot Process The boot program provides two main services. –Boot MINIX or any other OS on the disk. –Configure boot parameters for MINIX.

Processes: Process Scheduling There are three levels of processes in MINIX: –User Processes –Server Processes –I/O Tasks I/O Tasks are run first, then Server Processes and finally User Processes.

Processes: Process Scheduling Tasks within each level are handled differently: –User Processes: Scheduled using a round robin algorithm Interrupts are used to indicate when a process has to give up the CPU. –Server Processes and I/O Tasks Run until blocked (FIFO)

Deadlock “True to its heritage, MINIX follows the same path as UNIX with respect to deadlocks: it just ignores the problem altogether.” -- Tanenbaum and Woodhull

I/O There are no dedicated I/O devices (this is the reason for no deadlock avoidance). Hardware –This is where all the physical devices are. Communication is achieved through interrupts.

I/O Interrupt Handlers –Serves as a communication layer between Driver and Hardware. –Buffers information in some cases (like clock events) to percent the system from being flooded by messages. Device Drivers –Handles interpretation of information coming from the Interrupt Handler –Full, separate process that run in the task layer.

I/O Device-independent Software –The layer that provides a standard interface for user level programs. –Functions like fprintf and fscanf reside in this layer. User Processes –User programs that make calls to the Device- independent Software layer reside here.

Memory Management A list of holes (unused sections of memory) is maintained in memory address order. When a request for memory is made the first hole that can accommodate the request is used.

Memory Management Once a process is in memory there is no moving or resizing of the partition. –Two reasons for this simplistic memory management system: Since MINIX was designed as a learning tool Dr. Tanenbaum felt that a more complex memory management system was not needed. MINIX is designed to run on all x86 processors including the 8088 which can’t handle segmented memory.

Threads (?) MINIX doesn’t support threading in the kernel. –Since it is a partially compliant POSIX system, one could use a thread library.