Computer Network - Raj Kumar Goel Institute of Technology

download report

Transcript Computer Network - Raj Kumar Goel Institute of Technology

Paper Code : MCA 311
Course:
MCA 2nd Year,(3rd Semester)
Faculty:
Mrs. Pooja Pandey.
Mrs. Rama Chaudhary
Current Technology
video phone
Best friend
Laptop
Mobile phone / PDA
Personal digital assistant
(PDA)
Why Operating System ?
 Stand alone Computer ….
FOR WHAT ???
Is an OS essential?
 Not Necessary
 If OS is not available, application
code is responsible of conducting
duty of OS( Memory Management,
Resource Allocation etc)
It is Good Approach to have OS,
this will allow individual programs to
perform specific task not to waste time in
writing code for management task i.e.
Resource Allocation
Memory management
Manage I/O
Career Avenues
 Software Developer, System
Architect, Program Manager
 RedHat, IBM, Microsoft,
Google,
Solaris
Apple, Ubuntu,
 Courses available on Unix,
Linux, are major widely
recognized by IT industry..
Career Avenues….
Emerging trend of free OS like Linux, Google Chrome has increased
professionals demand
Mobile devices i.e Cell phones, Tablets & Phablets have
revolutionized demand of OS, Product i.e. Google’s Android , Apple’s
iOS, Blackberry’s RIM are offering huge opportunity for developers.
Advantages
 Good salary
 Innovation @ work
Disadvantages
 ERROR, can not afford
!!!
Pre-requisite
 Basic Knowledge of computer Terminology.
 Basic Knowledge of Hardware devices.
Objectives
Important Objectives of a Operating System are:
Convenience: An OS makes a computer more
convenient to use
Efficiency : An OS allows the computer resources to be
used in an efficient manner.
Focus: It allows Developers to be more focused on core
functionality, rather than investing time on
incorporating OS’s functionality in application
Learning Outcomes
 Define Operating System
 Functions of Operating System.
 Evolution of Operating System.
 System Components.
 Understanding of OS Structure.
 Operating System Services.
 System Calls.
 System Programs.
 Virtual Machine
Computer System
Operating System
Definition of Operating System
OS acts as an interface between the application programs and
the machine hardware.
An operating system run on a computer hardware and serve as a
platform for other software s to run on the computer system.
.
OS explained…
A program that runs on the
“raw” hardware and supports
Abstracts and standardizes
the interface to the user
across different types of
hardware
• Resource Abstraction
• Resource Sharing
• Virtual machine hides the messy details
which must be performed
Manages the hardware
resources
• Each program gets time with the resource
• Each program gets space on the resource
May have potentially
conflicting goals:
• Use hardware efficiently
• Give maximum performance to each user
Facts
How an OS Takes Control
Function Of Operating System
.
What did the first operating system look like?
1945 to 1955
No operating system
human operators
Serial Processing
1956-1965
Transistors and batch systems
Clear distinction between designers, builders, operators,
programmers, and maintenance personnel,
I/O channel,
Read ahead
Interrupts/ exceptions
Minimal protection
1965-1980
ICs and Multiprogramming,
System 360 and S/370 family of computers,
Spooling (simultaneous peripheral operation on-line),
Time sharing, On-line storage for System programs,
User programs and data, Program libraries,
Virtual memory,
Multiprocessor configurations e.g.
When people looked
like this, we saw the
next generation
THE SECOND
WAVE OF
COMPUTING
1980-Now
• Personal computers and
workstations
• Massively parallel systems
• Any process and any thread
can run on any available
processor
General multiprocessing / MIMD
Pipelining
Computer networks
(communication aspect) -network operating systems
Array processing / SIMD
Massively parallel systems
Symmetric multiprocessing / SMD
MS-DOS and Unix
Distributed computing -distributed operating systems
Components of an operating
system
OS Structure - Simple Approach
• Not divided into
modules, Interfaces
and levels of
functionality are not
MS-DOS well separated.
provides a lot of
functionality in
little space.
UNIX System Structure
• Systems programs
• Kernel
• everything below
system call
interface and
UNIX - limited
above physical
structuring,
hardware.
has 2
• Filesystem, CPU
separable
scheduling,
parts
memory
management
Layered OS Structure
OS divided into number of layers bottom layer is hardware, highest
layer is the user interface.
Each layer uses functions and
services of only lower-level layers.
THE Operating System Kernel has
successive layers of abstraction
Layered Operating System
Operating System Services
Services that provide user-interfaces to OS
• Program execution - load program into memory and run it
• I/O Operations - since users cannot execute I/O operations
directly
• File System Manipulation - read, write, create, delete files
• Communications - interprocess and intersystem
• Error Detection - in hardware, I/O devices, user programs
Services for providing efficient system operation
• Resource Allocation - for simultaneously executing jobs
• Accounting - for account billing and usage statistics
• Protection - ensure access to system resources is controlled
What is a system call?
 It provide the interface between a running
program and the operating system
 Example:- writing a simple program to read
data from one file and copy that to another file
28
Figure 1.1: Transition from User to Kernel
Mode
29
Processor Modes
 Modern processors typically can operate in 2 modes:
"user mode" and "kernel mode " .
 User mode
 processor executes normal instructions in the user's
program.
 Kernel mode
 processor executes both normal and privileged instructions
 Processor can access additional registers and memory
address space that are accessible only in kernel mode
 Types of system calls
 Process control
 File operations
 Device manipulation
 Information maintenance
 Communications
Process control: End, abort
 Load, execute
 Create process, terminate process
 Get process attributes, set process attributes
 Wait for time
 Wait event, signal event
 Allocate and free memory
File Management: Create file , delete file
 Open , close
 Read , write , reposition
 Get file attributes , set file attributes
Device management: Request device , release device
 Read , write , reposition
 Get file attributes , set file attributes
 Logically attach or detach device
Information maintenance: Get time or date , set time or date
 Get system data , set system data
 Get process, file, or device attributes
 Set process , file or device atributes
Communication: Create , delete communication connections
 Send , receive message
 Transfer status information
 Attach or detach remote devices
System calls
System calls to the operating system are further
classified according to the types of call: Normal Termination
 Abnormal termination
 Status Request
 Resource Request
 Input\ Output Request
System Programs
 System programs provide a convenient environment
for program development and execution
 Some of them are simply user interfaces to
system calls. The can be divided into:
 File manipulation
 Status information
 File modification
 Programming language support
 Program loading and execution
 Communication
 Application programs
System Programs
 File management: –
Create, delete, copy, rename, print, dump, list, and
generally manipulate files and directories
 Status information: Some ask the system for info - date, time, amount of
available memory, disk space, number of users
 Others provide detailed performance, logging, and
debugging information
System Program
 File modification:-
Several text editors may be available to create and
modify the content of files stored on disk or other
storage devices
 Programming language support:Compilers , assemblers , debuggers and interpreters for
common languages(C, C++…..) are often provided to
the user with the OS.
System Program
 Program loading and execution:-
Once a program is assembled or complied , it must be
loaded into memory to be executed
 Communication:These program provide the mechanism for creating
virtual connections among processes, users , and
computer system(allow user to send message, transfer
file from one machine to another)
 Application program:-
Virtual Machines
 A virtual machine takes the layered approach to
its logical conclusion.
 The fundamental idea behind a virtual machine
is to abstract the hardware of single computer
into several different execution environments ,
thereby creating the illusion that each separate
execution environment is running its own
private computer.
 By using CPU scheduling and virtual memory
techniques, an operating system can create the
illusion that a process has its own processor with
its own (virtual ) memory
Virtual Machines (Cont.)
Non-virtual Machine
Virtual Machine
(a) Non virtual machine (b) virtual machine
Advantages/Disadvantages of Virtual
Machines
 The virtual-machine concept provides complete
protection of system resources since each virtual
machine is isolated from all other virtual machines.
This isolation, however, permits no direct sharing of
resources.
 A virtual-machine system is a perfect vehicle for
operating-systems research and development. System
development is done on the virtual machine, instead
of on a physical machine and so does not disrupt
normal system operation.
 The virtual machine concept is difficult to implement
due to the effort required to provide an exact duplicate
to the underlying machine
Thank you