Organization of a Computer System
As shown in Figure drawn below, the major high-level components of the computer system are stated below:
1. Hardware, this provides basic computing resources ( such as CPU, memory, I/Odevices).
2. Operating system, this manages the use of the hardware among the number of application programs for the various users and provides the user a relatively easy machine to use.
3. Applications programs this define the ways in which system resources are used to solve the computing problems of the users (such as compilers, video games, database systems, business programs).
4. Users, this includes people, machines, other computers.
Purpose of a Computer—Setting the Stage for OS Concepts and Principles Computer systems comprises of software and hardware which are combined to provide a tool to implement solutions for the particular problems in an efficient manner and to execute programs. Figure shows the general organization of the contemporary computer system and how various system components are interconnected to each other.
By viewing things closely we will reveal the primary purpose of the computer system is to generate the executable programs and execute them. The some of the main issues involved in performing these tasks are as follows.
1. Storing an executable on the secondary storage device like hard disk
2. Loading executable from the disk into the main memory of it
3. Setting up the CPU state appropriately so that program execution could start
4. Creating the multiple cooperating processes, synchronizing their access to shared data, and permitting them to communicate with each other
The above issues need the operating system to provide the services stated below and much more:
? Manage secondary storage devices are as follows
1 To allocate appropriate quantity of disk space when files are created
2 To deallocate space when the files are removing
3 To insure that the new file does not overwrite an existing file
4 To schedule the disk requests and Manage the primary storage
7 To allocate suitable amount of memory space when programs are to be loaded into the memory for the executing
8 To deallocate space when the processes terminate
9 To insure that a new process is not loaded on top of the existing process
10 To insure that a process does not access memory space which does not belong to it
11 To minimize the quantity of unused memory space
12 To allow execution of the programs larger in size than the existing main memory Manage processes
13 To allow simultaneous execution of the processes by scheduling the CPU(s)
14 To prevent deadlocks between the processes
15 To insure integrity of the shared data
16 To synchronize the executions of cooperating processes
? 17 To allow a user to manage his/her files/directories properly
18 To user view of the directory structure
19 To provide a mechanism which allows users to protect their files/directories
In this way, we will discuss in detail these operating system services and more, with a particular stress on the UNIX and Linux operating systems.
Describe Operating System.
There are two directions which we can see regarding this. The top-down view is that it is a program which acts as an intermediary amid a user of a computer and the computer hardware, and makes the computer system handy to use. It is because of the operating system which users of a computer system don’t have to deal with the computer’s hardware to get their work done. Users can use simple and easy commands to perform many tasks and let the operating system do the complicated work of interacting with computer hardware. Therefore, you can use the command like copy file1 file2 to copy ‘file1’ to ‘file2’ and let the operating system communicate with controller(s) of the disk which contain(s) the two files.
A computer system has various hardware and software resources which may be needed to solve a problem: CPU time, file storage space, memory space, I/O devices etc. The operating system is the manager of these resources, facing numerous and possibly conflicting requests for the resources, the operating system must decide how to allocate and deallocate them to specific programs and users so that it can operate the computer system fairly, efficiently and securely. So, the bottom-up view is that the operating system is a resource manager which manages the hardware and software resources in the computer system.
A somewhat different view of an operating system emphasizes the requirement to control the various I/O devices and programs. An operating system is a control program which manages the execution of user programs to check errors and improper use of a computer.