Different Types Of Multi User Operating System example essay topic

3,073 words
1. Introduction The aim of this report is discuss or describe the following: -. Main features of a Multi User Operating System. Different types of Multi User Operating System. Physical components of a Multi User Operating System.

Software components of a Multi User Operating System I have done extensive research on the Internet, from Class Notes from the Lecturer and in Articles / Books to get the information required for this report. All references will be listed in the Appendix (No 6) at the end of this report. 2. Define a multi user operating system An Operating system is a computer program which runs each time a computer is switched on. Its purpose is to manage the resources of the system and to allocate resources to processes.

A multi user operating system supports two or more users simultaneously. It must be able to schedule all its processes so that each process gets some attention paid to it by the processor or is able to access a peripheral device. The scheduler is responsible for allocating resources to processes. It allows users to manage computer resources, run programs and communicate with other computer systems. The aim of a Multi User Operating System is to allow all the users the impression that they are working on their own personal computer, even if they are working within a large system, it aims to keep each user apart, for example giving them their own folders and directories, etc. Principle features are -.

Multi-tasking (performs 2 or more tasks apparently simultaneously). Multi-tasking is allowing a user to perform more than one computer task (such as the operation of an application program) at a time. The operating system is able to keep track of where you are in these tasks and go from one to the other without losing information. Multi-tasking makes it possible to print one document while creating another, or to perform lengthy computations in the background while working on something else on the screen. Two tasks cannot use the same area of computer memory, nor use the same input device (keyboard, disk drive) or the same output device (printer, tape backup) at the same time. Say you have 4 programs multitasking, all running simultaneously and each performing its own task.

In addition, you may have an anti-virus program running in the background. Then there's the date and time clock on your screen. Inside the computer, its memory is straining, and the CPU is frantically working at breakneck speed, sending out millions of instructions each second, receiving and storing information on the hard drive, while a fan tries to keep it from overheating. It gives the concept of storing multiple tasks in memory and switching between them in such a manner as to give the illusion that the tasks are being carried out simultaneously. Another form of multitasking is switching from one program to another, but only one program at a time actually runs. The other runs in the background, and only runs when you return to it.

Co-operative Multi-tasking is the process currently controlling the CPU and must offer control to other processes; all programs must cooperate for it to work. If one program does not cooperate, it can hog the CPU. It lets the programs decide when they wish to let other tasks run. This method is not good since it lets one process monopolise the CPU and never let other processes run. Pre-emptive multitasking forces applications to share the CPU whether they want to or not. It moves the control of the CPU to the OS, letting each process run for a given amount of time (a time slice) and then switching to another task.

This method prevents one process from taking complete control of the system and thereby making it seem as if it is crashed... Resource Sharing (shares physical resources such as CPU, memory, backing store, peripherals, software, etc amongst a number of different applications). There are more users than resources, so everybody shares for example printers... Background Processing (running a process at a later time i.e. batch processing). A batch job is a program that is assigned to the computer to run without further user interaction. An example of one is a printing request.

Batch jobs are said to run in the background and interactive programs run in the foreground. Interactive programs are given priority over batch programs, which run during the time intervals when the interactive programs are waiting for user requests. Three main types of multi user operating system -. Multiprocessor (2 or more CPU's share the same resources and service the same work). A computer can use a network to share peripheral devices for example a printer or disk files.

Operating systems can run multiple programs at once, interleaving them. Programs are required to specify in advance what resources they needed so that they could avoid conflicts with other programs running at the same time. Some operating systems offer dynamic allocation of resources. Programs can request further allocations of resources after they begin running.

Multiprocessor system can save money, by sharing power supplies, housings, and peripherals. They can execute programs more quickly and can have increased reliability. More advantages are that they can have computational speed up, SIMD: Single Instruction, Multiple Data - All processors execute the same instruction, SIMD: Multiple Instruction, Multiple Data - Independent processing streams which is more versatile than SIMD and share memory... Time sliced (switches from one process to another on a timed basis) There may be many users making simultaneous requests on the computer system. Normally the number of physical processors in the system is fewer than the number of threads that might be run in parallel. Most systems support time slicing, also known as pre-emptive multitasking, in order to get around this problem.

In a system that is time sliced, threads run for a short while, and are then pre-empted; that is, a hardware timer fires which causes the operating system to re-evaluate which threads should be run, potentially stopping execution on currently running threads and running other threads which have not be executed recently. This allows even single processor machines to run multiple threads. Round Robin The scheduler is the component of the OS, which is responsible for the assignment of CPU time to tasks. The scheduler assigns the same amount of time to each task that is ready in a ring - all tasks have the same priority. This is slightly problematic, since one often wishes certain tasks to be put in the background (e.g. printing) while others get more CPU time (like games).

Therefore a priority system must be implemented. Scheduling If you assign each task a priority class and assign CPU time to each class corresponding to its priority and then within each class you obtain a very efficient scheduling architecture. In either system a task may be suspended prematurely if a hardware interrupt occurs, especially if a higher priority task was waiting for this event and has therefore become more runnable. The scheduling algorithm used by the scheduler determines which task will run next... Distributed (number of system interconnected on a communications network - number of processes linked together within one building / geographical area (LAN) ). If computer programming and data that computers work on are spread out over more than one computer, it is usually over a network.

Some large and small enterprises over time are moving (distributing) applications and data to where they can operate most efficiently in the enterprise, to some mix of desktop workstations, local area network servers, regional servers, Web servers, and other servers. A popular trend has been client / server computing which is simply the view that a client computer can provide certain capabilities for a user and request others from other computers that provide services for the clients. Heterogeneous systems don't share memory or the clock (fault tolerance). 3.

Types of multi user operating systems available. Unix Is a popular multi-user, multi tasking operating system. Unix has 3 separate primary command line interfaces. In Unix a command line interface is known as a shell.

Some graphical interfaces exist as well, such as Motif and Gnome. Each user is given their own account and password. Security is paramount. Due to its portability, flexibility, and power, UNIX has become the leading operating system for workstations... Linux Is a freely distributable open source operating system that runs on a number of hardware platforms. Linux is free and because it runs on many platforms, including PCs and Macintosh es, Linux has become an extremely popular alternative to proprietary operating systems...

Can access DOS / Windows/NT file systems. Compatibility with any version of UNIX. X is an open standard. Many Windows programs run under UNIX.

Scripts written on Linux will run almost always unchanged on another version and visa-versa. Backups are compatible between different distributions of Linux and versions of UNIX, as well as other Systems (except NT)... NT. Access to any UNIX file systems is extremely limited. NT GUI is closed, proprietary. No UNIX programs run under NT.

Batch scripts written on NT are not necessarily compatible with those on Win 95, or DOS. NT BACKUP only works on NT and often the tapes cannot be moved from one machine to another, especially if they are different manufacturers. Linux works to standards that are established by groups of competi ting companies. Although they are competitors, they realize the need for standards. Microsoft does not have standards in the true sense they are generally proprietary. An NT script might be considered portable since it will work on any other NT machine, but only NT.

However, it is missing many of the basic tools that make UNIX / Linux scripting so powerful. 4. Main hardware components of a multi user operating system. Processor (e.g. ALU, CU) - Is the logic circuitry that responds to and processes the basic instructions that drive a computer. CPU (central processing unit) is an older term for the processor. The CPU in a computer contains the logic circuitry that performs the instructions of a computer's programs.

It has the system clock rate which equals the rate of an electronic pulse used to synchronize processing which is measured in MHZ (megahertz (1 mhz = 1 million cycles per second) ). The Bus width is the amount of data the CPU can transmit at a time to main memory and to input and output devices. An 8-bit bus moves 8 bits of data at a time. Bus widths can be 8, 16, 32, 64, or 128. The word size is the amount of data the CPU can process at one time. An 8-bit processor can manipulate 8 bits at a time.

Processors can be 8-bit, 16-bit, 32-bit, or 64-bit. ALU - Arithmetic Logic Unit - Is the part of a computer processor that carries out arithmetic and logic operations on the operands in computer instruction words. The ALU has direct input and output access to the processor controller, main memory (random access memory or RAM in a personal computer), and input / output devices. Inputs and outputs flow along a bus. Control Unit - Is the part of the computer that controls the Fetch Execute Cycle. It takes numerous cycles to do even a simple addition of two numbers.

The Fetch Execute Cycle The computer can only do one thing at a time. Each action must be broken down into the most basic steps. One round of steps from getting an instruction back to getting the next instruction is called the Fetch Execute Cycle. Fetch - get an instruction from Main Memory Decode - translate it into computer commands Execute - actually process the command Store - write the result to Main Memory.

Memory (e.g. RAM, ROM, Virtual Memory) - Is the electronic holding place for instructions and data that your computer's microprocessor can reach quickly. When your computer is in normal operation, its memory usually contains the main parts of the operating system and some or all of the application programs and related data that are being used. RAM - (Random Access Memory) main memory. Volatile memory that is erased when power is turned off. ROM - (Read Only Memory) memory which cannot be changed.

Contains the minimum instructions to start the computer. It cannot be changed by the user and contains the minimum instructions the computer needs to get started, called booting. Virtual memory - Memory must be managed also by the operating system. All those rotating turns of CPU use leave data waiting around in buffers. Care must be taken not to lose data!!

One way to help out the traffic jam is to use virtual memory. This includes disk space as part of main memory. While it is slower to put data on a hard disk, it increases the amount of data that can be held in memory at one time... Data storage devices (e.g. Floppy Disks, Hard Disk) - Computer storage is the holding of data in an electromagnetic form for access by a computer processor.

Primary storage is data in random access memory (RAM) and other "built-in" devices. Secondary storage is data on hard disk, tapes, and other external devices. Floppy disk - used for storing data. 5 1/4 " (This type of floppy is generally capable of storing between 100 K and 1.2 MB (megabytes) of data) and 3 1/2 " (Despite their small size, microfloppies have a larger storage capacity than their cousins -- from 400 K to 1.4 MB of data. The most common sizes for PCs are 720 K and 1.44 MB) sizes exist with the smaller size dominating now.

It is portable. Floppy disks are slower to access than hard disks and have less storage capacity, but they are much less expensive. Hard disk - Is what controls the motion of the hard disks, which contain the data. Usually located within the computer case. Hard disks hold more data and are faster than floppy disks. A hard disk, for example, can store anywhere from 10 megabytes to several gigabytes, whereas most floppies have a maximum storage capacity of 1.4 megabytes...

Terminals, Input devices (e.g. Mouse, Keyboard) - A terminal is a keyboard and computer screen. Also called display terminal or video display terminal (VDT). Input device - Any operation, program, or device that transfers data from a computer and stores it. Mouse - an input device consisting of 2 or more buttons with a rolling ball underneath. The cursor on the screen actually follows the motion of the mouse ball. Keyboard - An input device with keys for letters of the alphabet, numbers and various symbols...

Output devices (e.g. Monitor, Printer) - Describes any operation, program, or device that transfers data to a computer and displays or prints it out for example. Monitor - device which displays computer output. It is a display screen. The term monitor generally implies graphics capabilities. Printer - A device that prints text or illustrations on paper.

There are many different types of printers. There are several types of printer some of which are Dot Matrix which creates characters by striking pins against an ink ribbon., Ink-jet which Sprays ink at a sheet of paper. Ink-jet printers produce high-quality text and graphics and Laser which uses the same technology as copy machines. Laser printers produce very high quality text and graphics. 5. Main software components of a multi user operating system.

Kernel - interfaces directly with hardware, first level interrupt handler, process scheduler, inter-process communication. The kernel is responsible for managing resources, memory management, process and task management, disk management and is always present in main memory. The kernel has 5 layers which are the User Interface, File System, Input / Output, Memory Management and Kernel... Device handlers - part of Operating System which services the requests on the device request queue. Device Handler is a common interface used by applications to send output to printers and other output devices. The Device Handler stores all device information in a central area where it can be referenced from all associated accounts.

A device can include CD ROMS, Floppy disks, display monitors, etc. A device driver is a program that controls a particular type of device that is attached to your computer... Spoilers (Simultaneous Peripheral Output On Line) - process of performing the computing process and providing output at the same time, non-shareable, multi-programming. It is a program, which produces output at a rate greater that the output devices can handle... User interface - link between user and all inner workings of the software and hardware, e.g. Command Line Interface (CLI) or Graphical User Interface (GUI). The GUI has allowed computers to become more accessible and easier to use.

CLI's left much to be desired in the way of easy of use, and ease of learning. CLI's are a very inefficient way (for most individuals) to utilize computing power. One disadvantage to CLI's is that the only method the user has of interfacing with the computer is the keyboard. GUI systems have many advantages over their CLI counterparts. The graphical nature of such systems, along with the ability to accept input from sources other than the keyboard, eliminated the need to memorize complicated keystrokes. Users can simply point and click the commands they desire, never needing to memorize actions, because the commands are all visible right on the screen. 6.