objectives of the io mngt device.docx

Upload: gaby-mbugua

Post on 03-Apr-2018

231 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Objectives of the IO mngt device.docx

    1/5

    1. What Is Kernel?

    A kernel is a central component of an operating system. It acts as an interface between the user

    applications and the hardware. The sole aim of the kernel is to manage the communication between thesoftware (user level applications) and the hardware (CPU, disk memory etc). The main tasks of the

    kernel are :

    Process management Device management Memory management Interrupt handling I/O communication File system...etc..

    2. Is LINUX A Kernel Or An Operating System?

    Well, there is a difference between kernel and OS. Kernel as described above is the heart of OS which

    manages the core features of an OS while if some useful applications and utilities are added over the

    kernel, then the complete package becomes an OS. So, it can easily be said that an operating system

    consists of a kernel space and a user space.

    So, we can say that Linux is a kernel as it does not include applications like file-system utilities,

    windowing systems and graphical desktops, system administrator commands, text editors, compilers

    etc. So, various companies add these kind of applications over linux kernel and provide their operatingsystem like ubuntu, suse, centOS, redHat etc.

    3. Types Of Kernels

    Kernels may be classified mainly in two categories

    1. Monolithic2. Micro Kernel

    1 Monolithic Kernels

    Earlier in this type of kernel architecture, all the basic system services like process and memory

    management, interrupt handling etc were packaged into a single module in kernel space. This type of

    architecture led to some serious drawbacks like 1) Size of kernel, which was huge. 2)Poor

    maintainability, which means bug fixing or addition of new features resulted in recompilation of the

    whole kernel which could consume hours

  • 7/28/2019 Objectives of the IO mngt device.docx

    2/5

    In a modern day approach to monolithic architecture, the kernel consists of different modules which can

    be dynamically loaded and un-loaded. This modular approach allows easy extension of OS's capabilities.

    With this approach, maintainability of kernel became very easy as only the concerned module needs to

    be loaded and unloaded every time there is a change or bug fix in a particular module. So, there is no

    need to bring down and recompile the whole kernel for a smallest bit of change. Also, stripping of kernel

    for various platforms (say for embedded devices etc) became very easy as we can easily unload the

    module that we do not want.

    Linux follows the monolithic modular approach

    2 Microkernels

    This architecture majorly caters to the problem of ever growing size of kernel code which we could not

    control in the monolithic approach. This architecture allows some basic services like device driver

    management, protocol stack, file system etc to run in user space. This reduces the kernel code size and

    also increases the security and stability of OS as we have the bare minimum code running in kernel. So,

    if suppose a basic service like network service crashes due to buffer overflow, then only the networking

    service's memory would be corrupted, leaving the rest of the system still functional.

    In this architecture, all the basic OS services which are made part of user space are made to run as

    servers which are used by other programs in the system through inter process communication (IPC). eg:

    we have servers for device drivers, network protocol stacks, file systems, graphics, etc. Microkernel

    servers are essentially daemon programs like any others, except that the kernel grants some of them

    privileges to interact with parts of physical memory that are otherwise off limits to most programs. This

    allows some servers, particularly device drivers, to interact directly with hardware. These servers are

    started at the system start-up.

    So, what the bare minimum that microKernel architecture recommends in kernel space?

    Managing memory protection Process scheduling Inter Process communication (IPC)

    Apart from the above, all other basic services can be made part of user space and can be run in the form

    of servers.Objectives of the I/O Management in Operating

    System:

  • 7/28/2019 Objectives of the IO mngt device.docx

    3/5

    The objectives of the I/O Management module are as follows:

    1. Generality and Device Independence:

    I/O devices are typically quite complex mechanically and

    electronically. Much of this complexity is related to the

    electronic engineering and is of no interest to the user or the

    programmer. The average user is not aware of the complexities

    of positioning the heads on a disk drive, reading the signal from

    the disk surface, waiting for the required sector to rotate into

    position etc.

    Users and programmers may be unaware of this complexity.

    The I/O management module must try to treat all externaldevices uniformly. This is achieved by virtual device. A virtual

    device is a special kind of file that is associated with a particular

    external device. Users create a virtual device of a given type,

    and operating system associates a physical device with it when

    the device is required for the first time. All virtual devices in a

    system are stored in a liked list.

    2. Efficiency:

  • 7/28/2019 Objectives of the IO mngt device.docx

    4/5

    Perhaps the most significant characteristic of the I/O system is.

    the speed disparity between it and the processor. I/O devices

    involve mechanical operations. They cannot compete with themicrosecond or nanosecond speed of the processor and

    memory. The I/O management module must try to minimize

    the disparity by the use of techniques like buffering and

    spooling.

    1. Generality and Device Independence:

    I/O devicesare typically quite complex mechanically and electronically. Much of this

    complexity is related to the electronic engineering and is of no interest to the user or the

    programmer. The average user is not aware of the complexities of positioning the heads on a disk

    drive, reading the signal from the disk surface, waiting for the required sector to rotate intoposition etc.

    Users and programmers may be unaware of this complexity. The I/O management module must

    try to treat all external devices uniformly. This is achieved by virtual device. A virtual device is a

    special kind of file that is associated with a particular external device. Users create a virtual

    device of a given type, and operating system associates a physical device with it when the deviceis required for the first time. All virtual devices in a system are stored in a liked list.

    2. Efficiency:

    Perhaps the most significant characteristic of the I/O system is. the speed disparity between it

    and the processor.I/O devicesinvolve mechanical operations. They cannot compete with themicrosecond or nanosecond speed of the processor and memory. The I/O management modulemust try to minimize the disparity by the use of techniques like buffering and spooling.

    3. Character code Independence

    A character encoding system consists of acodethat pairs eachcharacterfrom a given repertoirewith something elsesuch as abitpattern, sequence of naturalnumbers,octets, or electrical

    http://basicofcomputer.com/what_do_you_know_about_iq_devices.htmhttp://basicofcomputer.com/what_do_you_know_about_iq_devices.htmhttp://basicofcomputer.com/what_do_you_know_about_iq_devices.htmhttp://basicofcomputer.com/what_do_you_know_about_iq_devices.htmhttp://basicofcomputer.com/what_do_you_know_about_iq_devices.htmhttp://en.wikipedia.org/wiki/Codehttp://en.wikipedia.org/wiki/Codehttp://en.wikipedia.org/wiki/Codehttp://en.wikipedia.org/wiki/Character_%28computing%29http://en.wikipedia.org/wiki/Character_%28computing%29http://en.wikipedia.org/wiki/Character_%28computing%29http://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Numberhttp://en.wikipedia.org/wiki/Numberhttp://en.wikipedia.org/wiki/Numberhttp://en.wikipedia.org/wiki/Octet_%28computing%29http://en.wikipedia.org/wiki/Octet_%28computing%29http://en.wikipedia.org/wiki/Octet_%28computing%29http://en.wikipedia.org/wiki/Octet_%28computing%29http://en.wikipedia.org/wiki/Numberhttp://en.wikipedia.org/wiki/Bithttp://en.wikipedia.org/wiki/Character_%28computing%29http://en.wikipedia.org/wiki/Codehttp://basicofcomputer.com/what_do_you_know_about_iq_devices.htmhttp://basicofcomputer.com/what_do_you_know_about_iq_devices.htm
  • 7/28/2019 Objectives of the IO mngt device.docx

    5/5

    pulsesin order to facilitate the transmission ofdata(generally numbers or text) through

    telecommunication networksor fordata storage. Other terms such as character set, charactermap, codeset, and code page are used almost interchangeably, but these terms have related but

    distinct meanings described below.

    Early character codes associated with the optical or electricaltelegraphcould only represent asubset of the characters used in written language, sometimes restricted to upper case letters,

    numerals and some punctuation only. The low cost of digital representation of data in modern

    computer systems allows more elaborate character codes (such asUnicode) which representmore of the characters used in many written languages. Character encoding using internationally-

    accepted standards permits worldwide interchange of text in electronic form.

    http://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Datahttp://en.wikipedia.org/wiki/Telecommunication_networkhttp://en.wikipedia.org/wiki/Telecommunication_networkhttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Telegraphyhttp://en.wikipedia.org/wiki/Telegraphyhttp://en.wikipedia.org/wiki/Telegraphyhttp://en.wikipedia.org/wiki/Unicodehttp://en.wikipedia.org/wiki/Unicodehttp://en.wikipedia.org/wiki/Unicodehttp://en.wikipedia.org/wiki/Unicodehttp://en.wikipedia.org/wiki/Telegraphyhttp://en.wikipedia.org/wiki/Computer_data_storagehttp://en.wikipedia.org/wiki/Telecommunication_networkhttp://en.wikipedia.org/wiki/Data