📚 Seth MB

Search

Search IconIcon to open search

Systems software

Last updated May 26, 2023 Edit Source

share_title="Look at this page from SethMB.xyz" share_description="https://sethmb.xyz/sixth/CompSci/Theory/SystemsSoftware/" author="@saluki@fosstodon.org"

# Hardware vs Software

# System Software

# Application Software

# Operating Systems

Operating System Functionalities:

# Layers in an operating system

The kernel is the component of the operating system that handles the interaction with physical hardware.

Actions are taken based on the priority of the request.

# Human-computer interface

# GUI

A graphical environment where you can use a mouse or touchscreen to interact with UI objects.

# CLI

Direct text-based interface with the computer. Faster, more flexible and efficient than a GUI, but harder to use.

# BIOS (basic input/output system)

# Managing the CPU

# Multitasking

# Scheduling

The “scheduler” is the module that manages this process

# Scheduling Algorithms

First come, first served: FCFS works simply by processing jobs in the order they are submitted.

Shortest Job First: SJF always executes the shortest task first.

Round Robin: Each job is allocated a time slice, which is a limited amount of CPU time. A job can also be put on hold if a high priority interrupt occurs.

Shortest remaining time: Whichever job will be finished first will be done next. Reducing the number of waiting jobs is one of the main benefits of this. It does need to calculate how long each job would take to finish, giving it some delays.

Multiple level feedback queues: Processes are separated into categories based on their need for the processor. They can be moved between queues as needed.

# Memory Management

# Segmentation

The memory required from process X is split into two parts.

This allows you to utilize all free memory.

# Paging

Alternatively, the memory can also be split into equally sized blocks called pages.

The information of which page is allocated to which process is maintained in a table.

# Virtual memory

Using a swap file can be called paging.

# Control of input-output devices

The peripheral devices are controlled using protocols and device drivers.

# Protocols

# Device drivers

# File Management Systems

# Interrupts

# Buffers

Buffers and interrupts are used in conjunction.

# Maintenance utilities: Disk defragmentation

# Types of OS

Distributed operating system: Offers parallel processing system by sharing the load over multiple servers that are interlinked. A job is divided into simple tasks and each task is sent out over the network for the worker nodes to complete.

Multi-tasking system: Are used in laptops and personal computers, where multiple processes run simultaneously. The processor rapidly switches between processes, so it appears that multiple tasks are being completed simultaneously.

Multi-user multi-tasking system: Based on time-sharing and implements efficient processor scheduling algorithms to divide the time between multiple users. In this system, numerous users are connected to one mainframe.

Embedded operating systems: Are designed to perform a single task. Very limited resources. No permanent storage is provided. Accepts inputs from sensors and sends output to control devices.

Examples include (certain): microwaves, missiles, automatic lights/doors, heating systems, many industrial systems.

Real time operating systems: Mission critical systems that must be highly reliable, as their failure may have an impact on human lives. Meant to be fault tolerant with redundancy and fail safes.

Examples include: ECGs, ATC, Nuclear reactors, elements of mobile phones, satellites.

RTOS tend to duplicate critical infrastructure to allow for a backup to take over in the event of an emergency.

OS for mobile and handheld devices: User interface, hardware operations and radio.

Effectively two systems, one is real time and the other is mainly an interface.

# Virtual Machines

Theory