- Concepts of Resource Sharing A multi user operating system can support more that one user at a time, this means that multiple users can share the same system resources simultaneously. The users of a multi user operating system can share both hardware and software resources, the operating system carries out complicated routines to manage all the processes that the users are running. - List of shared resources: - Hardware CPU Power, RAM, Hard drive, Peripherals (printer, Scanner, CD ROM) Other peripherals may be made available in a MUOS for users who require them (Floppy disk drive, Speakers, Head Phones, Video Cameras etc.) Software - Scheduler Software (needed to manage and prioritise tasks).
- Batch Job Some processes take a long time to complete and can often disturb other computer tasks that are important. A Batch Job is a file that does not require any user interaction, so it is set up to run a number of processes at a later time, often late at night. One example is overnight maintenance at a bank when they update all the accounts so it will not disrupt the other processes during the day. Multi-Tasking - Concepts of multi-tasking.
Multi tasking is when the operating system switches between tasks at a very high speed, it can sometimes seem as though it is performing more than one task at a time. For example, a user could be printing and typing at the same time, and listening to a CD. Many users can access the same resources at (what appears to be) the same time. One disadvantage of this is that it requires a great deal of memory and the processes may run slower. The two types of multi-tasking are co-operative and pre-emptive:
Pre-emptive - This is when the applications are forced to give up the CPU after a certain length of time so that the other processes get an equal share of CPU time. (time-sliced). * Co-operative multi-tasking is when it is the current running tasks responsibility to share the CPU to the other processes. One task must finish before the other starts. It is called Co-operative because all the tasks must co-operate for this type of processing to work and there is no time limit on each task. (Round Robin). - Advantages / Disadvantages.
An advantage of Pre-emptive multi-tasking is that some important tasks may be allocated a more time slices so it will not be stalled by other smaller tasks. A disadvantage of both types of multi-tasking is that it requires a large amount of memory to work properly. Background Processing - Concepts of background / foreground processing When a task will require a long time to process and requires no user input e. g. downloading a large file from the internet, it can be processed later when the computer is not processing other tasks.
Background processing is often used in banks and businesses to process the customer's accounts at the end of each day, the operating system can be left to run the process overnight or when the CPU is not currently being used by a task that requires a great deal of processing. - Unix command to run background processing Control-Z = Leave process running in background bg = Continue process at background Control-C = move foreground process to background Fg = move the process to foreground.
Example of a background process If you need to run a large print job, e.g. printing out one hundred copies of a Workbook for a group of students, it can be set as a background process and will only use CPU power when other tasks are not running. Types of Multi-User Operating System Multi-Processor - More than one CPU Multi user operating systems can sometimes have more that one processor. In some expensive operating systems it is possible to connect more CPUs to the system and have them work together to execute tasks. Multiprocessing can significantly reduce the time taken to execute each process.
An operating system with multiple processors can perform different tasks separately or a task can be split up and processed by different CPUs. - Advantages / Disadvantages An advantage is that multi processing systems can be very speedy at completing tasks. A disadvantage is that this type of system is very expensive. Time-Sliced As multi user operating systems share resources, different processes can require different amounts of time. It is possible and to interrupt a large process so that a smaller process to be completed.
If you were using a time slicing system then the processor will switch between processes at timed intervals (Pre-emptive). The amount of time allocated to each process is called a time slice. The length of time given for each time-slice is allocated by a program called a scheduler. - An advantage is that larger or more important processes may be given more time slices than a smaller task so it can be completed, however this could also be a disadvantage if there are many users executing smaller tasks as they will take longer to be finished. Distributed.
The distributed system is where a number of systems are connected through a Local Area Network. This can be more powerful than a single processor system and it is capable of online sharing. Hardware Components Processor - The CPU is the brain of the operating system. It responds to and processes and instructions that control the computer. The control unit in a CPU controls everything which happens within, the ALU does calculations and is responsible for decision making and the accumulator stores the last data that was decoded for future processes.
There are various registers within the CPU, they are the instruction register, which holds the instruction that is being decoded, the program counter stores what part of the program we have reached, the memory address register points to the location where data is being fetched or written and the memory data register is a storage area for data that is currently being transferred between the memory and the CPU. - The Fetch-Decode-Execute Cycle has three important stages. * FETCH - The CPU collects an instruction from the RAM DECODE - The control unit figures out what to do with it. EXECUTE - The instruction is carried out.
- The speed of an FDE cycle depends on how fast the processor is (the length of time it takes for the signals to be sent to the control bus, and how many T-cycles each assembly instruction takes to execute. Memory Random Access Memory is sometimes known as 'main memory'. RAM is volatile, which means it loses all the stored information when the power is cut off. Some computers also use virtual memory, which is stored in the hard drive but acts like RAM, this is much slower than physical memory. Another type of memory is Read Only Memory (ROM) which can be written to but cannot be erased. Data Storage Devices.
- Floppy disk - can be written to and erased, 1. 44Mb - CD ROM - Can be written to but not erased, 700Mb - Hard Drive - stores many Gigabytes, can be written to and erased - Zip Drive - can be written to and erased, 100 - 250Mb Terminals - Dumb Terminal - A dumb terminal has no processing capabilities as they have no memory or processor of their own, it has only a monitor, keyboard and mouse. They are connected to a central processor. - Intelligent Terminal - An intelligent terminal contains memory and a CPU and is a standalone device. It only has to connect to the central processor when needed. - Command to find terminal type - terminfo.
Input / Output Devices Dumb Terminal - Input - keyboard and mouse. - Output - monitor Intelligent Terminal - Input - keyboard, mouse, scanner, touch screen. - Output - monitor, printer, speakers Software Components Kernel The Kernel is the heart of the operating system, the lowest level or the central part. Communication with the hardware is through the kernel. In multi user operating systems it is the kernel's job to keep each process and user separate and to organize access to the system hardware, including CPU, memory, disk and other I/O devices. Device Handlers A device is any piece if hardware that is used in an operating system.
A device handler is a piece of software within the operating system that communicates with the devices and tells them what to do. This is part of the operating system that is responsible for servicing requests of the device request queue. Spoolers (Simultaneous peripheral operations on-line) Spooling is used when data is waiting to go to an output device after it has been processed. The data is placed into a queue so that the CPU can process something else instead of having to slow down to the speed of the output device. Spoolers are used on mainly old devices e. g. old printers that can only handle one job at a time User Interface.
This is how the user can view the data within the operating system. The main types of user interfaces are; the graphical user interface e. g. Windows and Command driven interface e. g. MS DOS and standard UNIX. The CDI was more complicated to use than a GUI as you would have to know certain commands to do very basic tasks.
Bibliography Index http://physinfo. ulb. ac. be/cit_courseware/opsys/ostart. htm http://electronics. howstuffworks. com/operating-system1. htm http://physinfo. ulb. ac. be/cit_courseware/opsys/ostart. htm http://www. canberra. edu. au/~sam/whp/unix-cmd. html http://cm. bell-labs. com/ MUOS workbook.