BTEC UNIT 27: Operating systems - Assignment 1

Title - Operating systems development - 1

Issue Date: W/C 30th October 2006

Deadline Date: W/C 13th November

Criteria P1, P2, M1, M2

Task 1

. Identify four main areas of development of operating systems. [P1]

Networking:

Most current operating systems are capable of using the now-universal TCP/IP networking protocols. This means that one system can appear on a network of the other and share resources such as files, printers, and scanners.

Many operating systems also support one or more vendor-specific legacy networking protocols as well, for example, SNA on IBM systems, DECnet on systems from Digital Equipment Corporation, and Microsoft-specific protocols on Windows. Specific protocols for specific tasks may also be supported such as NFS for file access.

Memory management:

Memory management has always been one of the most important and interesting aspects of any operating system for serious developers. It is an aspect that kernel developers ignore. Memory management, in essence, provides a thumbnail impression of any operating system.

Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed.

Virtual memory systems separate the memory addresses used by a process from actual physical addresses, allowing separation of processes and increasing the effectively available amount of RAM using disk swapping. The quality of the virtual memory manager can have a big impact on overall system performance.

Garbage collection is the automated allocation, and deal location of computer memory resources for a program. This is generally implemented at the programming language level and is in opposition to manual memory management, the explicit allocation and deal location of computer memory resources.

Resource management:

The OS controls all of the resources on the computer, for example:

* The amount of processor time that will be spent on certain tasks

* The amount of memory allocated to programs that are currently running

* Access to secondary storage devices, such as hard disks

* Access to peripherals, such as printers.

File management

* The OS also controls the location of all of the files stored on a computer.

* It uses directories (folders) to store files in and the files are identified by the name given them by the user and a suffix that indicates the file type.

* For example, you might set up a folder called coursework and then store coursework.doc inside it.

* The user sees this as folders and is able to create, edit and delete folders into which the work is stored and rename files.

* The OS stores folders as directories using a pathname.

* The pathnames are stored on the drive that contains them (e.g. C drive is the hard disk or D drive is the CD disk).

Multitasking:

Multitasking is a method by which multiple tasks, also known as processes, share common processing resources such as a CPU. In the case of a computer with a single CPU, only one task is said to be running at any point in time, meaning that the CPU is actively executing instructions for that task. Multitasking solves the problem by scheduling which task may be the one running at any given time, and when another waiting task gets a turn. The act of reassigning a CPU from one task to another one is called a context switch. When context switches occur frequently enough the illusion of parallelism is achieved. Even on computers with more than one CPU (called multiprocessor machines), multitasking allows many more tasks to be run than there are CPUs.

Scheduling:

Scheduling is a key concept in computer multitasking and multiprocessing operating system design, and in real-time operating system design. It refers to the way processes are assigned priorities in a priority queue. This assignment is carried out by software known as a scheduler.

In general-purpose operating systems, the goal of the scheduler is to balance processor loads, and prevent any one process from either monopolizing the processor or being starved for resources. In operating systems designed from the ground up for critical application use, such as Solaris, AIX or z/OS, schedulers include "defensive" features. If a process (by design or accident) should attempt to aggressively grab all available processor resources, the system often reacts by slowing down to the point of being perceived as "locked".

2. Identify the main purposes of an operating system, [P2]

3. Explain, using appropriate examples of operating systems, how these purposes serve the requirements of a computer system [M1]

The most important program that runs on a computer. Every general-purpose computer must have an operating system to run other programs. Operating systems perform basic tasks, such as recognizing input from the keyboard, sending output to the display screen, keeping track of files and directories on the disk, and controlling peripheral devices such as disk drives and printers.

For large systems, the operating system has even greater responsibilities and powers. It is like a traffic cop -- it makes sure those different programs and users running at the same time do not interfere with each other. The operating system is also responsible for security, ensuring that unauthorized users do not access the system.

Operating systems can be classified as follows:

* Multi-user : Allows two or more users to run programs at the same time. Some operating systems permit hundreds or even thousands of concurrent users.

* Multiprocessing : Supports running a program on more than one CPU.
Join now!


* Multitasking : Allows more than one program to run concurrently.

* Multithreading : Allows different parts of a single program to run concurrently.

* Real time: Responds to input instantly. General-purpose operating systems, such as DOS and UNIX, are not real-time.

Operating systems provide a software platform on top of which other programs, called application programs, can run. The application programs must be written to run on top of a particular operating system. Your choice of operating system, therefore, determines to a great extent the applications you can run. For PCs, ...

This is a preview of the whole essay