Skip to main content

Posts

Showing posts from January, 2022

9. Operating System - Extra

Interrupt:   In system programming, an interrupt is a signal to the processor emitted by hardware or software indicating an event that needs immediate attention. Trap:   In computing and operating systems, a trap, also known as an exception or a fault, is typically a type of synchronous interrupt caused by an exceptional condition (e.g., breakpoint, division by zero, invalid memory access). Signal:   A signal is a software-generated interrupt that is sent to a process by the OS because when the user press ctrl-c or another process tells something to this process. There is fix set of signals that can be sent to a process. Signals are identified by integers. A signal number has symbolic names. System call:   The interface between a process and an operating system is provided by system calls. System calls are usually made when a process in user mode requires access to a resource. Then it request...

8. Operating System - Virtual Memory and Input/Output

Definition: A computer can address more memory than the amount physically installed on the system. This extra memory is actually called virtual memory and it is a section of a hard disk that's set up to emulate the computer's RAM. The main visible advantage of this scheme is that programs can be larger than physical memory. Virtual memory serves two purposes. First, it allows us to extend the use of physical memory by using disk. Second, it allows us to have memory protection, because each virtual address is translated to a physical address. Demand Paging: A demand paging system is quite similar to a paging system with swapping where processes reside in secondary memory and pages are loaded only on demand, not in advance. Page Replacement Algorithm: Page replacement algorithms are the techniques using which an Operating System decides which memory pages to swap out, write to disk when a page of memory needs to be allocated Reference String: The string of memory references i...

7.Operating System - Memory Management

Process Address Space:   The process address space is the set of logical addresses that a process references in its code. Static vs Dynamic Loading:  The choice between Static or Dynamic Loading is to be made at the time of the computer program being developed. If you have to load your program statically, then at the time of compilation, the complete programs will be compiled and linked without leaving any external program or module dependency. If you are writing a dynamically loaded program, then your compiler will compile the program and for all the modules which you want to include dynamically, only references will be provided and the rest of the work will be done at the time of execution. At the time of loading, with static loading, the absolute program (and data) is loaded into memory in order for execution to start. If you are using dynamic loading, dynamic routines of the library are stored on a disk in re-locatable form and are loaded into memory only when they a...

6. Operating System - Process Scheduling

Definition:   Process scheduling is the activity of the process manager that handles the removal of the running process from the CPU and the selection of another process on the basis of a particular strategy. Process Scheduling Queues (Job Queue, Ready Queue, Device Queue): Job queue - This queue keeps all the processes in the system. Ready queue - This queue keeps a set of all processes residing in the main memory, ready and waiting to execute. A new process is always put in this queue. Device queues - The processes which are blocked due to the unavailability of an I/O device constitute this queue. Two-State Process Model (Running, Not Running): Running: When a new process is created, it enters into the system as in the running state. Not Running: Processes that are not running are kept in a queue, waiting for their turn to execute. Scheduler (Long-Term Scheduler, Short-Term Scheduler, Medium-Term Scheduler): Schedulers are special system software that handle...

5.Operating System - Process

Process:   A process is basically a program in execution. The execution of a process must progress in a sequential fashion. To put it in simple terms, we write our computer programs in a text file and when we execute this program, it becomes a process that performs all the tasks mentioned in the program. When a program is loaded into the memory and it becomes a process, it can be divided into four sections ─ stack, heap, text and data. Program:  A computer program is a collection of instructions that performs a specific task when executed by a computer. When we compare a program with a process, we can conclude that a process is a dynamic instance of a computer program. Process Life Cycle (Start, Ready, Running, Waiting, Terminate/Exit): Process Control Block (PCB):  A Process Control Block is a data structure maintained by the Operating System for every process. The PCB is identified by an integer process ID (PID). A PCB keeps all the information needed to keep track of...

4.Operating System - Properties

Batch Processing:  Batch processing is a technique in which an Operating System collects the programs and data together in a batch before processing starts. Multitasking:  Multitasking is when multiple jobs are executed by the CPU simultaneously by switching between them. Multiprogramming:  Sharing the processor, when two or more programs reside in memory at the same time, is referred to as multiprogramming. Interactivity:  Interactivity refers to the ability of users to interact with a computer system. Real-Time System:  Real-time systems are usually dedicated, embedded systems. The Operating system must guarantee a response to events within fixed periods of time to ensure correct performance. Distributed Environment:  A distributed environment refers to multiple independent CPUs or processors in a computer system. The OS distributes computation logic among several physical processors. The processors do not share a memory or a clock. Instead, each proces...

3.Operating System - Services

Program Execution: The OS is responsible for executing programs. It loads the program into memory and executes the program. Program execution also includes process sync, process communication, and deadlock handling.  I/O Operation :  An I/O subsystem comprises I/O devices and their corresponding driver software. I/O operation means read or write operation with any file or any specific I/O device. OS provides the access to the required I/O device when required. File System Manipulation:  A file represents a collection of related information. A file system is normally organized into directories for easy navigation and usage. The operating system gives the permission to the program for operation on file. Permission varies from read-only, read-write, denied, and so on. Operating System provides an interface for the user to create/delete files. Operating System provides an interface for the user to create/delete directories. Operating System...

2. Operating System - Types

Batch Operating System:   The users of a batch operating system do not interact with the computer directly.  Each user prepares his job on an off-line device like punch cards and submits it to the computer  operator.  To speed up processing, jobs with similar needs are batched together and run as a group.  Time-Sharing Operating System:   Time-sharing is a technique that enables many people, located at various terminals, to use a particular computer system at the same time.  Processor's time which is shared among multiple users simultaneously is termed as time-sharing.  The objective is to minimize response time.  Multiple jobs are executed by the CPU by switching between them.   Distributed Operating System:   Distributed systems use multiple central processors to serve multiple real-time applications and multiple users.  Data processing jobs are distributed among the processors accordingly.  The processors communicate wi...

1. Operating System - Overview

  Definition: An operating system is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs. Memory Management:   Memory management refers to the management of Primary Memory or Main Memory. It keeps track of primary memory, i.e., what part of it is in use by whom, what parts are not in use. It allocates and de-allocates the memory when a process requests it to do so. Processor Management :   Processor Management k eeps track of the processor and the status of a process. The program responsible for this task is known as a  traffic controller . It is responsible for a llocating and de-allocating the processor (CPU) to a process. Device Management :  An Operating System manages device communication via their respective drivers.  Device Management keeps track of all devices. The program responsible for this task is known as the I/O Controller. It d ecides which process gets the d...

CPP

Basics Downloading and installing CodeBlock Creating and explaining first project Hello World – the terms (keyword, main, header file) Keyword – Keywords are reserved words for compiler whose purpose is already defined in compiler and user cannot use for personal use. E.g if, else, double, switch main – main is a necessary function to define to execute C/C++ program. Without main, we cannot run our program. Header file  - header file contains functions that perform certain tasks  Characters \n, \t, \a data types: int – 4b, float – 4b, double – 8b, char – 1b, string – equal to the number of characters variable: rules to define a variable cannot start with numbers and special characters. Only special character acceptable is _ e.g. _age Camel case: weightInKg Snake Case: weight_in_kg declaration vs initialization arithmetic operations (+, -, *, /, %) input from user – cin, getline() relational operators (>=, <=, >, <, ==, !=) if selection statement if…else – double s...