Sunteți pe pagina 1din 6

E 111041026 Assignment I

1. What is the kernel in an operating system?


The kernel is the essential center of a computer operating system the core that provides basic services for all other parts of the operating system.

A kernel is designed to be a central core to the operating system - the logic that manages the resources that the hardware has to offer.

The kernel is the central part of an operating system, that directly controls the computer hardware. Usually, the kernel is the first of the user-installed software on a computer, booting directly after the BIOS. Operating system kernels are specific to the hardware on which they are running, thus most operating systems are distributed with different kernel options that are configured when the system is installed. Changing major hardware components such as the motherboard, processor, or memory, often requires a kernel update. Additionally, often new kernels are offered that improve system security or performance. The two major types of kernels competing in today's computer markets are the Windows kernel and the unix-like kernels. The Windows kernel is available only with the Microsoft Windows series of operating systems. It is proprietary software, developed and distributed by Microsoft Corporation. Introduced in Windows/386, it's many incarnations have since gone by several different names, and some had no names at all. The latest version of the Windows kernel was introduced in Windows NT, and has had many of it's functions removed and placed in user-mode software for Windows Vista. This leads to increased system stability and security. In Vista, application-level software exploits have much less access to the core functions of the operating system, and application crashes will not bring down the OS.

The Kernel is the central component of most computer operating systems (OS). Its responsibilities include managing the system's resources (the communication between hardware and software components) A kernel can be contrasted with a shell (such as bash, csh or ksh in Unix-like operating systems), which is the outermost part of an operating system and a program that interacts with user commands. The kernel itself does not interact directly with the user, but rather interacts with the shell and other programs as

well as with the hardware devices on the system, including the processor (also called the central processing unit or CPU), memory and disk drives. The kernel is the first part of the operating system to load into memory during booting (i.e., system startup), and it remains there for the entire duration of the computer session because its services are required continuously. Thus it is important for it to be as small as possible while still providing all the essential services needed by the other parts of the operating system and by the various application programs.

2. Briefly explain the difference between a tightly couple system and a loosely coupled system.
Loosely coupled microprocessors are more like independent processors joined via a small communication link (a high speed bus or cable). This means that the connected microprocessors have their own local memory sets. They are low in performance. Also only microprocessors that can work independently may be used. Tightly coupled microprocessors share a common memory for the purpose of communication. One processor (slave) is dependent on the other (master). They are good at performance. The connected processors also have local memory sets for general purposes.

One feature that is commonly characterizing tightly coupled systems is that they share the clock. Therefore multiprocessors are typically tightly coupled but distributed workstations on a network are not. Another difference is that: in a tightly-coupled system, the delay experienced when a message is sent from one computer to another is short, and data rate is high; that is, the number of bits per second that can be transferred is large. In a loosely-coupled system, the opposite is true: the intermachine message delay is large and the data rate is low. For example, two CPU chips on the same printed circuit board and connected by wires etched onto the board are likely to be tightly coupled, whereas two computers connected by a 2400 bit/sec modem over the telephone system are certain to be loosely coupled.

3. Briefly explain the different states of a process by using a suitable diagram.

The following typical process states are possible on computer systems of all kinds. In most of these states, processes are "stored" on main memory. Created (Also called new.) When a process is first created, it occupies the "created" or "new" state. In this state, the process awaits admission to the "ready" state. This admission will be approved or delayed by a long-term, or admission, scheduler. Typically in most desktop computer systems, this admission will be approved automatically, however for real time operating systems this admission may be delayed. In a real time system, admitting too many processes to the "ready" state may lead to over saturation and over

contention for the systems resources, leading to an inability to meet process deadlines. Process means the program that is currently running, or that part of program currently used by processor. Ready (Also called waiting' or runnable.) A "ready" or "waiting" process has been loaded into main memory and is awaiting execution on a CPU (to be context switched onto the CPU by the dispatcher, or short-term scheduler). There may be many "ready" processes at any one point of the systems execution - for example, in a one processor system, only one process can be executing at any one time, and all other "concurrently executing" processes will be waiting for execution. Running (Also called active or executing.) A "running", "executing" or "active" process is a process which is currently executing on a CPU. From this state the process may exceed its allocated time slice and be context switched out and back to "ready" by the operating system, it may indicate that it has finished and be terminated or it may block on some needed resource (such as an input / output resource) and be moved to a "blocked" state. Blocked (Also called sleeping.) Should a process "block" on a resource (such as a file, a semaphore or a device), it will be removed from the CPU (as a blocked process cannot continue execution) and will be in the blocked state. The process will remain "blocked" until its resource becomes available, which can unfortunately lead to deadlock. From the blocked state, the operating system may notify the process of the availability of the resource it is blocking on (the operating system itself may be alerted to the resource availability by an interrupt). Once the operating system is aware that a process is no longer blocking, the process is again "ready" and can from there be dispatched to its "running" state, and from there the process may make use of its newly available resource. Terminated A process may be terminated, either from the "running" state by completing its execution or by explicitly being killed. In either of these cases, the process moves to the "terminated" state. If a process is not removed from memory after entering this state, this state may also be called zombie