Showing posts with label os 3. Show all posts
Showing posts with label os 3. Show all posts
Tuesday, July 7, 2009 at 3:47 AM | 0 comments  
  • Operating system must be made available to hardware so hardware can start it
    * Small piece of code – bootstrap loader, locates the kernel, loads it into memory, and starts it
    * Sometimes two-step process where boot block at fixed location loads bootstrap loader
    * When power initialized on system, execution starts at a fixed memory location
Posted by Roger Labels:
  • Operating systems are designed to run on any of a class of machines; the system must be configured for each specific computer site.
  • SYSGEN program obtains information concerning the specific configuration of the hardware system.
  • Booting – starting a computer by loading the kernel.
  • Bootstrap program – code stored in ROM that is able to locate the kernel, load it into memory, and start its execution.
Posted by Roger Labels:

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

IMPLEMENTAION

  • Traditionally written in assembly language, operating systems can now be written in higher-level languages.
  • Code written in a high-level language:
    * can be written faster.
    * is more compact.
    * is easier to understand and debug.
  • An operating system is far easier to port (move to some other hardware) if it is written in a high-level language.

BENEFITS

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


EXAMPLES


  • Compiled Java programs are platform-neutral bytecodes executed by a Java Virtual Machine (JVM).
  • JVM consists of
    - class loader
    - class verifier
    - runtime interpreter
  • Just-In-Time (JIT) compilers increase performance



Posted by Roger Labels:
Thursday, July 2, 2009 at 3:45 AM | 0 comments  
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.

Posted by Roger Labels:
  • System calls provide the interface between a running program and the operating system.
    * Generally available as assembly-language instructions.
    * Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g., C, C++)
  • Three general methods are used to pass parameters between a running program and the operating system.
    * Pass parameters in registers.
    * Store the parameters in a table in memory, and the table address is passed as a parameter in a register.
    * Push (store) the parameters onto the stack by the program, and pop off the stack by operating system.


The main types of system calls are

  • Process Control: These types of system calls are used to control the processes. Ex: End, abort, load, execute, create process, terminate process etc.
  • File Management: These types of system calls are used to manage files. Ex: Create file, delete file, open, close, read, write etc.
  • Device Management: These types of system calls are used to manage devices. Ex: Request device, release device, read, write, get device attributes
Posted by Roger Labels:
  • Program execution – system capability to load a program into memory and to run it.
  • I/O operations – since user programs cannot execute I/O operations directly, the operating system must provide some means to perform I/O.
  • File-system manipulation – program capability to read, write, create, and delete files.
  • Communications – exchange of information between processes executing either on the same computer or on different systems tied together by a network. Implemented via shared memory or message passing.
  • Error detection – ensure correct computing by detecting errors in the CPU and memory hardware, in I/O devices, or in user programs.
  • Additional functions exist not for helping the user, but rather for ensuring efficient system operations.
  • Resource allocation – allocating resources to multiple users or multiple jobs running at the same time.
  • Accounting – keep track of and record which users use how much and what kinds of computer resources for account billing or for accumulating usage statistics.
  • Protection – ensuring that all access to system resources is controlled.
Posted by Roger Labels:

OPERATING SYSTEMS PROCESS MANAGEMENT

  • Program execution – system capability to load a program into memory and to run it.
  • I/O operations – since user programs cannot execute I/O operations directly, the operating system must provide some means to perform I/O.
  • File-system manipulation – program capability to read, write, create, and delete files.
  • Communications – exchange of information between processes executing either on the same computer or on different systems tied together by a network. Implemented via shared memory or message passing.
  • Error detection – ensure correct computing by detecting errors in the CPU and memory hardware, in I/O devices, or in user programs.

MAIN MEMORY MANAGEMENT

  • Memory is a large array of words or bytes, each with its own address. It is a repository of quickly accessible data shared by the CPU and I/O devices.
  • Main memory is a volatile storage device. It loses its contents in the case of system failure.
  • The operating system is responsible for the following activities in connections with memory management:
    * Keep track of which parts of memory are currently being used and by whom.
    * Decide which processes to load when memory space becomes available.
    * Allocate and deallocate memory space as needed.

FILE MANAGEMENT

  • A file is a collection of related information defined by its creator. Commonly, files represent programs (both source and object forms) and data.
  • The operating system is responsible for the following activities in connections with file management:
    * File creation and deletion.
    * Directory creation and deletion.
    * Support of primitives for manipulating files and directories.
    * Mapping files onto secondary storage.
    * File backup on stable (nonvolatile) storage media.


I/O SYSTEM MANAGEMENT

  • The I/O system consists of:
    * A buffer-caching system
    * A general device-driver interface
    * Drivers for specific hardware devices

SECONDARY STORAGE MANAGEMENT

  • Since main memory (primary storage) is volatile and too small to accommodate all data and programs permanently, the computer system must provide secondary storage to back up main memory.
  • Most modern computer systems use disks as the principle on-line storage medium, for both programs and data.
  • The operating system is responsible for the following activities in connection with disk management:
    * Free space management
    * Storage allocation
    * Disk scheduling

PROTECTION SYSTEM

  • Protection refers to a mechanism for controlling access by programs, processes, or users to both system and user resources.
  • The protection mechanism must:
    * distinguish between authorized and unauthorized usage.
    * specify the controls to be imposed.
    * provide a means of enforcement.

COMMAND INTERPRETER SYSTEM

  • Many commands are given to the operating system by control statements which deal with:
    * process creation and management
    * F/O handling
    * secondary-storage management
    * main-memory management
    * file-system access
    * protection
    * networking

  • The program that reads and interprets control statements is called variously:
    *command-line interpreter
    *shell (in UNIX)
  • Its function is to get and execute the next command statement.


Posted by Roger Labels:
Visit the Site
MARVEL and SPIDER-MAN: TM & 2007 Marvel Characters, Inc. Motion Picture © 2007 Columbia Pictures Industries, Inc. All Rights Reserved. 2007 Sony Pictures Digital Inc. All rights reserved. blogger templates