meeting 9
meeting 9
System call (also called a monitor call): a special operation executed by the software to
trigger an interrupt.
Interrupt: an order executed by device controller to inform CPU that it has finished its
operation.
The most common secondary-storage device is a magnetic disk, which provides storage
for both programs and data.
Storage Structure: consists of registers, main memory, magnetic disks and other secondary
storage devices.
Increased throughput: By increasing the number of processors, more work can be done
in less time.
Economy of scale: Multiprocessor systems can cost less because they can share
peripherals, mass storage, and power supplies.
Increased reliability: If functions can be distributed properly among several processors,
then the failure of one processor will not halt the system, only slow it down.
Asymmetric Multiprocessing: each processor is assigned a specific task.
Symmetric Multiprocessing: each processor performs all tasks.
Multicore: in CPU design is to include multiple computing cores on a
single chip. They can be more efficient because on-chip communication
is faster than between-chip communication.
multicore systems are multiprocessor systems, but not all multiprocessor systems are
multicore.
Clustered system: This gathers together multiple CPUs. They are composed of two or more
individual systems joined together.
With the mode bit, we can distinguish between a task that is executed on behalf of the
operating system and one that is executed on behalf of the user.
When the computer system is executing on behalf of a user application, the system is in
user mode
Transition from user to kernel mode:
Process Management:
A program does nothing unless its instructions are executed by a CPU. A program in
execution is a process.
A program is a passive entity; process is an active entity.
A Process needs resources to accomplish its task (CPU, memory, I/O, files, Initialization
data).
Process termination requires reclaim of any reusable resources.
A Single-threaded process has one program counter specifying location of next
instruction to execute.
Process executes instructions sequentially, one at a time, until completion.
A Multi-threaded process has one program counter per thread.
Process management: The operating system is responsible for the following activities:
Scheduling processes and threads on the CPUs
Creating and deleting both user and system processes
Suspending and resuming processes
Providing mechanisms for process synchronization & communication
Memory management: The operating system is responsible for the following activities:
Keeping track of which parts of memory are currently being used and who is using
them
Deciding which processes and data to move into and out of memory
Allocating and deallocating memory space as needed
Storage management: The operating system is responsible for the following activities:
Creating and deleting files and directories
Supporting primitives for manipulating files and directories
Mapping files onto secondary storage
Backing up files on stable (nonvolatile) storage media
Operating system services:
User interface: Almost all operating systems have a user interface (UI). Varies
between Command-Line (CLI), Graphics User Interface (GUI), touch-screen, Batch
Program execution: The system must be able to load a program into memory and to
run that program, end execution, either normally or abnormally.
I/O operations: A running program may require I/O, which may involve a file or an
I/O device
File-system manipulation: Programs need to read and write files and directories,
create and delete them, search them, list file Information, permission management.
Communications: Processes may exchange information, on the same computer or
between computers over a network.
Error detection: OS needs to be constantly aware of possible errors
Another set of OS functions exists for ensuring the efficient operation of the system
itself via resource sharing:
Resource allocation: When multiple users or multiple jobs running concurrently,
resources must be allocated to each of them
Many types of resources: CPU cycles, main memory, file storage, I/O devices.
Logging: To keep track of which users use how much and what kinds of computer
resources.
Protection and security: The owners of information stored in a multiuser or
networked computer system may want to control use of that information, concurrent
processes should not interfere with each other.
Types of Operating Systems:
Batch Operating System: the similar jobs are grouped together into batches with the help of
some operator and these batches are executed one by one.
Time-Sharing Operating System: more than one process is being executed at a particular
time with the help of the time-sharing concept.
Distributed Operating System: we have various systems, and all these systems have their
own CPU, main memory, secondary memory, and resources. These systems are connected to
each other using a shared communication network.
Embedded Operating System: designed to perform a specific task for a particular device
which is not a computer. It allows the access of device hardware to the software that is
running on the top of the Operating System.
Real-time Operating System: is used where we are dealing with some real-time data. So, as
soon as the data comes, the execution of the process should be done and there should be
no delay. Real-time OS is a time-sharing system that is based on the concept of clock
interrupt.
Two types of real-time OS:
Main drawback: many biometrics are not secret and so can be imitated.
Authentication Mechanisms: Basis of most protection mechanisms
Two types of authentication:
External: verify the user
Usually username/password combination