Module 1 - Introduction To Operating System
Module 1 - Introduction To Operating System
Objectives
At the end of this module, the student can be able to:
• Summarize the objectives and functions of modern operating systems.
• Determine the functions of a contemporary operating system with respect to convenience,
efficiency, and ability to evolve.
• Compare and contrast different types of operating system.
Additionaly, users can interact directly with the Operating System through a user interface such
a computer command line or graphical user interface (GUI).In its most general sense is software
that allows the user to run another application on a computing device. Without an Operating
System a computer and software would be useless.
Since the operating system serves as a computer's fundamental user interface, it significantly
affects how you interact with the device. Therefore, many users prefer to use a specific operating
system.
1. Memory Management
It refers to management of Primary Memory or Main Memory. There are some activities
that follow for the memory management: It keeps tracks of primary memory, the memory
addresses that have already been allocated and the memory addresses of the memory that has
not yet been used. In multi programming, the OS decides the order in which process are granted
access to memory, and for how long. It allocates the memory to a process when the process
requests it and deallocates the memory when the process has terminated or is performing an I/O
operation.
2. Processor Management
The OS decides which process gets the processor when and for how much time this
function is called process scheduling. It does 3 job. The first one is to keep tracks of processor
status of a process. The program responsible for this task is known as traffic controller. The
second one is allocating the processor (GPU) to a process and the third one is De-allocating the
processor when a process is no longer required.
3. Device Management
An Operating System manages device communication via their respective drivers. It does
the following activities for device management: a. Keeps tracks for all devices. The program
responsible for this task is known as the I/O Controller. b. Decides which process gets the device
when and for how much time. c. Allocates the device in the most efficient way. d. De-allocates
devices.
4. File Management
A file system is normally organized into directories for easy navigation and usage. These
directories may contain files and other directories. An OS does the following activities for file
management: a. Keeps track of information, location, uses, status, etc. The collective facilities are
often known as file system. b. Decides who gets the resources. c. Allocates the resources d. De-
allocates the resources
5. Security
Data is an important part of computer system. The operating system protects the data stored
on the computer from illegal use, modification or deletion. By means of password and similar other
techniques, it prevents unauthorized access to programs and data.
7. Job Accounting
Keeping track of time and resources used by various jobs and users.
Overhead, besides operating system monitors use of resources to make certain of efficiency.
The second goal of Operating System is user convenience to make user comfortable to done their
task OS ensures user friendly interfaces such as GUI (Graphical User Interface) it makes that
user is easy to done their task further more noninterference in the activities of its user. User can
face interference in computational activities. The operating system also prevents illegal file access
because the system knows which data can access by whom only the authorize user can access
the data.
Note: Use convenience has higher priority than efficient use of a computer in windows operating
system while efficient use of a computer system has higher priority than use convenience in Unix
Operating system.
The First Generation started from 1945 to 1955 were technology has been used as a
vacuum tubes and operating system was not present and the language was a machine language
which is called binary language.
The second generation was from 1955 to 1965 were technology was transistors, operating
system is present, and the language was used assembly and high level language. Around 1955,
transistors were introduced and first operating system was Fortran Monitor System was introduce
in a computers, and also FORTRAN is a high level language was used.
Batch System was used in this generation to reduce the time new methodology is adopted
known as a batch system. Also to execute the program two commuters were used IBM 1401 for
reading cards, copying tapes, and printing output, and IBM 7094 for real computing. The working
of batch system in second generation were all magnetic tapes are mounted on a tape drive;
operator load special program which read the first job from the tape and run it. Output was written
unto the second tape, after each job finished, the OS automatically read next job from the tape
and output tape inserted into IBM 1401 for printing.
By the late 19609s Operating System designers were able to develop the system of
multiprogramming in which a computer program will be able to perform multiple jobs at the same
time. The introduction of multiprogramming is a major part in the development of Operating
Systems because it allowed a CPU to be busy nearly 100 % of the time that it was in operation.
Another major development during the third generation was the phenomenal growth of mini
computers starting with the DEC PDP-1 in 1961. The PDP-1 had only 4K of 18-bit words, but at
$120,000 per machine (less than 5 percent of the price of a 7094), it sold like hotcakes. These
microcomputers help create a whole new industry and the development of more PDP's. These
PDP's helped lead to the creation of personal computers which are created in the fourth
generation. In the same year, the first version of the UNIX operating system was created. This
operating system was easily adapted to new systems and has attained rapid acceptance. It
is written in C and is free to use during the first few years.
Third generation was from 1965-1975 were technology was integrated circuits, operating
system was present and the language was used is high level language. In this generation
computers are based on Integrated Circuits and was invented by Robert Noyce and Jack Kilby in
1958-1959.
Integrated Circuits are
single component containing
number of transistors. Few
examples of this are PDP-8, PDP-
11, ICL 2900,IBM 360,IBM 370
and many more. Also like the
second generation, third
generation are also fast, reliable
and high-level languages
appeared. The used of IC in a
computer provides a small part of
a computer not only to reduce but
also improves the performance of Figure 1.2: Integrated Circuits (ICs)
a computer as compared to
others or previous computers because these computers reduced the computational time from
microseconds to nanoseconds. In this generation, it uses an operating system for better resources
and used the concept of time-sharing and multiple programing. But IC chips are difficult to
maintain first it required air conditioning and the technology required the manufacturing of IC
chips. And this IC chips are cheaper than the second generation.
Along with the creation of Microsoft is the making of Apple Macintosh. Steve Jobs, co-
inventor of Apple computer, adapted GUI and Apple Macintosh became a huge success not
only because it is cheaper but with the adaption of GUI it is user-friendly. When Microsoft
decided to build a newer version of MS- DOS, it became solely based on the success of
Macintosh and Windows was created.
During the mid-1980s, there where growths of network operating systems and
distributed operating systems being used in every personal computer. Today, numerous types
of operating system are being used in different types of machines.
In this type of OS, several independent yet interconnected computers can communicate
with each other using a shared communication network. These so called <independent systems=
have their own memory unit and central processing unit (CPU). These systems can also be
referred to as loosely coupled (distributed) systems. In loosely coupled systems, the
components are less dependent on each other or depend on each other to the least extent
possible. Also, in this OS, it is possible for a user9s system to access the files or software of
another system given that the systems are both connected on the same network. An example of
this OS is LOCUS.
• These types of systems are not readily available as they are very expensive. Not only that
the underlying software is highly complex and not understood well yet.
In this OS, all users are aware of the configuration of other users within the same network
(i.e., individual connections) which allows the users and the system itself to function or work more
efficiently. Which is why systems in this type of OS are also known as tightly coupled systems.
In tightly coupled systems, hardware and software components are highly independent on each
other, which explains the reason why all the users should be aware of the configuration of other
users. Examples of this OS include Microsoft Windows Server 2008, UNIX, Linux, Mac OS X.
https://www.thecrazyprogrammer.com/
The Crazy Programmer. 10 Aug. 2019,
systems. Examples of real-time systems are: Air Traffic Control
2019/03/types−of−operating−
Systems etc. In real- time systems, the time interval needed to
process and respond to inputs is very small. This time interval is called
response time.
system.html
crucial for the system to function efficiently. This system is used when
the time requirements for the specific response time is very strict like
missile systems, air traffic control systems, robots, etc. Examples of
Real-Time Operating Systems include medical imaging systems, Figure 1.7: Real−Time OS Visual
industrial control systems, robots, air traffic control systems, etc. Representation
• Hard Real-Time Systems: These OSs are meant for the applications where time
constraints are very strict and even the shortest possible delay is not acceptable. These
systems are built for saving life like automatic parachutes or air bags which are required to
be readily available in case of any accident. Virtual memory is almost never found in these
systems.
• Soft Real-Time Systems: This type of Real-Time OS is used when the application9s time
constraints is less strict. In soft real-time system, meeting the time limit is not compulsory
for every time and task but of course, the system cannot miss the deadline for every task or
process, it can miss the deadline but not every time. If the deadline is not met frequently
then there will be consequences, up to the point where the system can no longer be used.
Examples of soft real-time systems are personal computers, audio system, video system,
etc.
Table 1.2: Major Differences between Hard and Soft Real-Time Systems
Characteristic Hard Real-Time Soft Real-Time
Response Time Hard-required Soft-required
Peak-load performance Predictable Degraded
Control of pace Environment Computer
Safety Often critical Non-critical
Size of data files Small/Medium Large
The above table shows the major differences between hard and soft real-time systems.
The response time requirements of hard real-time systems are in the order of milliseconds or less
and can result in a catastrophe if not met. In contrast, the response time requirements of soft real-
time systems are higher and not very stringent. In a hard real-time system, the peak-load
performance must be predictable and should not violate the predefined deadlines. In a soft real-
time system, a degraded operation in a rarely occurring peak load can be tolerated. A hard real-
time system must remain synchronous with the state of the environment in all cases. On the other
hand soft real-time systems will slow down their response time if the load is very high. Hard real-
time systems are often safety critical. Hard real-time systems have small data files and real-time
databases. Temporal accuracy is often the concern here. Soft real-time systems for example, on-
line reservation systems have larger databases and require long-term integrity of real-time
systems. If an error occurs in a soft real-time system, the computation is rolled back to a previously
established checkpoint to initiate a recovery action. In hard real-time systems, roll-back/recovery
is of limited use.
Advantages of RTOS:
• Maximum Consumption: Maximum utilization of devices and system, thus more output
from all the resources
• Task Shifting: Time assigned for shifting tasks in these systems are very less. For example
in older systems it takes about 10 micro seconds in shifting one task to another and in latest
systems it takes 3 micro seconds.
• Focus on Application: Focus on running applications and less importance to applications
which are in queue.
• Real time operating system in embedded system: Since size of programs are small,
RTOS can also be used in embedded systems like in transport and others.
• Error Free: These types of systems are error free.
• Memory Allocation: Memory allocation is best managed in these type of systems.
Disadvantages of RTOS:
• Limited Tasks: Very few tasks run at the same time and their concentration is very less on
few applications to avoid errors.
• Use heavy system resources: Sometimes the system resources are not so good and they
are expensive as well.
• Complex Algorithms: The algorithms are very complex and difficult for the designer to
write on.
• Device driver and interrupt signals: It needs specific device drivers and interrupt signals
to response earliest to interrupts.
• Thread Priority: It is not good to set thread priority as these systems are very less prone to
switching tasks.
Handheld OS are created to work with different types of hardware other than the standard
desktop operating systems. Examples of handheld operating systems include Palm OS, Pocket
PC, Symbian OS, Linux, Windows, etc. Handheld systems also include Personal Digital
Assistants (PDAs), such as Palm- Pilots or Cellular Telephones the ability to connect to a network
such as the Internet. They are usually of limited size, most handheld devices have limited amount
of memory, slow processors, and small display screens.
GUI (Graphic User Interface) - This interface uses graphics to interact with an operating
system such as windows, scrollbars, buttons, wizards, painting pictures, alternative icons
and many more. In this interface the information will show in the use of videos, images,
plain text, and many more.
CLI (Command Line Interface) - In this interface you have a permission to put in writing
command or console window to interact with operating system. An example of this is in
the command prompt you will put the writing command you wanted to perform so that the
computer will do the task that you have given to it.
2. Memory Manager – This mainly focuses on the allocation of memory to the different tasks.
Memory manager handles the Main Memory or RAM (also known as Random Access Memory)
and tracks of memory spaces that is needed by the running process. Multitasking consumes
memory space. Allocation of memory happens if the portion of the memory after being checked
is valid for the request, while de-allocation happens when it9s time to reclaim the memory. The
memory manager protects the space in the main memory by not allowing any alterations to
happen.
3. Process Manager – This focuses on the scheduling of tasks and the utilization of the
processor. Process scheduling is the function in the operating system that decides about the
process that gets the processor. Information sharing and exchange of processes, protection of
resources from one process to another and providing facilities for sharing and synchronization of
processes are the examples of activities being handled by the process manager. The traffic
controller is the program that keeps track of the processor as well as its status. Handling the jobs
that enter the system and managing each process within the jobs are the two levels of Process
Manager.
4. Security Manager - This manager secure the whole computer into any unauthorized process,
application and many more.
5. Secondary Storage Manager - Unlike the main memory (RAM), this manager is used to store
data that can be manipulated further in the system.
6. Device Manager – This pertains to the control of the operating system on the peripheral
devices such as the mouse, monitor, and other pertinent devices. Whenever you save a file into
a disk, the operating system does instruct the device drivers to write/store the specific file into the
auxiliary storage device. The same happens whenever you want to print a document. The
operating system is the one that instructs the printer about the accommodation of the request to
print the document. I/O controller is the program that keeps track of all the devices. Allocation and
de-allocation of resources are done by the Device Manager too.
7. File System Manager – this refers to the ability of the user in addition, deletion, modification,
and manipulation of the files. Some of the activities being handled by file manager are naming
and renaming specific files, copying files from one directory to another, and backup and recovery
of file. It simply pertains to the use of files. This manager does allocation and de-allocation of the
resources as well.
Reading Assignment
• http://openbookproject.net/courses/intro2ict/system/os_intro.html#:~:text=An%20operati
ng%20system%20(OS)%20is,are%20run%20on%20the%20machine.&text=Almost%20
all%20computers%20use%20an%20OS%20of%20some%20type.
• https://www.geeksforgeeks.org/introduction-of-operating-system-set-1/
• https://www.studytonight.com/operating-system/introduction-operating-systems
• https://www.guru99.com/operating-system-tutorial.html
• https://www.tutorialspoint.com/operating_system/index.htm
• Silberschatz, A., Galvin, P., and Gagne, G.(2018). <Operating 8System Concepts=, 10th
ed. John Wiley and <Sons Inc.
• Stallings, Wiliam. (2018). <Operating Systems: Internals and Design Principles= 9th ed.
Pearson Education Inc.
• https://ssmengg.edu.in/weos/weos/upload/EStudyMaterial/Cse/6th%20sem/Operating%
20system/operating%20system.pdf
• https://techterms.com/definition/operating_system
• https://www.geeksforgeeks.org/types-computer-memory-ram-rom/
• https://www.tutorialspoint.com/operating_system/operating_system_tutorial.pdf
• https://www.geeksforgeeks.org/types-of-operating-systems/
• https://users.ece.cmu.edu/~koopman/des_s99/real_time/
• http://www.cs.um.edu.mt/~jcor1/oldwebsite/OS4.pdf