UNIT - IV Operating Systems Overview

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 14

UNIT - IV:

Operating Systems Overview: Overview of Computer


Operating Systems Functions.
An operating system (OS) serves as the fundamental software that
manages a computer's hardware and provides a user interface. Its
primary functions include task management, resource allocation,
and communication between software and hardware components.
1. **Task Management:**

- The OS oversees {పర్యవేక్షిస్తుంది} multiple tasks simultaneously,


known as multitasking.
- It allocates CPU time to various processes and ensures efficient
task execution.

2. **Resource Allocation:**
- Manages system resources like CPU, memory, disk space, and
peripheral devices.
- Allocates resources based on priority, optimizing performance
and responsiveness.

3. **File System Management:**


- Organizes and manages files on storage devices, implementing
file systems.
- Handles file creation, deletion, modification, and access
permissions.
4. **Security and Access Control:**
- Implements security protocols to safeguard data and system
integrity.
- Controls user access permissions and authentication.

5. **Memory Management:**
- Allocates and deallocates memory to processes.
- Optimizes memory usage through techniques like virtual
memory.

6. **Device Management:**
- Manages communication between software and peripheral
devices.
- Handles device drivers and ensures proper functioning of
hardware.

7. **Networking:**
- Facilitates communication between devices in a network.
- Implements networking protocols and manages network
connections.
In summary, an operating system plays a pivotal role in ensuring
efficient and secure utilization of computer resources while
providing a seamless interface for users and applications.
Protection and Security:
Protection and security are critical aspects of operating systems
(OS) that aim to safeguard a computer system and its data from
unauthorized access, malicious activities, and potential threats.
Here are key considerations in operating systems regarding
protection and security:

1. **User Authentication:**
- Ensures that only authorized users can access the system.
- Requires users to provide valid credentials such as usernames
and passwords.

2. **Access Control:**
- Implements access control mechanisms to regulate user
permissions.
- Assigns specific privileges to users based on their roles and
responsibilities.

3. **File and Directory Permissions:**


- Utilizes file and directory permissions to control access to files
and folders.
- Specifies read, write, and execute permissions for users,
groups, and others.

4. **Encryption:**
- Encrypts sensitive data to protect it from unauthorized access.
- Utilizes algorithms to transform data into a secure format that
can only be deciphered with the appropriate key.

Effective protection and security measures are integral to


maintaining the integrity, confidentiality, and availability of a
computer system and its data. Operating systems play a central
role in implementing and enforcing these measures.

Distributed Systems:
Operating systems in distributed systems deal with the challenges
and complexities associated with the coordination and
management of resources across MULTIPLE
INTERCONNECTED COMPUTERS. Here are key aspects of
operating systems in distributed systems:

1. **Resource Management:**
- Efficiently manages distributed resources such as processors,
memory, and storage across multiple nodes in the network.

2. **Synchronization:**
- Addresses synchronization issues in a distributed
environment, ensuring that multiple processes or nodes can work
together without conflicts.
3. **Fault Tolerance:**
- Implements mechanisms for fault detection, error recovery,
and recover failures or network issues.
- Redundancy, replication, and error-handling strategies are
employed.

4. **Distributed File Systems:**


- Provides distributed file systems that allow users and
applications to access files stored across multiple nodes as if they
were on a local file system.

5. **Security:**
- Addresses security concerns related to data integrity,
confidentiality, and authentication in a distributed environment.
- Implements secure communication protocols and access
controls.

Operating systems in distributed systems play a crucial role in


ensuring seamless communication, resource sharing, and efficient
collaboration among networked computers.
Special Purpose Systems:
Special-purpose operating systems are designed for specific
applications or environments with unique requirements. Unlike
general-purpose operating systems (like Windows, Linux, or
mac(OS), special-purpose systems are tailored to meet the specific
needs of particular devices or industries. Here are some examples
of special-purpose operating systems:

1. **Real-Time Operating Systems (RTOS):**


- **Purpose:** RTOS is designed to meet strict timing
constraints and deliver deterministic responses in real-time
applications.
- **Applications:** Used in embedded systems, industrial
automation, robotics, medical devices, and control systems.

2. **Mobile Operating Systems:**


- **Purpose:** Designed for mobile devices such as smartphones
and tablets.
- **Examples:** Android, iOS, and Windows Mobile.
- **Features:** Optimized for touch interfaces, power efficiency,
and mobile app ecosystems.

3. **Embedded Operating Systems:**


- **Purpose:** Tailored for embedded systems with limited
resources and specific functions.
- **Applications:** Found in devices like smart appliances, IoT
devices, embedded controllers, and automotive systems.
- **Examples:** FreeRTOS, VxWorks, and Embedded Linux.

4. **Network Operating Systems:**


- **Purpose:** Focus on providing networking capabilities and
services.
- **Applications:** Used in servers, routers, switches, and other
network devices.
- **Examples:** Cisco IOS, Juniper Junos, and Microsoft
Windows Server (networking features).

5. **Kiosk Systems:**
- **Purpose:** Designed for interactive kiosk applications.
- **Applications:** Used in public information kiosks such as
ATM’s, self-service terminals, and interactive displays.
- **Features:** Limited functionality to the specific tasks of the
kiosk.

Special-purpose operating systems are tailored to provide


optimized functionality for specific domains, ensuring efficient
operation and meeting the unique requirements of diverse
applications and industries.
Operating Systems Structures-Operating
System Services and Systems Calls:
Operating system services and system calls are essential
components that enable applications and users to interact with
the operating system. They provide a means for processes to
request various services and resources from the operating system.
Here's an overview:

### Operating System Services:

1. **Program Execution:**
- The OS loads programs into memory and schedules them for
execution.

2. **I/O Operations:**
- Manages input and output operations for devices like disks,
network interfaces, and printers.

3. **File System Manipulation:**


- Provides services for creating, deleting, reading, and writing
files.
- Manages file permissions and directory structures.
4. **Communication Services:**
- Facilitates communication and data exchange between
processes, either within the same computer or across a network.

5. **Error Detection and Handling:**


- Detects errors during program execution and takes appropriate
actions.
- Provides error messages and logs for diagnostics.

6. **Resource Allocation:**
- Manages system resources such as CPU time, memory, and
device access.
- Allocates resources efficiently to maximize system
performance.

### System Calls:


System calls are functions provided by the operating system that
processes can invoke to request specific services.

1. **Process Control System Calls:**


- `fork()`: Creates a new process.
- `exec()`: Replaces the current process with a new one.
- `exit()`: Terminates a process.
2. **File Management System Calls:**
- `open()`: Opens a file for reading or writing.
- `read()`: Reads data from a file.
- `write()`: Writes data to a file.
- `close()`: Closes a file.

3. **Communication System Calls:**


- `pipe()`: Creates an inter-process communication channel
(pipe).
- `msgget()`, `msgrcv()`, `msgsnd()`: Perform message queue
operations.

4. **Memory Management System Calls:**


- `brk()`, `sbrk()`: Adjust the program's data space (heap).

5. **Security System Calls:**


- `chmod()`: Changes the permissions of a file.
- `chown()`: Changes the owner of a file.

System calls provide a crucial link between user-level applications


and the underlying operating system services.
System Programs:
System programs are software programs that provide a
convenient environment for users and application programs to
interact with the computer system. Here are common types of
system programs in operating systems:
1. **Text Editors:**
- **Purpose:** Create and modify text files.
- **Examples:** Notepad, Vi, Emacs.
2. **Language Translators:**
- **Purpose:** Translate source code written in programming
languages to machine code.
- **Examples:** Compilers, assemblers, interpreters.
3. **Loaders:**
- **Purpose:** Load executable files into memory for execution.
- **Examples:** Absolute loaders, relocatable loaders.
4. **Linkers:**
- **Purpose:** Combine multiple object files into a single
executable program.
- **Examples:** Link editors, dynamic linkers.

5. **Shell Programs:**
- **Purpose:** Provide a command-line interface for users to
interact with the operating system.
- **Examples:** Bash, PowerShell, Command Prompt.
Operating Systems Generation:
The term "generation" in the context of operating systems
typically refers to the evolution or development stages that
operating systems have gone through over time. Operating
systems have evolved through multiple generations, with each
generation introducing new features, capabilities, and
improvements. Here's a general overview of the generations of
operating systems:
### First Generation (1940s-1950s):
- **Key Characteristics:**
- Vacuum tubes and punched cards were used for input and
output.
- Operating systems were limited, and programs were written in
machine language.

### Second Generation (1950s-1960s):


- **Key Characteristics:**
- Transistors replaced vacuum tubes, leading to smaller and
more reliable computers.
- Assembly languages and early high-level languages (Fortran,
COBOL) emerged.
- Introduction of batch processing systems and
multiprogramming.
### Third Generation (1960s-1970s):
- **Key Characteristics:**
- Integrated Circuits (ICs) became widespread.
- Time-sharing systems and interactive computing emerged.
- Introduction of high-level programming languages (C, ALGOL).
- Development of operating systems with more advanced
features.

### Fourth Generation (1970s-Present):


- **Key Characteristics:**
- Microprocessors and microcomputers became common.
- The rise of personal computers and workstations.
- Introduction of graphical user interfaces (GUIs) and windowing
systems.
- Development of networked operating systems.

### Fifth Generation (Present and Beyond):


- **Key Characteristics:**
- Focus on artificial intelligence, natural language processing,
and advanced user interfaces.
- Integration of distributed and cloud computing concepts.
- Emphasis on parallel and quantum computing.
It's important to note that these "generations" are not strictly
defined, and the evolution of operating systems is ongoing.
Modern operating systems incorporate elements from multiple
generations, and advancements continue to shape the landscape
of operating system development.

You might also like