unix operating systems and kernels presented by: walter haynes april 26, 2007
TRANSCRIPT
UNIX Operating Systems and Kernels
Presented By: Walter Haynes
April 26, 2007
Abstract This presentation relates to the UNIX
operating system and its kernels. It shows the design and productivity of the four major kernels that are used today and gives a comparative analysis of them. It also talks about the conflict between the monolithic and micro kernels as it relates to the Tanenbaum – Torualds Debate who are the creators of the MINIX and Linux versions of UNIX.
Introduction
In the UNIX Operating System the kernel is the master control program of the computer. It manages the computer’s resources and handles the switching necessary to provide multitasking. Today there’s many different types of kernels based on the way the version was written. Today there’s four major kernels being used the micro, monolithic, hybrid, and exokernels.
UNIX And Its Beginning
• UNIX is one of the oldest operating systems made. It consist of:
• Kernel – Master control program • File System – Organizes data into files and
directories• Shell – Interrupts user commands for the kernel• Utilities – Useful Software tools
BSD (Berkeley Software Distribution)
• One of the Several Branches of the UNIX Operating System.
• Created in the 1970s by students at University of California at Berkeley.
BSD PDP-11
• The first UNIX system at Berkeley was a PDP-11(Programmed Data Processor) installed in 1974.
• The PDP-11 was a series of 16-bit microcomputers, sold by the Digital Equipment Corp.
BSD VAX-11
• The PDP-11 was later replace with the VAX-11 (Virtual Address Extension)
• This processor was an 32-bit extension that support an Orthogonal instruction set which allows it to use data of any type via any addressing mode
1BSD
• In 1977, Bill Joy released First Berkeley Software Distribution (1BSD).
• This Version was an add on to the 6th Edition of UNIX
• Today, he is the Co-founder of Sun Microcomputers
MINIX• Created by Andrew S.
Tanenbaum at Vrije Universiteit in Amsterdam.
• Wrote 12,000 lines of code mainly in C, source code of the kernel, memory manager, and file system of MINIX 1.0
• Tanenbaum’s design principle influenced the design of Linus Torualds creation of the Linux Kernel
What is a Kernel?
Every operating system has a kernel. The task of an operating system’s kernel is to take care of the most basic of tasks a computer operating system must perform: assign hardware resources to software applications in order for them to complete the tasks the users want them to do. For instance, when you browse through the world wide web, your browser needs processor time to properly display the web pages, while also needing space on your hard drive to store commonly accessed information, such as login credentials or downloaded files. While it is the task of the operating system to properly spread the computer’s resources across running applications, it is the kernel that performs the actual act of assigning.
Monolithic Kernel
Kernel Space
User Space
System Call Interface
KernelContains: Memory Management,
Processor Scheduler, Interprocess Communication, File System, I/O
Manager, and Net Manager
Software
Kernel
Microkernel
Kernel
Servers Software
IPCUser Space
Kernel Space
Tanenbaum – Torualds Debate
The Difference in the Kernels
MINIX’s Microkernel
Vs.
Linux’s Monolithic Kernel
This Difference started this debate stating
that Linux’s monolithic kernel was obsolete
Kernel Design
Hybrid Kernel
User Space
Kernel Space
Server Kernel
Software
Exokernel
Library Library Library
Software
Kernel
User Space
Kernel Space
Resources
• Andersen, Paul K.(2003) Just Enough UNIX, 4th Ed. New York, NY. McGraw Hill
• Deitel, Deitel, and Choffnes. (2004) Operating Systems 3rd Ed. Upper Saddle River, NJ. Pearson-Prentice Hall
• Englander, Irv. (2003) The Architecture Computer Hardware and System Software: An Information Technology Approach 3rd Ed. John Wiley& Son Inc.
• Null, Linda and Julia Lobur. (2006) The Essentials of Computer Organization and Architecture 2nd Ed. Sudbury, MA Jones and Barrlett
• Tanenbaum, Andrew. (2001) Modern Operating System. 2nd Ed. Upper Saddle River, NJ. Prentice Hall