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 More

Understanding 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
Read More

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 More

Key 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 More

Operating 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 More

Networking 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.

2. TCP Round-Trip Time (RTT)

Read More