Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Minix Jeff Ward, Robert Burghart, Jeb Collins, Joe Creech."— Presentation transcript:

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

2 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.

3 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.

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

5 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.

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

7 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.

8 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)

9 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

10 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.

11 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.

12 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.

13 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.

14 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.

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


Download ppt "Minix Jeff Ward, Robert Burghart, Jeb Collins, Joe Creech."

Similar presentations


Ads by Google