CSE-1101 Chap 3
Boot strapping
(usually shortened to booting) usually refers to the process of loading the basic software into the memory of a computer after power-on or general reset, especially the operating system which will then take care of loading other software as needed.
Types of software
1. Application Software 2. System Software a) Utility Software b) Operating System
Types of User Interface
1. Graphic UI (GUI) 2. Line UI a) Command Line Interface b) Text Line Interface
History of Operating System
1. Sign-up sheets - job 2. Batch processing - computer operator - job queue a) FIFO b) priority structure - JCL 3. Interactive Processing - real-time processing - time-sharing (multi-programming)
Conditions for Deadlock
1. There is competition for nonsharable resources. 2. The resources are requested on a partial basis 3. Once a resource has been allocated, it cannot be forcibly retrieved.
Processors in Intel's Pentium series provide for four privilege levels. Why would the designers of CPUs decide to provide four levels rather than three or five?
2 bits can store upto 4 distinct addresses 5 would require an extra bit
Functions of Kernel
5 basic: 1. File management 2. Memory management 3. Device Drivers 4. Scheduler 5. Dispatcher
Master boot record
A master boot record (often shortened as MBR) is a kind of boot sector stored on a hard disk drive or other storage device that contains the necessary computer code to start the boot process. The MBR holds the information on how the logical partitions, containing file systems, are organized on that medium.
Semaphore
A properly implemented flag used to guard the "critical regions" (a sequence of instructions that should be executed by only one process at a time)
What is the difference between Application Software and Utility Software?
Application Software: performs the tasks unique to the machine's application Utility Software: Performs basic, universal tasks
How can high-priority processes be allowed to run faster than others?
By allocating longer time slices to higher priority programs
What is the difference between embedded systems and PCs?
Embedded systems often focus on dedicated tasks, whereas PCs are general-purpose computers. Embedded systems frequently have more limited resources than PCs of comparable age, but may face strict deadlines with minimal human intervention.
Spooling
Holding data for output at a later but more convenient time by making non-shareable resources appear shareable by creating the illusion of more than one device
JCL
Job Control Language
Boot loader
Permanently stored on the ROM (located on the RAM stick) which contains the instructions that loads the operating system to the main memory also called firmware e.g BIOS, EFI
What is the difference between a program and process?
Program: set of directions Process: the action of following those directions
Time-sharing
Providing service to multiple users at the same time
List the Components of a typical operating system and summarize the rule of each in a single phrase.
Shell: Communicates with the machine's environment File Manager: Coordinates the use of the machine's mass storage Device Drivers: Handle communication with the machine's peripheral devices. Memory Manager: Coordinates the use of the machine's memory. Scheduler: Coordinates the processes in the system Dispatcher: Controls the assignment of processes to CPU time.
Forking
The act of processes creating new processes to perform sub tasks (term mostly used in UNIX systems)
Process
The activity of executing a program under the control of the operating system is known as a process.
Real-time processing
The computer performs the task in accordance with deadlines in its (external real-world) environment.
Deadlock
The condition in which two or more processes are blocked from progressing because each process is waiting for a resource that is allocated to the other
Dispatcher
The dispatcher is the component of the kernel that oversees the execution of the scheduled processes. It handles the continuation and interruption of programs across time-slices
Job
The execution of each program, called a job.
Kernel
The portion of an OS that is responsible for interacting with the hardware.
If a process in a multiprogramming system could access memory cells outside its allotted area, how could it gain control of the machine?
The process could alter the operating system program so that the dispatcher gave every time slice to that process
Mutual exclusion
The requirement that only one process at a time be allowed to execute a critical region is known as mutual exclusion.
Scheduler
The scheduler maintains a record of the processes present in the computer system, introduces new processes to this pool, and removes completed processes from the pool. (process table)
Multiprogramming
The time is divided into intervals and then the execution of each job is restricted to only one interval at a time.
What is the difference between time sharing and multitasking?
Time sharing: allowing multiple users access to the same machine at the same time Multitasking: allowing a single user to perform multiple tasks at the same time
What is the difference between time-sharing and multitasking?
Time-sharing refers to more than one user accessing a machine at the same time. Multitasking refers to a user performing more than one task at the same time.
Scaling
breaking tasks into a number of subtasks compatible with the number of processors available
Load balancing
dynamically allocating tasks to the various processors so that all processors are used efficiently
FIFO
first in first out
Batch processing
the execution of jobs by collecting them in a single batch, then executing them without further interaction with the user.