Operating System Functions and Types
Operating System Functions and Types
Study material
Index
S. No. Content
1. Objectives
2. Introduction
3. Functions of OS
4. Types of O.S.: Single User, Multi User, Multi
Programming, Multi-Tasking, Real Time, Time Sharing,
Batch Processing
5. Parallel Processing
6. Distributed Processing
7. Mobile Devices Operating System
8. File Allocation Table (FAT & FAT 32)
9. NTFS
1. Objectives:
After studying this module the learner will know:
a. What is an Operating System?
b. Objectives and Goals
c. Efficiency
d. Functions
e. Types of Operating System.
f. Mobile Devices Operating System
g. File Allocation Table(FAT & FAT 32)
h. NTFS
2. Introduction
The most fundamental system program is the operating system, which
controls all the computer’s resources and provides the base upon which
application programs can be written.
It shields programmer from the complexity of the hardware and puts a
layer of software on top of the bare hardware to manage all parts of the
system and present the user with an interface or virtual machine that is
easier to understand and program.
DEFINITIONS
OS Name Share
Windows 40.34
Android 37.95
iOS 15.44
Mac OS 4.34
Linux 0.95
Chrome OS 0.14
OBJECTIVES/GOALS
a) Resource Management
b) Virtual machine management (User friendliness)
a) Resource management
1. Memory Management –
2. Process management –
A process/task is an instance or a part of a program in execution.A
program is just a passive entity whereas a process is an active entity. It is
a smallest unit of work that is independently schedulable. It performs the
required functions of its related program. To accomplish its task, a
process needs resources like CPU, memory, files and i/o devices which is
allocated by
the OS.
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.
Examples of OS
Desktop/Laptop OS
Windows (95/98/2000/NT/XP)
Mac OS X
Linux
Unix(Sco, SUN, Solaris, HP, IBM)
IBM OS/2
RTOS
Amoeba
Mobile OS
Android OS
BADA (Samsung)
Blackberry OS
iOS (Apple)
Meego OS (Nokia & Intel)
Palm OS
Symbian (Nokia)
Embedded OS
Contiki
Montis
Tiny OS
Lite OS
Free RTOS
Multi programming OS
In a multiprogramming system, two or more processes execute one after
another or more different independent programs by the same computer
system.
In this concept, two or more user programs can be in main memory and
can be executed concurrently. The CPU can give time to various
programs despite sitting idle when one is busy with I/O operations.
When one program is waiting for I/O transfer there is next program ready
to utilize the processor. Therefore, several processes can share the time of
the CPU.
Multi tasking
Multitasking, in an operating system, is allowing a user to perform more
than one computer task (such as the operation of an application program)
at a time. The operating system is able to keep track of where you are in
these tasks and go from one to the other without losing information.
Time Sharing
Time-sharing is a technique which enables many people, located at
various terminals, to use a particular computer system at the
same time. Time-sharing or multitasking is a logical extension of
multiprogramming. Processor's time which is shared among multiple
users simultaneously is termed as time-sharing.
Batch Processing
Smartphones are now participating nearly in each and every sphere of life
like business, education, workplace and healthcare.
A mobile operating system (or mobile OS) is an operating system for
smartphones, tablets, PDAs, or other mobile devices.
PALM OS
IOS
ANDROID OS
BLACKERRY OS
Today FAT comes in three different Forms – FAT12, FAT16 and FAT32.
The names refer to the number of bits used by the entries in table that
gave the file system its name!
II Practice Questions:
FAT (File Allocation Table) and NTFS (New Technology File System) are two types of file systems used by Microsoft operating systems. FAT, an older system, is simpler and widely supported across different platforms, making it suitable for removable media where broad compatibility is essential. However, it lacks advanced features. NTFS, on the other hand, provides improved security, larger volume size support, better recovery options, and more efficient organization of files through features such as file compression. NTFS is preferred for internal disk partitions on modern Windows systems due to these advantages .
A real-time operating system (RTOS) is designed to process data as it comes in, with stringent timing constraints, ensuring that specific tasks are completed within a defined time period. It is crucial in applications where timing precision is critical, such as embedded systems in medical devices and industrial control systems. A time-sharing operating system, however, allows multiple users to interact with the system concurrently by employing CPU time division among tasks, ideal for scenarios like office environments or academic software development where users require system access simultaneously but not in real-time conditions .
Multi-user operating systems manage concurrent access through techniques such as process scheduling, memory management, and disk scheduling. They allocate CPU time efficiently among users, handle memory in a way to prevent overlapping, and manage I/O operations to ensure data consistency. These systems face challenges like preventing deadlocks, race conditions, and ensuring fair access to resources to maintain system performance and user satisfaction. They must implement robust security measures to protect against unauthorized access, which is heightened due to multiple users interacting concurrently .
The primary objectives of an operating system are resource management and virtual machine management (user friendliness). Resource management involves the allocation and deallocation of system resources such as CPU, memory, and I/O devices to ensure efficient system operation. This includes time management, space management, process synchronization, deadlock handling, and accounting. Virtual machine management provides an execution environment with process creation, control, file manipulation, error handling, and protection. Efficient management of these tasks increases the overall system efficiency by optimizing throughput and turnaround time .
Operating systems provide several critical security mechanisms, including access control, information flow control, and certification. Access control establishes permissions for reading, writing, and executing different files, ensuring that only authorized entities can perform actions on the resources. Information flow control regulates data movement within the system to prevent unauthorized leakage of information. Certification involves prioritizing and tagging resources to prevent unauthorized access, ensuring the system's integrity against malicious activities or security breaches. These mechanisms collectively safeguard system resources and prevent unauthorized access .
Mobile operating systems have significantly reshaped how users interact with devices and influenced the design of applications compared to traditional desktop systems. Their design emphasizes touch interfaces and focuses on battery efficiency, connectivity (such as cellular and Wi-Fi), and the integrated use of sensors. Mobile OS must handle diverse hardware configurations with consistent performance. In contrast, desktop operating systems are designed for devices with more processing power and typically support more extensive multitasking capabilities. Software design on mobile platforms tends to prioritize simplicity and efficiency to accommodate limited screen space and user attention span .
Distributed processing involves distributing parts of a computing workload across multiple systems on a network, enhancing computational efficiency and resource sharing. It allows systems to utilize idle CPU resources across a network to execute processes simultaneously, fostering scalability and fault tolerance. Parallel processing, on the other hand, utilizes multiple processors within a single system to execute tasks concurrently, reducing execution time for complex computations. Both approaches significantly improve processing capability and are crucial for high-performance computing, enabling resource-intensive applications to run more effectively .
Device drivers act as intermediaries between the operating system and the I/O devices. They provide a layer of abstraction that hides the complex, device-specific operations from the OS, allowing it to manage devices in a uniform manner. Through this abstraction, the OS can allocate, control, and deallocate devices without needing to know the details of how they physically operate. This abstraction is crucial for system modularity and portability, enabling the OS to communicate efficiently with different types of devices, such as keyboards, printers, and disk drives .
Multitasking refers to the capability of an operating system to handle multiple tasks simultaneously by managing the CPU's time across multiple processes. In contrast, multiprogramming involves running multiple programs concurrently by keeping several jobs in memory simultaneously and allowing the CPU to switch between them when one is waiting for I/O operations. Multitasking is beneficial in user environments needing responsiveness, like running multiple applications on a PC. Multiprogramming is more useful in optimizing CPU utilization in batch processing systems where many programs need to run without user interaction .
Operating systems efficiency is measured using metrics such as throughput and turnaround time. Throughput refers to the total amount of work a system can perform over a specified period, quantified as the number of processes completed per unit time. A higher throughput indicates efficient resource usage. Turnaround time measures the time taken from job submission to job completion, reflecting how quickly a system processes requests. Together, these metrics provide insights into an operating system's performance and its ability to manage resources effectively to optimize processing speeds and user satisfaction .