0% found this document useful (0 votes)
24 views

Programming C 1.4

programming-c-1.4

Uploaded by

asif11free
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views

Programming C 1.4

programming-c-1.4

Uploaded by

asif11free
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

1.

4 - Operating System Concepts


Created By (ANUSHKASIF TRIPTION) or tech.nap

Our Website Tap this

Definition of an Operating System

An operating system (OS) is crucial system software that acts as an intermediary between computer
hardware and user interactions. It manages computer resources, performs fundamental duties, and
provides a user-friendly interface for applications to interact with the hardware.

Key Functions of an Operating System:

• Resource Management: Manages hardware resources such as CPU, memory, storage, and
input/output devices.

• File Management: Organizes and controls file operations, including creation, deletion, and
access.

• Memory Management: Allocates and deallocates memory space for processes and manages
memory usage.

• Process Management: Controls the execution of processes, including scheduling,


synchronization, and inter-process communication.

• Device Management: Manages peripheral devices and their interactions with the computer
system.

• User Interface: Provides a user interface (UI) for user interactions, such as graphical user
interfaces (GUIs) or command-line interfaces (CLIs).

Process Concept

A process is defined as an instance of a program in execution. It includes the program code, data, and
the context in which it executes.

Key Aspects of a Process:

• Execution Context: The state and resources of a process while it is running.

• Address Space: The range of memory addresses a process can access.

• Instruction Set: A process executes a set of instructions within its address space.

History of Operating Systems

The evolution of operating systems reflects the advancement in computing technology and user
needs:

• 1950s: Early computers, like calculators, could only run one program at a time.

1960s: IBM developed the first operating systems for its mainframe computers. The oN-Line
System (NLS) was an early example of a desktop-like OS.

• 1970s: The development of Unix by MIT, AT&T Bell Labs, and General Electric marked a
significant advancement. Unix evolved into various derivatives, including FreeBSD.

• 1981: Microsoft acquired and renamed QDOS to MS-DOS. MS-DOS was eventually replaced
by newer operating systems.

• 1995: Microsoft introduced Windows 95, a consumer-oriented OS with a graphical user


interface built on top of MS-DOS.

Importance of Learning About Operating Systems

Understanding operating systems is essential for becoming a proficient computer programmer. It


provides insight into:

• Data Storage: How data is stored and managed on disks.

• Process Management: How processes are created, scheduled, and managed by the CPU.

• I/O Operations: How input and output devices interact with the operating system.

Benefits of Studying Operating Systems:

• Enhanced Programming Skills: Knowledge of OS internals helps in writing efficient and


optimized code.

• Problem Solving: Understanding OS concepts aids in diagnosing and solving system-level


problems.

• System Design: Insights into OS functionality contribute to designing and developing better
software applications.

Functions of Operating System


1. Memory Management

Memory management is crucial for the efficient operation of a computer. The operating system
manages the computer’s primary or main memory, ensuring that each process receives the
necessary memory resources without interference.

Key Functions:

• Monitoring: Tracks memory usage by each program, including allocated and free memory
addresses.

• Allocation: Assigns memory to processes as needed and deallocates it when processes


complete or perform I/O operations.

• Protection: Prevents processes from accessing memory reserved for other processes.
Figure: Memory Management

2. Processor Management

Processor management, or process scheduling, involves managing the CPU’s time and resources
among various processes.

Key Functions:

• Task Assignment: Allocates CPU time to different processes, ensuring fair and efficient
processing.

• State Monitoring: Tracks the status of processes to manage their execution effectively.

• Process Scheduling: Determines the order and duration for each process to use the CPU.

Figure: Processor Management

3. Device Management

The operating system manages hardware devices through device drivers, handling their operations
and interactions with the system.

Key Functions:

• Device Monitoring: Keeps track of all connected devices and their status.

• Driver Identification: Uses device drivers to manage input/output operations for each
device.

• Allocation: Selects processes for device access and manages device usage efficiently.

• Device Management: Handles the operation of input and output devices, processing
requests and providing responses to requesting processes.

Figure: Device Management

4. File Management

File management involves organizing and controlling the storage and retrieval of files.

Key Functions:

• File Organization: Manages directories and the file system structure for efficient file storage
and access.

• Status Monitoring: Tracks file status, user access rights, and storage locations.

• Integrity Protection: Ensures data integrity and prevents unauthorized access to files.

Figure: File Management

5. User Interface or Command Interpreter

The operating system provides a user interface, enabling users to interact with the computer system.

Key Functions:

• User Interaction: Facilitates interaction with the system through a graphical user interface
(GUI) or command-line interface (CLI).

Command Processing: Interprets and executes user commands, providing feedback and
managing system resources accordingly.

Figure: Command Interpreter

6. Booting the Computer

Booting is the process of starting or restarting a computer.

Key Functions:

• Cold Booting: Initiates the computer from a completely powered-off state.

• Warm Booting: Restarts the computer without fully turning it off.

7. Security

The operating system employs various strategies to protect user data and system integrity.

Key Functions:

• Access Control: Implements login systems to prevent unauthorized access.

• Intrusion Prevention: Uses firewalls and other security measures to protect against external
threats.

• Memory Protection: Safeguards system memory from malicious access.

• Vulnerability Management: Displays security messages and alerts related to system


vulnerabilities.

8. Control Over System Performance

The operating system plays a critical role in managing and enhancing system performance.

Key Functions:

• Resource Allocation: Distributes memory, CPU time, and I/O devices across processes for
efficient use.

• Process Scheduling: Manages process execution to prevent CPU overload and facilitate
multitasking.

Figure: Control Over System Performance

9. Job Accounting

The operating system tracks the time and resources used by various jobs and users.

Key Functions:

• Resource Tracking: Records resource utilization to monitor and manage usage effectively.

• Job Prioritization: Determines which processes to execute and how much time to allocate to
each.
10. Error-Detecting Aids

The operating system continuously checks for system errors and malfunctions.

Key Functions:

• System Scanning: Regularly scans for harmful software or hardware issues.

• Error Notifications: Alerts users to system problems and provides guidance for resolution.

11. Coordination Between Software and Users

The operating system manages the distribution of software and ensures smooth interaction between
different programs and users.

Key Functions:

• Software Management: Regulates access to interpreters, compilers, and other software


tools.

• Resource Sharing: Prevents software conflicts and ensures smooth operation of multiple
programs.

12. Basic Computer Tasks

The operating system manages peripheral devices and their interactions with the system.

Key Functions:

• Device Management: Automatically detects and configures devices through plug-and-play


functionality.

• Peripheral Control: Manages devices such as keyboards, mice, and printers.

13. Network Management

The operating system handles network communication and connectivity.

Key Functions:

• Data Transmission: Manages the packaging and transmission of data over networks.

• Network Configuration: Sets up and monitors network connections, such as Ethernet or Wi-
Fi.

• Performance Monitoring: Ensures effective and secure network utilization.

Types of Operating Systems


1. Batch Operating System

A Batch Operating System processes jobs in batches without user interaction during the job
execution. Jobs with similar requirements are grouped together by an operator.

Advantages:

• Predictable processing times for jobs.



Efficient for handling large volumes of similar tasks.

Minimal idle time between jobs.

• Multiple users can share system resources.

Disadvantages:

• Requires skilled operators.

• Debugging can be complex.

• Job failures cause delays for other jobs.

• Generally costly for setup and maintenance.

Examples: Payroll systems, bank statements.

2. Multi-Programming Operating System

A Multi-Programming Operating System allows multiple programs to reside in memory and execute
concurrently. This enhances resource utilization and system efficiency.

Advantages:

• Increased system throughput.

• Faster response times for processes.

Disadvantages:

• Users cannot interact directly with system resources.

3. Multi-Processing Operating System

A Multi-Processing Operating System uses multiple CPUs to execute processes simultaneously,


increasing the system's processing power and efficiency.

Advantages:

• Enhanced system throughput.

• Redundancy: If one CPU fails, others can continue to function.

Disadvantages:

• Increased system complexity.

4. Multi-Tasking Operating System

A Multi-Tasking Operating System allows multiple tasks or programs to run concurrently. It uses
scheduling algorithms to manage task execution.

Types:


• Preemptive Multi-Tasking: The OS can interrupt tasks to switch to another.

• Cooperative Multi-Tasking: Tasks voluntarily yield control to allow other tasks to run.

Advantages:

Simultaneous execution of multiple programs.

Efficient memory management.

Disadvantages:

• Can cause overheating with intensive multitasking.

5. Time-Sharing Operating Systems

Time-Sharing Operating Systems allocate CPU time to multiple tasks or users in a round-robin
fashion, ensuring fair access to resources.

Advantages:

• Equal opportunity for tasks.

• Reduced CPU idle time.

• Efficient resource sharing.

• Improved productivity and user experience.

Disadvantages:

• Reliability issues.

• Security and integrity concerns.

• Data transmission challenges.

• High cost due to system complexity.

Examples: IBM VM/CMS, TSO, Windows Terminal Services.

6. Distributed Operating System

Distributed Operating Systems manage a network of independent computers to appear as a single


cohesive system. They facilitate resource sharing and communication across multiple systems.

Advantages:

• Independent systems reduce network impact if one fails.

• Faster data exchange and resource sharing.

• Scalability and reduced processing delays.

Disadvantages:


• Complex coordination and management.

• Increased potential for security issues.

7. Network Operating System

Network Operating Systems manage network resources, including user access, security, and shared
files and applications. They operate over a network, providing centralized control.

Advantages:

Reliable centralized server management.

Enhanced security and upgrade capabilities.

• Remote access and management.

Disadvantages:

• High cost for servers.

• Dependence on central servers.

• Regular maintenance required.

Examples: Novell NetWare, BSD, UNIX, Linux, Windows Server.

8. Real-Time Operating System (RTOS)

Real-Time Operating Systems are designed to process data and respond to inputs within a strict time
frame, crucial for applications with stringent timing requirements.

Types:

• Hard Real-Time Systems: Require immediate response without delay.

• Soft Real-Time Systems: Have less stringent timing requirements.

Advantages:

• Efficient use of resources.

• Minimal task switching time.

• High reliability and error-free operations.

• Effective memory management.

Disadvantages:

• Limited task execution.

• High resource utilization.

• Complex algorithm requirements.



• Needs specialized device drivers and interrupt signals.

Examples: Robotics, air traffic control systems, medical imaging systems.

Summary

Computer systems integrate hardware and software to perform tasks efficiently. Key hardware
components include the CPU, memory, storage devices, and input/output devices. Software is
categorized into system software (operating systems) and application software. Operating systems
manage hardware resources, provide a user interface, and support multitasking, security, and
resource management. Understanding these systems is crucial for effective technology use and
development.

You might also like