Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Module 5 Cosc 203 202223

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 28

Terminologies used in OS

Register: is a high speed memory located on a processor that holds


data for immediate use by the processor.
Timeslicing: for every workstation, there is only one microprocessor
running. Each task is given timeslice of the microprocessor cycles
when the timeslice is up, the task is suspended and the
microprocessor executes the next task.
Device Driver: is a software through which kernel interacts with
hardware devices.
Client: is a process that requests a service from another process (a
server). The machine on which the client process run is called
Clients.
Server: is a process that provides services to other processes called
clients. The machine on which these processes run is also called a
Server.
• Multiprogramming: In a multiprogrammed system,
the operating system simply switches to, and executes,
another job. When the job wait, the CPU is switched
to another job, and so on.
• Eventually, the first job waits and gets the CPU. As
long as at least one job needs to execute, the CPU is
never idle. Multiprogrammed systems provide an
environment in which the various system resources
(for example, CPU, memory, and peripheral devices)
are utilized effectively, but they do not provide for
user interaction with the computer system. It is the
ability to store multiple programs in memory at once
so that they can be executed concurrently.
• In a multiprogramming system, there are one or more programs loaded
in main memory which are ready to execute. Only one program at a
time is able to get the CPU for executing its instructions (i.e., there is
at most one process running on the system) while all the others are
waiting their turn.
The main idea of multiprogramming is to maximize the use of CPU
time. Indeed, suppose the currently running process is performing an
I/O task (which, by definition, does not need the CPU to be
accomplished).
• Then, the OS may interrupt that process and give the control to one of
the other in-main-memory programs that are ready to execute (i.e.
process context switching). In this way, no CPU time is wasted by the
system waiting for the I/O task to be completed, and a running process
keeps executing until either it voluntarily releases the CPU or when it
blocks for an I/O operation. Therefore, the ultimate goal of
multiprogramming is to keep the CPU busy as long as there are
processes ready to execute.
• Multiprogramming is also the ability of an operating
system to execute more than one program on a single
processor machine. More than one
task/program/job/process can reside into the main memory
at one point of time.
• Multiprocessing is the ability of an operating system to
execute more than one process simultaneously on a multi
processor machine. In this, a computer uses more than one
CPU at a time. It is a computing system that employs
more than one processor. In a multiprocessor environment
if a processor fails other processor is allowed to take over
a functions previously performed by that processor.
• Multitasking is the ability of an operating system to
execute more than one task simultaneously on a
single processor machine. No two tasks on a single
processor machine can be executed at the same
time. Actually CPU switches from one task to the
next task so quickly that appears as if all the tasks
are executing at the same time. More than one
task/program/job/process can reside into the same
CPU at one point of time.
• Multitasking is the logical extension of multiprogramming .The
concept of multitasking is quite similar to multiprogramming but
difference is that the SWITCHING BETWEEN JOBS occurs so
frequently that the users can interact with each program while it is
running.
• Multitasking: is the concurrent execution of multiple jobs often
referred to as tasks of some user in a single user system.
Fault Tolerance is the operating system ability to
handle software or hardware errors.
Shell is an application (Typically GUI or text based)
that enables a user to interact with an OS.
Response Time: is the interval from the time of
submission of a job to the system for processing to the
time the first response to the job is produced by a
system.
Single User System is a system that is intended to serve
one person at a time. It runs windows as the OS.
• Multiuser System is a system that is intended to serve many
users and is connected to the local area network that is
number of computer called Workstations are connected to a
central computer so that the central computer is shared by all
workstation.
• Process: is a unit of program in execution. It is a separately
executable unit of code that executes independently and
competes for system resources with other processes.
• Multithreading is the ability of an operating
system to execute the different parts of a program
called threads at the same time. Threads are the
light weight processes which are independent part
of a process or program.
• In multithreading system, more than one threads
are executed parallel on a single CPU. It is a
techniques that incorporates multiple threads of
execution within a process to perform parallel
activities possibly simultaneously.
questions

• Does OS manage only hardware.


• What are the primary purpose of an OS.
• Why were assembly language developed.
• How did interactive computing and its improvement in
turnaround time affects programmer productivity.
• What aspect of personal computers popularized by the Apple
Macintosh made them especially easy to learn and use.
• What are some of the benefits of open source developments.
• Which OS components perform each of the following
operations write to disk, determine which process will next,
determine where in memory a new process should be placed,
organize file on disk.
• Why is it dangerous to allow users to perform read/ write
operations to any region of disk at will?
• Which OS goals correspond to each of the following
characteristics: users cannot access services or information
without proper authorization. the OS runs on a variety of
hardware configurations. The OS supports devices that were
not available at the time of its design. Hardware failure does
not necessarily cause the system to fail.
• How does device driver contribute support to an
OS extensibility?
• What is the major difference between networked
and distributed OS?
• Why are OS more difficult to design today than 50
yrs ago?
• What is the main difference between peripheral
device such as a printer and a device such as a
processor?
• Is software written in machine language portable?
• Can server be a client?
• Why is Machine language are machine dependent?
• What are the disadvantages of machine language?
HARDWARE COMPONENTS
• Hardware components include Mainboard: serves as the
backbone for communication between hardware components,
allowing them to communicate via the electrical connections
on the board (Printed Circuit Board).
• Processor: executes machine-language instructions and
enforces protection for system resources such as main
memory
• Memory: referred to Random Access Memory (RAM). It is
the hardware in a computing device where the operating
system (OS), application programs and data in current use are
kept so they can be quickly reached by the device's processor
• Secondary storage: used to store large amounts of data
because of the limited capacity and volatility of
main/primary memory.
• Buses: is a collection of traces (or other electrical
connections) that transport information between
hardware devices.
• Peripherals Devices: A peripheral device is any hardware
device that is not required for a computer to execute
software instructions. Peripheral devices include many
types of I/O devices (e.g. printers, scanners and mice),
network devices (e.g., network interface cards and
modems) and storage devices (e.g., CD, DVD and disk
drives).
• Timer and Clocks: Timers are associated with a clock in
the system - against which a timer's expiration is
measured - when they are created. A timer begins to count
down to its expiration after having been set. Once the
timer has expired, the timer can be automatically rearmed.
• Software components include
• Processes: is the instance of a computer program that is being executed by one
or many threads
• Threads: is a flow of execution through the process code, with its own program
counter that keeps track of which instruction to execute next, system registers
which hold its current working variables, and a stack which contains the
execution history.
• File: an object on a computer that stores data, information, settings, or
commands used with a computer program
• Database: is an organized collection of data, generally stored and accessed
electronically from a computer system.
• Differentiate between a CPU and a coprocessor.
a CPU executes machine language instructions, a coprocessor
is optimized to perform special- purpose instructions.
• How might a system benefit from multiple CPUs?
How might a system benefit from the multiple
coprocessors.
• Multiple CPU would allow a system to execute more
than one program at once, multiple coprocessors could
improve performance by performing processing in
parallel with a CPU.
• What is the primary function of the mainboard
• to serves as the backbone for communication between
hardware components allowing them to communicate
via the electrical connections on the board.
• What is bootstrapping?
• is a process for loading the initial portion of the OS into
memory.
• What are the functions of bootstrapping.
- It provides instructions that enable OS to communicate with
system hardware.
• What is PCB?
• Printed Circuit Boards (PCB) is a hardware component that
provides electrical connection between devices at various
locations on the board.
• Does computers typically execute assembly code
directly?
• Though programming is faster in assembly languages
than in machine language. To increase programmer
efficiency, high level language were developed. It
require translator programs called compilers to convert
high level language program into machine language.
• What are the benefits of high level language over assembly
languages.
• C++ provides capabilities for OOP.
• Objects are reusable software components that model items
in the real world.
• OOP are easier to understand , debug and modify than
programs developed with previous techniques.
• Why must processes issue system calls to request OS
services?
• To protect the system, the OS cannot allow processes to
access OS services directly. Instead, the services that an OS
can provide to processes that are packaged into API.
Processes can access these services only through the system
call interface which essentially puts the OS control.

You might also like