ReviewEssays.com - Term Papers, Book Reports, Research Papers and College Essays
Search

Deez Nuts

Essay by   •  January 21, 2016  •  Study Guide  •  2,115 Words (9 Pages)  •  1,322 Views

Essay Preview: Deez Nuts

Report this essay
Page 1 of 9
  1. Explore and write about the main tasks that an operating system performs.
  2. Provide examples of those main tasks you write about in step 1.
  3. Compare and contrast Windows and Linux in how they implement/handle those main tasks

        Overview: An operating system is a program that manages a computer’s hardware. The operating system acts as a link between the user of a computer and the computer hardware. The purpose of an operating system is to provide an environment so a user can execute programs in a manner that is efficient and convenient. “An operating system has three main functions: manage the computer's resources, such as the central processing unit, memory, disk drives, and printers, establish a user interface, and execute and provide services for application software.”

        Overview: A computer system can be divided into four components: hardware, operating system, application programs, and users. The hardware, which includes the CPU, memory, and I/O devices, provides the basic computing resources for the system. The application programs describe how these resources are used to solve users’ computing problems. The operating system can be explored from two viewpoints: that of the user and that of the system.

        User: From a user standpoint, the goal is to maximize user work performance. For a one user system, the operating system is designed mostly for ease of use, with some attention paid to performance and none paid to resource utilization. When connected to a mainframe or minicomputer, the operating system focuses on maximizing resource utilization. In the case of workstations and servers, their operating system is designed to compromise between individual usability and resource utilization. Linux is a kernel, an operating system—not a complete operating environment in the sense that Windows is a complete operating environment. The tradeoff is one of choice. Windows has a single interface (true, there are variations between versions, but those are largely transparent to users). In contrast, Linux has no built-in GUI interface. Users are free to choose among many commercially available or free GUI X-Window interfaces, such as Gnome, KDE, and Motif, each of which provides a different look and feel.

 [pic 1]

Everything works through an operating system, as shown in the picture above. Without an operating system, nothing will happen.

        System: From a system standpoint, an operating system can be viewed as a resource allocator. The computer system has many resources that may be required to solve a problem: CPU time, memory space, file-storage space, I/O devices, and so on. The operating system must decide how to allocate these resources to specific programs and users so that it can operate the computer system efficiently and fairly. An operating system is also a control program. A control program manages the execution of user programs to prevent errors and improper use of the computer. The operating system is the one program running at all times on the computer, usually called the kernel. The kernel runs system programs and application programs.

[pic 2]

A kernel connects the application software to the hardware of a computer. Without the kernel, the CPU, memory, and devices could not interact with applications.

Both Linux and Windows Kernels control the low level system software and interactions with the computer’s hardware via the Hardware Abstraction Layer (HAL). Both kernels handle things like device drivers, caching, virtual memory, network protocols, file systems, process creation and termination and system calls.   The objective of a kernel is similar from system to system but the approach can very different between operating systems.

The Linux kernel refers to everything that runs in kernel mode and is made up of several distinct layers.  At the lowest layer, the kernel interacts with the hardware via the HAL.  At the middle level, the UNIX kernel is divided into 4 distinct areas.  The first of the four areas handles character devices, raw and cooked TTY and terminal handling.  The second area handles network device drivers, routing protocols and sockets.  The third area handles disk device drivers, page and buffer caches, file system, virtual memory, file naming and mapping.  The fourth and last area handles process dispatching, scheduling, creation and termination as well as signal handling.  Above all this we have the top layer of the Kernel which includes system calls, interrupts and traps.  This level serves as the interface to each of the lower level functions.  A programmer uses the various system calls and interrupts to interact with the features of the operating system.

For Windows, the term “kernel mode” refers to not only the Kernel itself but the HAL and various system services as well.  This would include the HAL at the bottom layer, followed by the Kernel at the second layer.  The third layer is the Kernel.  Above that (fourth level) we have various managers for objects, processes, memory, security, cache, Plug in Play (PnP), power, configuration and I/O.  The file system and Win32 GDI are also at this level.  Many of the items at this fourth level are referred to collectively as the Windows Executive.  At the top and fifth layer of the kernel mode are system services.

Multiprogramming: One of the most important aspects of operating systems is the ability to multiprogram. Multiprogramming increases CPU utilization by organizing jobs so the CPU always has a job to execute. The operating system keeps several jobs in memory simultaneously. The jobs are kept initially on the desk in the job pool. This pool consists of all processes on the disk awaiting main memory allocation.

[pic 3]

The figure above shows multiprogramming with three programs. There are three programs in the main memory, but only one programming is running (or one program is assigned to CPU) at a time.

Time sharing: Time sharing is a logical extension of multiprogramming. In time-sharing systems, the CPU executes multiple jobs by switching among them, but the switches occur so often that the users can interact with each program while it is running. A time-shared operating system allows many users to share the computer simultaneously. Only a little CPU time is needed for each user. Each user is given the impression that the entire computer system is dedicated to their use, even though it is being shared among many users. [pic 4]

...

...

Download as:   txt (13.3 Kb)   pdf (392.8 Kb)   docx (185.2 Kb)  
Continue for 8 more pages »
Only available on ReviewEssays.com