1/151
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Operating System
Is a collection of software that manages computer hardware resources and provides common services for computer programs
It is a program that acts as an interface between the user and the computer hardware and controls the execution of all kinds of programs.
Resource manager view and Extended-machine view
Two viewpoints of the operating system
Resource Manager view
The operating system’s job is to manage the different parts of the system efficiently
Extended-machine View
The job of the system is to provide users with abstractions that are more convenient to use the actual machine.
Primary goal
To provide a user-friendly and convenient environment to the users
Secondary goal
Efficiency
the operating system should perform all the management of resources in such a way that all the resources are fully utilized, and no resource should be held idle if some request to that resource is there at that instant of time
Memory management
Refers to the management of primary or main memory
Main Memory
A large array of words or bytes where each word or byte has its own address.
It provides a fast storage that can be accessed directly by the CPU
Processor Management
The OS keeps track of the processor and status of process
Allocates the processor to a process
De-allocates processor when a process is no longer needed
Process scheduling
It is when the OS decides which process gets the processor , when and for how much time.
Device management
The OS manages device communication via their respective drivers
File management
The OS keeps track of the information, location, uses, status of the file.
File system
Is normally organized into directories for easy navigation and usage
These directories may contain files and other directions
Security
This is by means of password and similar other techniques
It prevents unauthorized access to programs and data
Control over system performance
Recording delays between request for a service and response from the system
Job accounting
Keeping track of time and resources used by various jobs and users
Error detecting aids
Production of dumps, traces, error messages, and other debugging and error detecting aids
Coordination between other software and users
Refers to the coordination and assignment of compilers, interpreters, assemblers, and other software to the various users of the computer systems
Batch Operating System
This type of operating system does not interact with computer directly.
There is an operator which takes similar jobs having the same requirement and group them into batches.
Time-sharing Operating system
This system is also known as “Multitasking System“
This type of Operating system give each tasks some time to execute, so that all the tasks work smoothly.
Each user gets time of CPU as they use a single system.
Quantum
It refers to the time each task gets to execute
Distributed Operating system
It uses multiple central processors to serve multiple real time applications and multiple users.
Data processing jobs are distributed among the processors accordingly
Processors communicate with one another through various communication lines and are referred to as loosely coupled systems
Network Operating System
It is an operating system that runs on a server and provides the server the capacity to manage data, users, groups, security, applications, and other networking functions
The primary purpose of this system is to allow shared file and printer access among multiple computers in a network, typically a LAN, private network, or to other networks
Real Time Operating system
A data processing system in which time interval required to process and respond to inputs is so small that it controls the environment
Response time
The time taken by the system to respond to an input and display of required updated information
Hard real-time systems and soft real-time system
two types of real-time OS
Hard real-time systems
They guarantee that critical tasks are complete on time.
In this kind of system, secondary storage is limited or missing, and the data is stored in ROM
Soft real-time systems
These are less restrictive and critical real-time tasks get priority over other tasks and retains the priority until it completes.
These systems have limited utility than the other kind of real-time system
First Generation (1945-1955)
Uses Vacuum tubes and Plugboards
It is when electronic computers where created without any operating systems
All programming was done in absolute machine language, often by wiring up plugboards to control the machine’s basic functions
Computers around this time are used to solve simple math equations
Second Generation (1955-1965)
Transistors and Batch systems
During this time, the first operating system was made by General Motors for IBM 701 and it was called “GMOS“
Operating system in during this time were called single-stream batch operating systems because the data was submitted in groups.
Mainframe computers were introduced and were only used by professionals because of their high price tag
typical operating during this time were FMS (Fortran Monitor System) and IBMSYS.
Third Generation (1965-1980)
Integrated Circuits and Multiprogramming
Multiprogramming systems were developed which allowed computers to perform multiple jobs at the same time
The growth of minicomputers also started around this time starting with the DEC PDP-1
These microcomputers help create a new industry and the development of more PDP which helped lead to the creation of personal computers
Fourth Generation (1980-Present)
Personal computers were introduced during this time
Microsoft and Windows OS was created during this time and went to become the largest operating system used in technology today
Apple’s Macintosh was created during this time too which had a huge success due to the fact that it was so user friendly
Window’s development throughout the years were influenced by Macintosh and it created a strong competition between the two companies
Fifth Generation (1990-Present)
This generation saw the rise of mobile computers and the production of microprocessors with ten million electric components
This generation is also based on parallel processing hardware and AI software.
High level language like C and C++, Java, .Net, etc., are used in this generation
Hardware, Operating System, Application programs, Users
4 components of a computer system
Hardware
Provides basic computing resources
examples are CPU, memory, I/O devices
Operating system
Responsible for controlling and coordinating hardware with various applications and users.
Provides the means for proper used of the resources in the operation of the computer system.
Application programs
Define the ways in which the system resources are used to solve the computing problems of the users
Users
The people, machine or other computers who uses the computer
Processor, Main memory, I/O modules, System Bus
Basic Elements of a Computer
Processor
Controls the operation of the computer and performs its data processing functions.
Main memory
Stores data and programs
Typically volatile, which means the contents is lost when the computer shuts down
I/O Modules
Moves data between the computer and its external environment
External environment consists of a variety of devices including secondary memory devices, communications equipment, and terminals
System bus
Provides for communication among processors, main memory, and I/O modules
Bootstrap Program
It is loaded at power-up or reboot
Typically stored in ROM or EPROM, generally known as Firmware
It initializes all aspects of the system
loads operating system kernel and starts execution
Exceptions
Synchronous interrupts and are generated by the CPU
Interrupts
Asynchronous Interrupts and are generated by other hardware devices
Trap
Software generated interruption brought upon an error while a program is executing.
It is also called exception handling such as divide by zero, segmentation faults, page faults, and system calls.
Program, Timer, I/O, Hardware
Classes of Interruptions
Program Interruption
Generated by some condition that occurs as a result of an instruction execution, such as arithmetic overflow, division by zero, attempt to execute an illegal machine instruction, and reference outside a user’s allowed memory space
Timer Interruption
Generated by a timer within the processor
This allow the operating system to perform certain functions on a regular basis
I/O interruption
Generated by an I/O controller, to signal normal completion of an operation or to signal a variety of error conditions
Hardware Interruption
Generated by a failure, such as power failure or memory parity error
I/O stucture
It refers to how the operating system manages, controls, and communicates with all the I/O devices that the users use
Ports
A connection point used by peripheral devices to communicate with the machines.
bus
Collection of wires and a firmly defined protocol which specifies a set of messages that can be sent on the wires
Status register, data-in register, data-out register, control register
4 registers of the I/O port
Data-in register
Is read by the host for getting input
Data-out register
It is written by the host for sending output
Status register
It holds bit that can be read by the host
It also shows the current status of the device
Control Register
It is written by the host for starting a command or for changing the mode of any device
Primary Storage Devices
Also known as the main memory and is the memory directly accessible by the CPU
Read Only Memory
This memory cannot be changed, it can only be read as required
It is used by data and programs that are frequently required and seldom changed like the system boot program
Random Access Memory
It is volatile so that data stored to it is lost when the computer turns off
Major form of the memory as it is quite fast but also quite expensive
Cache
It is used to store data and instructions that are frequently required by the CPU so it doesn’t have to search for them in the main memory
Secondary Storage Devices
It is not directly accessible by the CPU
The data from this storage needs to be brought into the primary storage before the CPU can use it
Contains a large amount of data permanently
Hard disks
They are round, flat pieces of metal covered with magnetic oxide
Mostly famously used secondary storage devices
Floppy Disks
They are flexible plastic discs which can bend, coated with magnetic oxide and are covered with a plastic cover to provide protection,
Memory card
This has similar functionality to a flash drive but is in a card shape
It can easily plug into a port and removed after its work is done
Flash Drive
It helps in easy transportation of data from one system to another and is quite compact and comes with various features and designs
It is also known as pen drive
CD-ROM
Is a shiny metal disk of silver color that works like a ROM
Bit
Smallest unit of memory space
Byte
It is 8 bits and in some computers, it is the smallest convenient chunk of storage
Word
It is the given native unit of data of computer architectures.
It is made up of one or more bytes
Protection
Any mechanism for controlling access of processes or users to resources defined by the OS
Security
Defense of the system against internal and external attacks
Dual-mode Operation, I/O protection, Memory Protection, CPU protection
4 types of Hardware Protections
Dual-mode Operation
The purpose of this is to protect the system from user errors or malicious programs
The CPU operates in two modes: the User mode and the monitor mode
Mode bit is added to the computer hardware to indicate the current mode
I/O protection
All I/O instructions are privileged instructions to ensure that a user program could never gain control of the computer in monitor mode
Memory Protection
The purpose of this is to prevent a program from accessing memory that doesn’t belong to it.
It uses two registers to determine the range of legal addresses a program may access: Base Register and Limit Register.
Base Register
Holds the smallest legal physical memory address
Limit register
Contains the size of the range memory outside the defined range
CPU protection
This ensures that the CPU cannot be monopolizes by one program
Uses a timer the decrements every clock tick and generates an interrupt when it hits 0.
Timer
Interrupts computer after specialized period to ensure operating system maintains control
Process
It is a program in execution
Text section
It is the program code and also includes the current activity, as represented by the value of the program counter and the contents of the processor’s register
Process stack
It contains temporary data such as function parameters, return addresses, and local variables
Data section
Contains global variables
Heap
it is the memory that is dynamically allocated during process run time.
New, Running, Waiting, Ready, Terminated
Process states
New
The state of the process when it is being created
Running
The state of the process when the instructions are being executed
Waiting
The state of the process when it is waiting for some event to occur such as I/O completion or reception of signal
Ready
It is when the process is waiting to be assigned to a processor
Terminated
It is when the process has finished execution
Process Control Block
It contains many pieces of information associated with a specific process including process states, program counter, CPU registers, CPU scheduling Information, and memory management information.
Program Counter
Indicates the address of the next instruction to be executed for this process
CPU registers
Vary in number and type, depending on the computer architecture
They include accumulators, index registers, stack pointers, and general purpose registers, any condition-code information, and the program counter
State information must be saved when an interrupt occurs to allow the process to be continued correctly afterward
CPU-scheduling Information
This information includes a process priority, pointers to scheduling queues, and any other scheduling parameters
Memory-Management Information
This information may include such items as the value of the base and limit registers and the page tables or segment tables depending on the memory system used by the operating system
Accounting Information
This information includes the amount of CPU and real time used, time limits, account numbers, job or process number