Cosc 0120 Lec I, Lec Ii
Cosc 0120 Lec I, Lec Ii
Memory Management
Processor Management
Device Management
File Management
Security
Control over system performance
Job accounting
Error detecting aids
Coordination between other software and users
Memory Management
Memory management refers to management of Primary Memory or Main
Memory. Main memory is a large array of words or bytes where each word or
byte has its own address.
Main memory provides a fast storage that can be accessed directly by the CPU.
For a program to be executed, it must in the main memory. An Operating System
does the following activities for memory management −
Keeps tracks of primary memory, i.e., what part of it are in use by whom,
what part are not in use.
In multiprogramming, the OS decides which process will get memory when
and how much.
Allocates the memory when a process requests it to do so.
De-allocates the memory when a process no longer needs it or has been
terminated.
Processor Management
In multiprogramming environment, the OS decides which process gets the
processor when and for how much time. This function is called process
scheduling. An Operating System does the following activities for processor
management −
Keeps tracks of processor and status of process. The program responsible
for this task is known as traffic controller.
Allocates the processor (CPU) to a process.
De-allocates processor when a process is no longer required.
Device Management
An Operating System manages device communication via their respective drivers.
It does the following activities for device management −
Keeps tracks of all devices. Program responsible for this task is known as
the I/O controller.
Decides which process gets the device when and for how much time.
Allocates the device in the efficient way.
De-allocates devices.
File Management
A file system is normally organized into directories for easy navigation and usage.
These directories may contain files and other directions.
An Operating System does the following activities for file management −
Keeps track of information, location, uses, status etc. The collective
facilities are often known as file system.
Decides who gets the resources.
Allocates the resources.
De-allocates the resources.
Other Important Activities
Following are some of the important activities that an Operating System performs
−
Security − By means of password and similar other techniques, it prevents
unauthorized access to programs and data.
Control over system performance − Recording delays between request for
a service and response from the system.
Job accounting − Keeping track of time and resources used by various jobs
and users.
Error detecting aids − Production of dumps, traces, error messages, and
other debugging and error detecting aids.
Coordination between other softwares and users − Coordination and
assignment of compilers, interpreters, assemblers and other software to the
various users of the computer systems.
History of Operating Systems
The First Generation (1940's to early 1950's)
When electronic computers where first introduced in the 1940's they were created without any o
was done in absolute machine language, often by wiring up plugboards to control the machine's
computers were generally used to solve simple math calculations, operating systems were not n
//END OF LECTURE 1
LEC II:
In a multiuser OS, more than one user can use the same system at a same time
through the multi I/O terminal or through the network.
For example: windows, Linux, Mac, etc.
A multiuser OS uses timesharing to support multiple users.
In a multiprogramming OS more than one programs can be used at the same time.
It may or may not be multiprocessing. In a single CPU system , multiple program
are executed one after another by dividing the CPU into small time slice.
example: Windows, Mac, Linux,etc.
In a multitasking system more than one task can be performed at the same time but
they are executed one after another through a single CPU by time sharing. For
example: Windows, Linux, Mac, Unix,etc.
Multitasking OS are of two types:
a) Pre-empetive multitasking
b) Co-operative multitasking
In the pre-empetive multitasking, the OS allows CPU times slice to each program.
After each time slice, CPU executes another task. Example: Windows XP
In co-operative multitasking a task can control CPU as long as it requires .
However, it will free CPU to execute another program if it doesn’t require CPU.
Exaample: windows 3.x, multifinder,etc.
v) Multithreading:
A batch processing is a group of processing system in which all the required input
of all the processing task is provided initially. The result of all the task is provided
after the completion of all the processing. Its main functions are:
Problem of reliability.
Question of security and integrity of user programs and data.
Problem of data communication.
Distributed operating System
Distributed systems use multiple central processors to serve multiple real-time
applications and multiple users. Data processing jobs are distributed among the
processors accordingly.
The processors communicate with one another through various communication
lines (such as high-speed buses or telephone lines). These are referred as loosely
coupled systems or distributed systems. Processors in a distributed system may
vary in size and function. These processors are referred as sites, nodes, computers,
and so on.
The advantages of distributed systems are as follows −
With resource sharing facility, a user at one site may be able to use the
resources available at another.
Speedup the exchange of data with one another via electronic mail.
If one site fails in a distributed system, the remaining sites can potentially
continue operating.
Better service to the customers.
Reduction of the load on the host computer.
Reduction of delays in data processing.
Network operating System
A Network Operating System runs on a server and provides the server the
capability to manage data, users, groups, security, applications, and other
networking functions. The primary purpose of the network operating system is to
allow shared file and printer access among multiple computers in a network,
typically a local area network (LAN), a private network or to other networks.
Examples of network operating systems include Microsoft Windows Server 2003,
Microsoft Windows Server 2008, UNIX, Linux, Mac OS X, Novell NetWare, and
BSD.
The advantages of network operating systems are as follows −
For an operating system to be a useful and convenient interface between the user
and the hardware, it must provide certain basic services, such as the ability to read
and write files, allocate and manage memory, make access control decisions, and
so forth. These services are provided by a number of routines that collectively
make up the operating system kernel. Applications invoke these routines through
the use of specific system calls. Because the kernel routines exist for the purposes
of supplying specific services, the operating system has an underlying structure
defined by these services. This underlying structure and its design are called
the system architecture. The terms system architecture and system structure are
used somewhat synonymously.
Simple Structure
There are many operating systems that have a rather simple structure. These
started as small systems and rapidly expanded much further than their scope.
A common example of this is MS-DOS. It was designed simply for a niche
amount for people. There was no indication that it would become so popular.
An image to illustrate the structure of MS-DOS is as follows:
It is better that operating systems have a modular structure, unlike MS-DOS. That
would lead to greater control over the computer system and its various
applications. The modular structure would also allow the programmers to hide
information as required and implement internal routines as they see fit without
changing the outer specifications.
Layered Structure
One way to achieve modularity in the operating system is the layered approach. In
this, the bottom layer is the hardware and the topmost layer is the user interface.
Microkernels are highly modular, making them extensible, portable and scalable.
Operating system components outside the kernel can fail without causing the
operating system to fall over. Once again, the downside is an increased level of
inter-module communication which can degrade system performance.