이 블로그 검색

2012년 3월 30일 금요일

Operating-System Structure

Operating-System Structure

1. Simple Structure

  • MS-DOS - Written to provide the most functionality in the least space
    • Not divided into modules
    • Although MS-DOS has some structure, its interfaces and levels of functionality are not well separated

2. Layered Approach

  • The operating system is divided into a number of layers (levels), each built on top of lower layers
  • The bottom layer (layer 0) is the hardware, the highest (layer N) is the user interface
  • With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers





  • #UNIX - limited by hardware functionality, the original UNIX operating system had limited structuring. The UNIX OS consists of two separable parts
    • The kernel

      • Consists of everything below the system-call interface and above the physical hardware
      • Provides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level
UNIX System Structure

3. Microkernel System Structure

  • Moves as much from the kernel into "user" space
  • Communication takes place between user modules using message passing
  • Benefits:
    • Easier to extend a mocrokernel
    • Easier to port the operating system to new architectures
    • More reliable (less code is running in kernel mode)
    • More secure
  • Detriments:
    • Performance overhead of user space to kernel space communication
    Mac OS X Structure
    Mac OS X is mixed structure (with Mach Microkernel and BSD kernel and kernel extension)

    4. Modules

    Solaris Modular Approach
    • Most modern operating systems implement kernel modules
      • Uses object-oriented approach
      • Each core component is separate
      • Each talks to the others over known interfaces
      • Each is loadable as needed within the kernel
    • Overall, similar to layers but with more flexible

    Virtual Machines

    Virtual Machines
    • A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating system kernel as though they were all hardware
    • A virtual machine provides an interface identical to the underlying bare hardware
    • The operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory
    • The resources of the physical computer are shared to create the virtual machines
    • The Java Virtual Machine
      • CPU scheduling can create the appearance that users have their own processor
      • Spooling and a file system can provide virtual card readers and virtual line printers
      • A normal user time-sharing terminal serves as the virtual machine operator's console
    • The virtual-machine concept provides complete protection of system resources since each virtual machine is isolated from all other virtual machines. This isolation, however, permits no direct sharing of resources
    • A virtual-machine system is a perfect vehicle for operating-systems research and development. System development is done on the virtual machine, instead of on a physical machine and so does not disrupt normal system operation
    • The virtual machine concept is difficult to implement due to the effort required to provide an exact duplicate to the underlying machine

    VMware Architecture

    참고  : Operating System Concepts by WILEY

    댓글 없음:

    댓글 쓰기