Thursday, October 29, 2009

The wizards of OS (summary)

After the lectures of The Wizards of OS, we know more about the OS and correct our wrong idea about the OS. In this blog post, we will summarize the knowledge we gained from the lecture and some our own experiences.

The lecture corrected our understanding of the OS. Before the class, we thought that the OS is on the computers, like Windows. From the lecture, we found that this is totally wrong. OS exists anywhere, like PDA, PS2, PS3, PSP, Mobile Phones, DVD Player, etc. In fact, just as the professor said, the OS on the computer is just a small part of the OS fields.

The lecture also helped us have a better understand of the OS. Through the image, we easily got the idea of how the OS works. The OS build the simple interface for users to use the application software, like Fire Fox, Microsoft Office, etc. The OS will manage hardware resources, arbitrate conflicting requests and prevent errors and improper use. Through the OS, users don’t bother to know how the hardware works but just click on the icons and everything will be done.

Then, the history of OS helped us to understand the OS deeper and made us know more about how to develop a new technology. The history of OS showed us more about how the OS works. The disadvantages showed us why people wanted to develop more advanced OS and helped us to have a better understand of the current OS we are using. What is more useful for us is that the history shows us how to develop a new technology: following the needs of customers and make full use of the current resources. We especially like the idea of time sharing. We think that the man who came up with this idea must be very talented. Time sharing OS make better use of the CPU and make the computer behave faster.

Another important field of knowledge is about the Operating System Structure. Operating System (OS) executes System processes by transferring users’ programs between OS, Hardware and library. The OS structure is a container for a collection of structures for interacting with the operating system's file system, directory paths, processes, and I/O subsystem which is mainly affected by three factors: flexibility, robustness and maintainability. (The OS structure)

There are several ways to structure an OS: 1) Monolithic: According to Wikipedia, a monolithic kernel is a kernel architecture where the entire operating system is working in the kernel space and alone as supervisor mode. This is the traditional approach taken by most UNIX variants and Windows NT/XP. Most UNIX and BSD kernels are monolithic by default. In the monolithic kernel, some advantages hinge on these points: it is faster; it is smaller both in source and compiled forms and less code generally means fewer bugs which can translate to fewer security problems. The disadvantages of the monolithic kernel: Modifying and testing monolithic systems takes longer; when a bug surfaces within the core of the kernel the effects can be far reaching and patching monolithic systems can be more difficult. (Different Kernel Designs Overview, Oct 2005) 2) Microkernel: a microkernel is a computer kernel that provides the mechanisms needed to implement an operating system, such as low-level address space management, thread management, and inter-process communication. Some systems that use microkernel are QNX and the HURD. Some of its advantages: Maintenance is generally easier; Rapid development time and more persistence. Disadvantages in the microkernel exist however: Larger running memory footprint; there is a potential for performance loss and Process management can be very complicated. 3) Virtual Machine: A hypervisor, also called virtual machine monitor (VMM), is computer software/hardware platform virtualization software that allows multiple operating systems to run on a host computer concurrently. Hypervisors are classified in two types: Type 1 (or native, bare-metal) hypervisors are software systems that run directly on the host's hardware as a hardware control and guest operating system monitor. This is the classic implementation of virtual machine architectures; Type 2 (or hosted) hypervisors are software applications running within a conventional operating system environment.

Next part is about Major Subsystems in OS. There is so much to cover with so we will follow the lecture, just mention some brief and simple introduction. The Important subsystems are Process Management, Memory Management and File Management. Among these, we mainly discuss two subsystems: 1) Process Management: Process management is an integral part of any modern day operating system (OS). It implements the process abstraction. It does this by creating a model for the way the process uses CPU and any system resources. Much of the complexity of the operating system stems from the need for multiple processes to share the hardware at the same time. As a consequence of this goal, the process manager implements CPU sharing, process synchronization mechanisms, and a deadlock strategy. In addition, the process manager implements part of the operating system's protection and security. (Process Concept and Management) 2) Memory Management: Memory management is the act of managing computer memory. Memory is the electronic holding place for instructions and data that the computer's microprocessor can reach quickly. The memory is a resource that needs to be managed carefully. It is the job of the operating system to coordinate how these memories are used. The part of the operating system that manages the memory hierarchy is the memory manager. Systems for managing memory can be divided into two categories: the system of moving processes back and forth between main memory and disk during execution and the process. (Memory Management)

The Modern OS part reminded us of a book which is about how Bill Gates became so successful. In the lecture, the professor said that it is an interesting story about how the MSDOS dominate the market. The book said that the compatibility of Mac is very bad and Apple wanted to use this method to limit other companies’ development, like Microsoft. The bad compatibility of Mac forced the users to buy the OS and application software developed by Apple. However, the power of the Apple is limited and it can’t develop enough application software for the user and this limited the development of Apple. At the meaning time, as Microsoft can’t run his Microsoft Office on the Mac, it developed its own OS, MSDOS. MSDOS has a good compatibility and many companies developed software for it. Thus, the MSDOS became more and more popular and finally dominant the computer OS market. Through the book, we found that Bill Gates is more like a talented businessman than a talented programmer. From this, we found that in the Internet industry, the spirit of sharing is very important.

References:

Wikipedia, the free encyclopedia. Hypervisor.

from http://en.wikipedia.org/wiki/Hypervisor

The Standard ML Basis Library. The OS structure.

from http://www.standardml.org/Basis/os.html

Different Kernel Designs Overview. (Oct 2005)

from http://www.systhread.net/texts/200510kdiff.php

Operating Systems (CS/CPE 408): Process Concept and Management.

from http://www1bpt.bridgeport.edu/sed/projects/cs503/Spring_2001/kode/os/process.htm

Memory Management

from http://homepages.uel.ac.uk/u0219091/memory%20management.htm
Written by Tian BeiBei and ZHU LI

No comments:

Post a Comment

Followers