Operating Systems: A Deep Dive
1. Operating System Definitions
A set of algorithms and procedures/programs designed to:
- Allocate resources (any element providing a service) to processes (any running program/task). This focuses on efficacy, maximizing resource use (e.g., Unix).
- Provide a user-friendly interface. This prioritizes comfort (e.g., Windows) and utilizes a GUI (Graphical User Interface) based on WIMP technology:
- Windows
- Icons
- Mouse
- Pull-down Menus
Resource: Any factor providing a service (e.g., graphics card, data bus).
Process:
Read MoreUnderstanding Operating Systems: From Batch Processing to Multiprogramming
What is an Operating System?
An Operating System (OS) is software that manages and controls all the resources of a computer system holistically.
The First Operating Systems
- No operating system was available. Operation was done manually through the console.
- Programs were written, and the execution start address was specified.
- Magnetic tapes or punch cards were used.
- The console allowed monitoring of program implementation, and users had access to memory registers to identify program errors.
- Results were
Concurrent Applications and Operating System Scheduling
Concurrent Applications
1. Define a Competing Application and Give an Example
A competing application, also known as a concurrent application, is structured so that different parts of the code can run concurrently.
2. What is Mutual Exclusion and How is it Implemented?
Mutual exclusion prevents two or more processes from accessing the same resource simultaneously.
3. What’s Wrong with Disabling Interrupts for Mutual Exclusion?
This solution, though simple, has some limitations. First, multiprogramming
Read MoreKey Concepts in Object-Oriented Programming
Functions
A function is part of a program with a name. It can be invoked from another part of the program as often as desired. A function is a block of code that can be run as a functional unit, receive values, execute, and return a value.
Arrays
An array is a set of data that is stored contiguously in memory under the same name.
Concurrency
Concurrency distinguishes an active object from a non-active one and allows multiple objects to act concurrently.
Abstraction
Abstraction takes the most important
Read MoreOperating System Fundamentals: Types, Functions, and Architecture
Operating System Resources
The operating system manages resources such as:
- Processor
- Memory
- Input/Output
- Communication Devices
Key functions of an operating system include:
- User interface management
- Simultaneous resource access for users
- Data sharing between users
- Input/output control (disks, printers)
- Resource accounting for processes and users
- Communication management
- Secure and fast data storage organization
- Process and task planning and monitoring
System Operation Modes
The system operates in batch and real-
Read MoreNetworking Concepts and Protocols: Homework Solutions
HW 2
1. Why Does UDP Exist?
UDP provides a lightweight transport layer for sending messages without the overhead of TCP’s connection setup, error checking, and flow control.
- Uses port numbers for multiplexing/demultiplexing, allowing multiple processes to receive data uniquely.
- Includes a checksum field to detect errors, which raw IP packets do not.
- Foregoes connection setup and retransmission, making it ideal for latency-sensitive applications like gaming or video streaming.
