HOME

Top 10 List of Week 01

  1. Operating system structures:
    • Monolithic structure : The simplest structure for organizing an operating system no structure at all. That is, place all of the functionality of the kernel into a single. static binary file that runs in a single address space. There is very little overhead in the system-call interface, and communication within the kernels is fast. Despite the apparent simplicity of monolithic kernels, they are difficult to implement and extend. But their speed and efficiency explains why we still see hte evidence of this structure in the UNIX, Linux and Windows OS
    • Layered approach : Operating system is broken into numbers of layers. The main advantage od this approach is simplicity of the construction and debugging. The layers are selected so that each uses functions and services of the only lower-level layers. This approach simplifies debugging and system verification.
    • Microkernels : This methodd structures the OS by removing all nonessential components from the kernel and implementing them as user-level programs that reside in seperate address spaces. The main function is to provide communication between the client program and the various services that are also running in user space. -Modules: The idea is for the kernel to provide core services, while other services are implemented dynamically, as the kernel is running. This type of design is common in modern implementations of UNIX, such as Linux, macOS and Solaris -Hybrid System
  2. Steps to generate/building an operating system:
    • Write the operating system source code (or obtain previously written source code)
    • Configure the operating system for the system on which it will run
    • Compile the operating system
    • Install the OS
    • Boot the computer and its new operating system
  3. The process of starting a computer by loading the kernel is known as boting system. The steps are as follows:
    • A small piece of code known as the bootstrap program or boot loader locates the kernel (GRUB for Linux)
    • Th ekernel is loaded into memory and started
    • The kernel initializes hardware
    • The root file system is mounted (running)
  4. Debugging is the activity of finding and fixing errors in a system, both hardware and software. Performance problems considered bugs, so debugging can also include performance tuning, which seeks to improve performance by removing bottlenecks. Steps to do to debug are failure analysis, performance monitoring and tuning and tracing.

  5. The fundamental idea behind a virtual machine is to abstract the hardware of a single computer into several different execution environment, thereby creating an illusion that each seperate environment is running on its own private computer. Virtual machine implementations involve several components. At the base is the host (hardware which virtual machines run on),hypervisor/Virtual Machine Manager(creates and runs virtual machines by providing an interface that is identical to the host) , and each guest process is provided with a virtual copy of the host.

  6. The virtualization requirements called for:
    • Fidelity : A VMM provides an environment for programs that is essentially idenctical to the original machine
    • Performance : Programs running within that environment show ony minor perofrmance decreases
    • Safety : The VMM is in complete control of system resources
  7. Virtualization is probably the most common method for running appliations designed for one OS on a different OS, but on the same CPU. But what if an application needs to run on a different CPU? It is necessary to translate all of the source CPU’s instructions so that they are turned into the equivalent instructions of the target CPU. Such an environment is no longer virtualized but rather is fully emulated. The major challenge of emulation is performance.

  8. Virtualization and Operating-System Components:
    • CPU scheduling
    • Memory management
    • I/O
    • Storage management
    • Live migration
  9. VMware Workstation is a popular commercial application that abstracts Intel x86 and compatible hardware into isolated virtual machines. It runs as an application on a host operating system such as Windows or Linux and allows this host system to run several different guest operating systems cincurrently as independent virtual machines.

  10. Java Virtual Machine s a specification of an abstract computer. It consists of a class loader and a Java interpreter that executes the architecture-neutral bytecodes. The JVM may be implemented in software on top of host operating system, such as Windows, Linux, or macOS, or as part of a web browser. It can also be implemented in a hardware on a chip specifically designed to urn Java programs.