0% found this document useful (0 votes)
15 views

meeting 9

Review

Uploaded by

Mourad Saleh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

meeting 9

Review

Uploaded by

Mourad Saleh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Operating systems

Operating system (OS): is a collection of software that manages computer hardware.


The purpose of an operating system is to provide an environment in which a user can
execute programs in a convenient and efficient manner.

 Hardware: provides basic computing resources (CPU, memory, I/O devices).


 Operating system: Controls and coordinates use of hardware among
various applications and users.
 Application programs: define the ways in which the system resources are
used to solve the computing problems (Word processors, compilers, web
browsers, database systems, video games)
 Users: People, machines, other computers
Bootstrap: an initial program stored in the hardware of a computer in read-only
memory (ROM).

Kernel: is central component of an operating system that manages operations


of computer and hardware.

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.

Registers cache main memory hard disk optical disk


Faster/smaller larger/slower

Multiprocessor systems (parallel systems, tightly-coupled systems): some systems have


two or more processors in close communication, sharing the computer bus and sometimes
the clock, memory, and peripheral devices.
Advantages of having Multiprocessors include:

 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.

 Usually sharing storage via a storage-area network (SAN)


 Provides a high-availability service which survives failures
 Asymmetric clustering: one machine is in hot-standby mode while the other is running
the applications. The hot-standby host machine does nothing but monitor the active
server. If that server fails, the hot-standby host becomes the active server.
 Symmetric clustering: two or more hosts are running applications and are monitoring
each other. This structure is more efficient; however, it does require that more than one
application be available to run.
Multiprogramming: increases CPU utilization by organizing jobs (code and data) so that the
CPU always has one to execute.
Time sharing (or multitasking): the CPU executes multiple jobs by switching among them,
but the switches occur so frequently that the users can interact with each program while it is
running.
Dual-mode: allows OS to protect itself and other system components.
Mode bit: provided by hardware. It is added to the hardware of the computer to indicate
the current mode: kernel (0) or user (1).

 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:

Hard Real-time: a small delay can lead to drastic change.


Soft Real-time: the time constraint is not that important but here also we are
dealing with some real-time data.
Security environment: Threats

Operating systems have goals:


 Confidentiality
 Integrity
 Availability
Kinds of intruders are there:
 Casual prying by nontechnical users
 Snooping by insiders
 Determined attempt to make money
 Commercial or military espionage
Other threats:

 Hardware or software error


 CPU malfunction
 Disk crash
 Program bugs (hundreds of bugs found in the most recent Linux kernel)
 Human errors
 Data entry
 Wrong tape mounted
User authentication:

Authentication using passwords:


The Login is rejected after name and incorrect password entered:
 Don’t notify the user of incorrect username until after the password is
entered!
 Early notification can make it easier to guess valid usernames
Authentication using passwords:
 A biometric: measurements of human beings that can be used to identify them
for authentication.
 A biometric security system: a security system that is based in some way on
biometrics.
 Examples of biometrics that can be used for authentication: Face; Fingerprint;
Iris pattern; Voice.

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

 May require two passwords or other identification


 Internal: verify the process
 Don’t allow one user’s process to appear to be that of another user
Authorization: is the process of giving someone permission to do or have something.

You might also like