Operating Systems

Study Notes

An operating system is the software layer that manages a computer's hardware and software resources, from allocating RAM to scheduling CPU time across running processes. This study set covers the core functions of computer operating systems, including process and memory management, CPU scheduling algorithms like Round Robin and SJF, deadlock conditions, data communication elements, the OSI model, and digital logic gates.

Notes · 60

Operating System

What is an Operating System?

An Operating System (OS) is software that manages all hardware and software resources of a computer, acting as a central controller. Examples include Windows, Linux, and Android.

Operating System

Main Functions of an OS

The main functions of an OS include Process Management (managing running programs), Memory Management (allocating RAM), File Management (handling files), Device Management (controlling I/O devices), and Security (protecting data and access).

Operating System

Process Management

Process management involves the OS deciding which processes (running programs) get to use the CPU, when, and for how long.

Operating System

Memory Management

Memory management is the OS's responsibility to determine which program uses which portion of the Random Access Memory (RAM).

Operating System

File Management

File management encompasses the OS's role in creating, deleting, reading, and writing files on storage devices.

Operating System

Device Management

Device management involves the OS controlling and coordinating the use of input and output devices such as keyboards, mice, and printers.

Operating System

Security in OS

Security features in an OS protect data, manage login passwords, and enforce user permissions to prevent unauthorized access.

Operating System

CPU Scheduling: FCFS

First-Come, First-Served (FCFS) is a CPU scheduling algorithm where processes are executed in the order they arrive, similar to a simple queue.

Operating System

CPU Scheduling: SJF

Shortest Job First (SJF) is a CPU scheduling algorithm that prioritizes and runs the process with the smallest execution time first, aiming for the fastest completion.

Operating System

CPU Scheduling: Priority Scheduling

Priority Scheduling assigns a priority level to each process, and the OS executes the process with the highest priority first.

Operating System

CPU Scheduling: Round Robin

Round Robin is a CPU scheduling algorithm where each process is given a fixed time slice (time quantum) to run. If not completed, it goes to the back of the queue. This is common in multitasking systems like Android.

Operating System

Deadlock Definition

A deadlock occurs when two or more processes are indefinitely stuck, each waiting for a resource held by another process in the cycle.

Operating System

Conditions for Deadlock

Deadlock can occur if four conditions are met: Mutual Exclusion (resources cannot be shared), Hold & Wait (a process holds resources while waiting for others), No Preemption (resources cannot be forcibly taken away), and Circular Wait (a chain of processes waiting for each other).

Operating System

Memory Management: Paging

Paging is a memory management technique where memory is divided into fixed-size blocks called pages, helping to avoid memory wastage.

Operating System

Memory Management: Segmentation

Segmentation divides memory based on the logical parts of a program, such as Code, Data, and Stack.

Operating System

Virtual Memory

Virtual memory allows the OS to use a portion of the hard disk (swap space) as an extension of RAM when the physical RAM is full.

Data Communication

What is Data Communication?

Data communication is the process of transferring data from one device to another, such as a mobile phone sending a message to a server.

Data Communication

Elements of Data Communication

The key elements of data communication are the Sender (initiates the message), Receiver (gets the message), Message (the data itself), Medium (the path for transmission, e.g., wire or wireless), and Protocol (the rules governing communication).

Data Communication

Transmission Modes: Simplex

Simplex mode allows data transmission in only one direction. An example is TV broadcasting.

Data Communication

Transmission Modes: Half Duplex

Half Duplex mode allows data transmission in both directions, but not simultaneously. A walkie-talkie operates in this mode.

Data Communication

Transmission Modes: Full Duplex

Full Duplex mode enables data transmission in both directions at the same time. A phone call is a common example.

Data Communication

Transmission Media: Guided

Guided transmission media, also known as wired media, include Twisted Pair Cable, Coaxial Cable, and Optical Fiber (which is the fastest).

Data Communication

Transmission Media: Unguided

Unguided transmission media, or wireless media, include Radio Waves, Microwaves, and Infrared.

Data Communication

OSI Model Layers

The OSI model consists of 7 layers: Physical (wires, signals), Data Link (frames, MAC address), Network (IP address, routing), Transport (TCP/UDP, reliability), Session (connection management), Presentation (encryption, formatting), and Application (user apps like browsers).

Digital Techniques

Number Systems

Common number systems include Binary (base-2, digits 0,1), Decimal (base-10, digits 0-9), Octal (base-8, digits 0-7), and Hexadecimal (base-16, digits 0-9 and A-F).

Digital Techniques

Logic Gates: AND

The AND logic gate outputs 1 only if all its inputs are 1.

Digital Techniques

Logic Gates: OR

The OR logic gate outputs 1 if at least one of its inputs is 1.

Digital Techniques

Logic Gates: NOT

The NOT logic gate inverts its input; if the input is 1, the output is 0, and vice versa.

Digital Techniques

Logic Gates: NAND

The NAND logic gate is the inverse of the AND gate; it outputs 0 only if all inputs are 1.

Digital Techniques

Logic Gates: NOR

The NOR logic gate is the inverse of the OR gate; it outputs 1 only if all inputs are 0.

Digital Techniques

Logic Gates: XOR

The XOR (Exclusive OR) logic gate outputs 1 only when its inputs are different.

Digital Techniques

Universal Gates

NAND and NOR gates are considered universal gates because any other logic gate or circuit can be constructed using only NAND or only NOR gates.

Digital Techniques

K-Map (Karnaugh Map)

A K-Map is a tabular method used to simplify Boolean expressions by grouping adjacent 1s in powers of two (1, 2, 4, 8).

Digital Techniques

Combinational Circuits: Half Adder

A Half Adder is a combinational circuit that adds two single bits and produces a Sum bit and a Carry-out bit.

Digital Techniques

Combinational Circuits: Full Adder

A Full Adder is a combinational circuit that adds three single bits (two input bits and a carry-in bit) and produces a Sum bit and a Carry-out bit.

Digital Techniques

Combinational Circuits: Multiplexer (MUX)

A Multiplexer (MUX) selects one of many input signals and forwards it to a single output line, based on control signals.

Digital Techniques

Combinational Circuits: Demultiplexer (DEMUX)

A Demultiplexer (DEMUX) takes a single input signal and routes it to one of many output lines, based on control signals.

Digital Techniques

Sequential Circuits

Sequential circuits are digital circuits whose output depends not only on the current input but also on the past sequence of inputs. They utilize memory elements like flip-flops.

Digital Techniques

Types of Flip-Flops

Common types of flip-flops, which are memory elements in sequential circuits, include SR, JK, D (most commonly used), and T flip-flops. Their state changes typically occur on a clock pulse.

C Programming

Basic C Program Structure

A basic C program includes the header file inclusion (e.g., #include ) and the main function, which is the entry point of the program. The main function typically returns an integer (e.g., return 0;).
C Programming

C Data Types: int

The 'int' data type in C is used to store whole numbers (integers).

C Programming

C Data Types: float

The 'float' data type in C is used to store single-precision floating-point numbers (numbers with decimal points).

C Programming

C Data Types: char

The 'char' data type in C is used to store single characters.

C Programming

C Data Types: double

The 'double' data type in C is used to store double-precision floating-point numbers, offering a larger range and precision than 'float'.

C Programming

Control Statements: if-else

The if-else statement in C allows for conditional execution of code. If a specified condition is true, the code block within the 'if' statement is executed; otherwise, the code block within the 'else' statement is executed.

C Programming

Loops: for loop

The 'for' loop in C is used for executing a block of code a fixed number of times. It typically involves initialization, a condition check, and an update expression.

C Programming

Loops: while loop

The 'while' loop in C repeatedly executes a block of code as long as a specified condition remains true. The condition is checked before each iteration.

C Programming

Loops: do-while loop

The 'do-while' loop in C is similar to the 'while' loop, but it guarantees that the code block is executed at least once before the condition is checked.

C Programming

Arrays in C

Arrays in C are used to store multiple values of the same data type under a single variable name. They are declared with a size, e.g., int arr[5].

C Programming

Strings in C

Strings in C are sequences of characters terminated by a null character ('\0'). Common functions for string manipulation include strlen(), strcpy(), and strcmp().

C Programming

Pointers in C

A pointer in C is a variable that stores the memory address of another variable. For example, if 'x' holds a value, 'p = &x' makes pointer 'p' store the address of 'x'.

C Programming

Important C Programs

Key C programs to learn include those for calculating Factorial, generating Fibonacci series, finding the largest element in an array, summing array elements, checking for Palindromes, and reversing strings.

Internet of Things

What is IoT?

The Internet of Things (IoT) refers to the network of physical devices embedded with sensors, software, and other technologies that enable them to connect and exchange data over the internet, allowing for automated communication and action.

Internet of Things

IoT Architecture: Perception Layer

The Perception Layer is the first layer in IoT architecture, responsible for collecting data from the physical world using sensors and interacting with the environment through actuators.

Internet of Things

IoT Architecture: Network Layer

The Network Layer in IoT architecture handles the transmission of data collected by the Perception Layer to other devices or platforms, utilizing various communication technologies like WiFi, Bluetooth, and Zigbee.

Internet of Things

IoT Architecture: Application Layer

The Application Layer is the topmost layer of IoT architecture, where user-facing applications are implemented. These applications leverage the collected and processed data to provide services in areas like smart homes, smart agriculture, and smart health.

Internet of Things

Common IoT Sensors

Common sensors used in IoT devices include Temperature sensors, Humidity sensors, Motion sensors, Infrared (IR) sensors, and Ultrasonic sensors, each designed to detect specific environmental parameters.

Internet of Things

IoT Applications

IoT has numerous applications, including automating smart homes (controlling lights, AC), enabling smart farming for optimized crop management, improving efficiency in smart industries, and facilitating remote health monitoring.

Internet of Things

Advantages of IoT

The advantages of IoT include saving time through automation, enabling seamless device interaction, improving overall efficiency, and providing real-time monitoring capabilities.

Internet of Things

Disadvantages of IoT

Potential disadvantages of IoT include security risks due to increased connectivity, dependency on internet access, and potentially high initial costs for implementation.

Frequently Asked Questions About Operating Systems

What are operating systems and what do they do?

An operating system is software that acts as a central controller between a computer's hardware and its applications. Its main responsibilities include process management, memory management, file management, device management, and security. Common examples are Windows, Linux, and Android.

What are the three most common operating systems?

The three most widely used operating systems are Windows, Linux, and Android. Windows dominates personal computers, Linux is widely used on servers, and Android leads the mobile market. Each manages hardware resources and runs applications using the same fundamental OS principles.

What is a context switch in operating systems?

A context switch happens when the OS stops one running process and saves its state so it can resume later, then loads the state of another process to run next. This is closely related to CPU scheduling algorithms like Round Robin, where each process receives a fixed time quantum before the CPU moves to the next process in the queue. Context switching is what allows multitasking systems to run multiple programs apparently at the same time.

How do operating systems handle interrupts?

When a hardware device or software event needs the CPU's attention, it sends an interrupt signal. The OS pauses the current process, saves its state, and runs an interrupt handler routine to address the request, such as reading keyboard input or responding to a timer. This mechanism ties directly into device management and process scheduling, allowing the OS to coordinate I/O devices and CPU time efficiently.

What are the four CPU scheduling algorithms covered in this material?

The four CPU scheduling algorithms in this set are First-Come First-Served (FCFS), Shortest Job First (SJF), Priority Scheduling, and Round Robin. FCFS runs processes in arrival order, SJF picks the shortest job next, Priority Scheduling runs the highest-priority process first, and Round Robin gives each process a fixed time slice before cycling to the next.

What are the four conditions required for a deadlock to occur?

A deadlock requires all four of these conditions to be present at the same time: Mutual Exclusion (a resource can only be held by one process), Hold and Wait (a process holds at least one resource while waiting for another), No Preemption (resources cannot be forcibly taken from a process), and Circular Wait (a chain of processes each waiting for a resource held by the next). If any one of these conditions is broken, a deadlock cannot form.

About Heuristica Study Notes

What are AI study notes?

AI study notes pull the main ideas out of your material and lay them out as short, organized notes. Heuristica builds them from a document, a web page, or a video so you can review the key points without rereading the whole source.

Can I create my own study notes?

Yes. Add a PDF, paste a link, or drop in a YouTube video, and Heuristica turns it into a set of study notes. You can edit any note, regroup them by topic, and save them to your library.

What can I turn into study notes?

PDFs, web pages, and YouTube videos. Heuristica reads the source, finds the points that matter, and writes them up as notes you can study from.

Can I turn study notes into flashcards or a quiz?

Yes. From any study material you can generate a new format, so a set of study notes can become flashcards or a quiz in one step. The new set is built from the same content, which keeps your study material consistent.

Is Heuristica free to use?

You can create study notes on the free plan. Paid plans raise the limits and handle longer documents.

Make Your Own Study Notes

Turn your own material into organized study notes you can edit and review.