SlideShare a Scribd company logo
Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Chapter 2: Operating-System
Structures
2.2 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Chapter 2: Operating-System Structures
 System Calls
 Types of System Calls
 System Programs
 Operating System Design and Implementation
 Operating System Structure
 Operating System Debugging
 Operating System Generation
 System Boot
2.3 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Objectives
 To describe the services an operating system provides to
users, processes, and other systems
 To discuss the various ways of structuring an operating
system
 To explain how operating systems are installed and
customized and how they boot
2.4 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
A View of Operating System Services
2.5 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Calls
 Programming interface to the services provided by the OS
 Typically written in a high-level language (C or C++)
 Mostly accessed by programs via a high-level
Application Programming Interface (API) rather than
direct system call use
 Three most common APIs are Win32 API for Windows,
POSIX API for POSIX-based systems (including virtually
all versions of UNIX, Linux, and Mac OS X), and Java API
for the Java virtual machine (JVM)
Note that the system-call names used throughout this
text are generic
2.6 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Example of System Calls
 System call sequence to copy the contents of one file to another file
2.7 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Example of Standard API
2.8 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Call Implementation
 Typically, a number associated with each system call
 System-call interface maintains a table indexed according to
these numbers
 The system call interface invokes the intended system call in OS
kernel and returns status of the system call and any return values
 The caller need know nothing about how the system call is
implemented
 Just needs to obey API and understand what OS will do as a
result call
 Most details of OS interface hidden from programmer by API
 Managed by run-time support library (set of functions built
into libraries included with compiler)
2.9 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
API – System Call – OS Relationship
2.10 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Call Parameter Passing
 Often, more information is required than simply identity of desired
system call
 Exact type and amount of information vary according to OS
and call
 Three general methods used to pass parameters to the OS
 Simplest: pass the parameters in registers
 In some cases, may be more parameters than registers
 Parameters stored in a block, or table, in memory, and
address of block passed as a parameter in a register
 This approach taken by Linux and Solaris
 Parameters placed, or pushed, onto the stack by the program
and popped off the stack by the operating system
 Block and stack methods do not limit the number or length of
parameters being passed
2.11 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Parameter Passing via Table
2.12 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Types of System Calls
 Process control
 create process, terminate process
 end, abort
 load, execute
 get process attributes, set process attributes
 wait for time
 wait event, signal event
 allocate and free memory
 Dump memory if error
 Debugger for determining bugs, single step execution
 Locks for managing access to shared data between processes
2.13 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Types of System Calls
 File management
 create file, delete file
 open, close file
 read, write, reposition
 get and set file attributes
 Device management
 request device, release device
 read, write, reposition
 get device attributes, set device attributes
 logically attach or detach devices
2.14 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Types of System Calls (Cont.)
 Information maintenance
 get time or date, set time or date
 get system data, set system data
 get and set process, file, or device attributes
 Communications
 create, delete communication connection
 send, receive messages if message passing model to host
name or process name
 From client to server
 Shared-memory model create and gain access to memory
regions
 transfer status information
 attach and detach remote devices
2.15 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Types of System Calls (Cont.)
 Protection
 Control access to resources
 Get and set permissions
 Allow and deny user access
2.16 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Examples of Windows and Unix System Calls
2.17 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Standard C Library Example
 C program invoking printf() library call, which calls write() system call
2.18 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Example: MS-DOS
 Single-tasking
 Shell invoked when system
booted
 Simple method to run
program
 No process created
 Single memory space
 Loads program into memory,
overwriting all but the kernel
 Program exit -> shell
reloaded
At system startup running a program
2.19 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Example: FreeBSD
 Unix variant
 Multitasking
 User login -> invoke user’s choice of
shell
 Shell executes fork() system call to create
process
 Executes exec() to load program into
process
 Shell waits for process to terminate or
continues with user commands
 Process exits with:
 code = 0 – no error
 code > 0 – error code
2.20 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Programs
 System programs provide a convenient environment for program
development and execution. They can be divided into:
 File manipulation
 Status information sometimes stored in a File modification
 Programming language support
 Program loading and execution
 Communications
 Background services
 Application programs
 Most users’ view of the operation system is defined by system
programs, not the actual system calls
2.21 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Programs
 Provide a convenient environment for program development and
execution
 Some of them are simply user interfaces to system calls; others
are considerably more complex
 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
 Typically, these programs format and print the output to the
terminal or other output devices
 Some systems implement a registry - used to store and
retrieve configuration information
2.22 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Programs (Cont.)
 File modification
 Text editors to create and modify files
 Special commands to search contents of files or perform
transformations of the text
 Programming-language support - Compilers, assemblers,
debuggers and interpreters sometimes provided
 Program loading and execution- Absolute loaders, relocatable
loaders, linkage editors, and overlay-loaders, debugging systems
for higher-level and machine language
 Communications - Provide the mechanism for creating virtual
connections among processes, users, and computer systems
 Allow users to send messages to one another’s screens,
browse web pages, send electronic-mail messages, log in
remotely, transfer files from one machine to another
2.23 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Programs (Cont.)
 Background Services
 Launch at boot time
 Some for system startup, then terminate
 Some from system boot to shutdown
 Provide facilities like disk checking, process scheduling, error
logging, printing
 Run in user context not kernel context
 Known as services, subsystems, daemons
 Application programs
 Don’t pertain to system
 Run by users
 Not typically considered part of OS
 Launched by command line, mouse click, finger poke
2.24 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
2.25 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Operating-System Debugging
 Debugging is finding and fixing errors, or bugs
 OS generate log files containing error information
 Failure of an application can generate core dump file capturing
memory of the process
 Operating system failure can generate crash dump file containing
kernel memory
 Beyond crashes, performance tuning can optimize system performance
 Sometimes using trace listings of activities, recorded for analysis
 Profiling is periodic sampling of instruction pointer to look for
statistical trends
Kernighan’s Law: “Debugging is twice as hard as writing the code in the
first place. Therefore, if you write the code as cleverly as possible, you
are, by definition, not smart enough to debug it.”
2.26 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Performance Tuning
 Improve performance by
removing bottlenecks
 OS must provide means of
computing and displaying
measures of system
behavior
 For example, “top” program
or Windows Task Manager
2.27 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
DTrace
 DTrace tool in Solaris,
FreeBSD, Mac OS X allows
live instrumentation on
production systems
 Probes fire when code is
executed within a provider,
capturing state data and
sending it to consumers of
those probes
 Example of following
XEventsQueued system call
move from libc library to
kernel and back
2.28 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
Dtrace (Cont.)
 DTrace code to record
amount of time each
process with UserID 101 is
in running mode (on CPU)
in nanoseconds
2.29 Silberschatz, Galvin and Gagne ©2013
Operating System Concepts – 9th Edition
System Boot
 When power initialized on system, execution starts at a fixed
memory location
 Firmware ROM used to hold initial boot code
 Operating system must be made available to hardware so hardware
can start it
 Small piece of code – bootstrap loader, stored in ROM or
EEPROM locates the kernel, loads it into memory, and starts it
 Sometimes two-step process where boot block at fixed
location loaded by ROM code, which loads bootstrap loader
from disk
 Common bootstrap loader, GRUB, allows selection of kernel from
multiple disks, versions, kernel options
 Kernel loads and system is then running

More Related Content

What's hot

File Management in Operating System
File Management in Operating SystemFile Management in Operating System
File Management in Operating System
Janki Shah
 
Page replacement algorithms
Page replacement algorithmsPage replacement algorithms
Page replacement algorithms
Piyush Rochwani
 
CS9222 Advanced Operating System
CS9222 Advanced Operating SystemCS9222 Advanced Operating System
CS9222 Advanced Operating System
Kathirvel Ayyaswamy
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
SHIKHA GAUTAM
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
Prajakta Rane
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
Harshith Meela
 
Process management os concept
Process management os conceptProcess management os concept
Process management os concept
priyadeosarkar91
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
Prakhar Maurya
 
Client Centric Consistency Model
Client Centric Consistency ModelClient Centric Consistency Model
Client Centric Consistency Model
Rajat Kumar
 
Introduction to System Calls
Introduction to System CallsIntroduction to System Calls
Introduction to System Calls
Vandana Salve
 
file system in operating system
file system in operating systemfile system in operating system
file system in operating system
tittuajay
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
Sunita Sahu
 
System call
System callSystem call
System call
shahadat hossain
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
Ashikapokiya12345
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
Maurvi04
 
Architecture of operating system
Architecture of operating systemArchitecture of operating system
Architecture of operating system
Supriya Kumari
 
Linux process management
Linux process managementLinux process management
Linux process management
Raghu nath
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
OECLIB Odisha Electronics Control Library
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
Ravindra Raju Kolahalam
 
The role of the parser and Error recovery strategies ppt in compiler design
The role of the parser and Error recovery strategies ppt in compiler designThe role of the parser and Error recovery strategies ppt in compiler design
The role of the parser and Error recovery strategies ppt in compiler design
Sadia Akter
 

What's hot (20)

File Management in Operating System
File Management in Operating SystemFile Management in Operating System
File Management in Operating System
 
Page replacement algorithms
Page replacement algorithmsPage replacement algorithms
Page replacement algorithms
 
CS9222 Advanced Operating System
CS9222 Advanced Operating SystemCS9222 Advanced Operating System
CS9222 Advanced Operating System
 
Agreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared MemoryAgreement Protocols, distributed File Systems, Distributed Shared Memory
Agreement Protocols, distributed File Systems, Distributed Shared Memory
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
Operating Systems
Operating SystemsOperating Systems
Operating Systems
 
Process management os concept
Process management os conceptProcess management os concept
Process management os concept
 
Threads (operating System)
Threads (operating System)Threads (operating System)
Threads (operating System)
 
Client Centric Consistency Model
Client Centric Consistency ModelClient Centric Consistency Model
Client Centric Consistency Model
 
Introduction to System Calls
Introduction to System CallsIntroduction to System Calls
Introduction to System Calls
 
file system in operating system
file system in operating systemfile system in operating system
file system in operating system
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
System call
System callSystem call
System call
 
String matching algorithms
String matching algorithmsString matching algorithms
String matching algorithms
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
 
Architecture of operating system
Architecture of operating systemArchitecture of operating system
Architecture of operating system
 
Linux process management
Linux process managementLinux process management
Linux process management
 
Client Server Architecture ppt
Client Server Architecture pptClient Server Architecture ppt
Client Server Architecture ppt
 
Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]Inter Process Communication Presentation[1]
Inter Process Communication Presentation[1]
 
The role of the parser and Error recovery strategies ppt in compiler design
The role of the parser and Error recovery strategies ppt in compiler designThe role of the parser and Error recovery strategies ppt in compiler design
The role of the parser and Error recovery strategies ppt in compiler design
 

Similar to System Calls.ppt

Unit 1 ppt
Unit 1 pptUnit 1 ppt
Unit 1 ppt
GRajendra
 
MODULE 2.ppt
MODULE 2.pptMODULE 2.ppt
MODULE 2.ppt
MohitJain21BCE1523
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
Sami Mughal
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
neeraj852572
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
ch2.pptch2.ppt
Operating-System Structures
Operating-System StructuresOperating-System Structures
Operating-System Structures
K Gowsic Gowsic
 
ch2- os.pptx
ch2- os.pptxch2- os.pptx
ch2- os.pptx
MuhammadSubtain9
 
ch2.ppt
ch2.pptch2.ppt
Ch2
Ch2Ch2
Operating System - Unit I - Operating System Structures
Operating System - Unit I - Operating System StructuresOperating System - Unit I - Operating System Structures
Operating System - Unit I - Operating System Structures
cscarcas
 
Chapter 2: Operating System Structures
Chapter 2: Operating System StructuresChapter 2: Operating System Structures
Chapter 2: Operating System Structures
Shafaan Khaliq Bhatti
 
Operation system structure
Operation system structureOperation system structure
Operation system structure
brysan30
 
W5 system call, DD, OS structure.ppt
W5 system call, DD, OS structure.pptW5 system call, DD, OS structure.ppt
W5 system call, DD, OS structure.ppt
iqrayounus5
 
Operating system structures
Operating system structuresOperating system structures
Operating system structures
PrathamKotian3
 
2 os structure
2 os structure2 os structure
2 os structure
BaliThorat1
 
Ch2
Ch2Ch2
Ch2
nubinny
 

Similar to System Calls.ppt (20)

Unit 1 ppt
Unit 1 pptUnit 1 ppt
Unit 1 ppt
 
MODULE 2.ppt
MODULE 2.pptMODULE 2.ppt
MODULE 2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
Operating-System Structures
Operating-System StructuresOperating-System Structures
Operating-System Structures
 
ch2- os.pptx
ch2- os.pptxch2- os.pptx
ch2- os.pptx
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
Ch2
Ch2Ch2
Ch2
 
Operating System - Unit I - Operating System Structures
Operating System - Unit I - Operating System StructuresOperating System - Unit I - Operating System Structures
Operating System - Unit I - Operating System Structures
 
Chapter 2: Operating System Structures
Chapter 2: Operating System StructuresChapter 2: Operating System Structures
Chapter 2: Operating System Structures
 
Operation system structure
Operation system structureOperation system structure
Operation system structure
 
W5 system call, DD, OS structure.ppt
W5 system call, DD, OS structure.pptW5 system call, DD, OS structure.ppt
W5 system call, DD, OS structure.ppt
 
Operating system structures
Operating system structuresOperating system structures
Operating system structures
 
2 os structure
2 os structure2 os structure
2 os structure
 
Ch2
Ch2Ch2
Ch2
 

More from infomerlin

GSC-21_029_4_09_TSDSI-R1-1.pptx
GSC-21_029_4_09_TSDSI-R1-1.pptxGSC-21_029_4_09_TSDSI-R1-1.pptx
GSC-21_029_4_09_TSDSI-R1-1.pptx
infomerlin
 
sat-ppt.pptx
sat-ppt.pptxsat-ppt.pptx
sat-ppt.pptx
infomerlin
 
Paging.ppt
Paging.pptPaging.ppt
Paging.ppt
infomerlin
 
Page Replacement Algorithms.pptx
Page Replacement Algorithms.pptxPage Replacement Algorithms.pptx
Page Replacement Algorithms.pptx
infomerlin
 
Segmentation.ppt
Segmentation.pptSegmentation.ppt
Segmentation.ppt
infomerlin
 
Allocating of Frames.pptx
Allocating of Frames.pptxAllocating of Frames.pptx
Allocating of Frames.pptx
infomerlin
 
Contiguous Memory Allocation.ppt
Contiguous Memory Allocation.pptContiguous Memory Allocation.ppt
Contiguous Memory Allocation.ppt
infomerlin
 
Allocating Kernel Memory.pptx
Allocating Kernel Memory.pptxAllocating Kernel Memory.pptx
Allocating Kernel Memory.pptx
infomerlin
 
Deadlock Detection.pptx
Deadlock Detection.pptxDeadlock Detection.pptx
Deadlock Detection.pptx
infomerlin
 
Deadlock Prevention.pptx
Deadlock Prevention.pptxDeadlock Prevention.pptx
Deadlock Prevention.pptx
infomerlin
 
Frame detection.pdf
Frame detection.pdfFrame detection.pdf
Frame detection.pdf
infomerlin
 
Deadlock Backgroud.pptx
Deadlock Backgroud.pptxDeadlock Backgroud.pptx
Deadlock Backgroud.pptx
infomerlin
 
5G Hackathon - Brainstorming Session.pptx
5G Hackathon - Brainstorming Session.pptx5G Hackathon - Brainstorming Session.pptx
5G Hackathon - Brainstorming Session.pptx
infomerlin
 
LNA.ppt
LNA.pptLNA.ppt
LNA.ppt
infomerlin
 
Lecture 4.pptx
Lecture 4.pptxLecture 4.pptx
Lecture 4.pptx
infomerlin
 
Lec 6 OS structure and Operations.ppt
Lec 6 OS structure and Operations.pptLec 6 OS structure and Operations.ppt
Lec 6 OS structure and Operations.ppt
infomerlin
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
infomerlin
 
Lecture-2 Signal-Spectra-Modulation.pptx
Lecture-2 Signal-Spectra-Modulation.pptxLecture-2 Signal-Spectra-Modulation.pptx
Lecture-2 Signal-Spectra-Modulation.pptx
infomerlin
 
Noise in AM systems.ppt
Noise in AM systems.pptNoise in AM systems.ppt
Noise in AM systems.ppt
infomerlin
 
Lecture 22 Threshold effects in FM.pptx
Lecture 22 Threshold effects in FM.pptxLecture 22 Threshold effects in FM.pptx
Lecture 22 Threshold effects in FM.pptx
infomerlin
 

More from infomerlin (20)

GSC-21_029_4_09_TSDSI-R1-1.pptx
GSC-21_029_4_09_TSDSI-R1-1.pptxGSC-21_029_4_09_TSDSI-R1-1.pptx
GSC-21_029_4_09_TSDSI-R1-1.pptx
 
sat-ppt.pptx
sat-ppt.pptxsat-ppt.pptx
sat-ppt.pptx
 
Paging.ppt
Paging.pptPaging.ppt
Paging.ppt
 
Page Replacement Algorithms.pptx
Page Replacement Algorithms.pptxPage Replacement Algorithms.pptx
Page Replacement Algorithms.pptx
 
Segmentation.ppt
Segmentation.pptSegmentation.ppt
Segmentation.ppt
 
Allocating of Frames.pptx
Allocating of Frames.pptxAllocating of Frames.pptx
Allocating of Frames.pptx
 
Contiguous Memory Allocation.ppt
Contiguous Memory Allocation.pptContiguous Memory Allocation.ppt
Contiguous Memory Allocation.ppt
 
Allocating Kernel Memory.pptx
Allocating Kernel Memory.pptxAllocating Kernel Memory.pptx
Allocating Kernel Memory.pptx
 
Deadlock Detection.pptx
Deadlock Detection.pptxDeadlock Detection.pptx
Deadlock Detection.pptx
 
Deadlock Prevention.pptx
Deadlock Prevention.pptxDeadlock Prevention.pptx
Deadlock Prevention.pptx
 
Frame detection.pdf
Frame detection.pdfFrame detection.pdf
Frame detection.pdf
 
Deadlock Backgroud.pptx
Deadlock Backgroud.pptxDeadlock Backgroud.pptx
Deadlock Backgroud.pptx
 
5G Hackathon - Brainstorming Session.pptx
5G Hackathon - Brainstorming Session.pptx5G Hackathon - Brainstorming Session.pptx
5G Hackathon - Brainstorming Session.pptx
 
LNA.ppt
LNA.pptLNA.ppt
LNA.ppt
 
Lecture 4.pptx
Lecture 4.pptxLecture 4.pptx
Lecture 4.pptx
 
Lec 6 OS structure and Operations.ppt
Lec 6 OS structure and Operations.pptLec 6 OS structure and Operations.ppt
Lec 6 OS structure and Operations.ppt
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.ppt
 
Lecture-2 Signal-Spectra-Modulation.pptx
Lecture-2 Signal-Spectra-Modulation.pptxLecture-2 Signal-Spectra-Modulation.pptx
Lecture-2 Signal-Spectra-Modulation.pptx
 
Noise in AM systems.ppt
Noise in AM systems.pptNoise in AM systems.ppt
Noise in AM systems.ppt
 
Lecture 22 Threshold effects in FM.pptx
Lecture 22 Threshold effects in FM.pptxLecture 22 Threshold effects in FM.pptx
Lecture 22 Threshold effects in FM.pptx
 

Recently uploaded

ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
JamalHussainArman
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Christina Lin
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
zubairahmad848137
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
gerogepatton
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
Madan Karki
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
mahammadsalmanmech
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
171ticu
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
HODECEDSIET
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
IJECEIAES
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
ihlasbinance2003
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
NazakatAliKhoso2
 

Recently uploaded (20)

ML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptxML Based Model for NIDS MSc Updated Presentation.v2.pptx
ML Based Model for NIDS MSc Updated Presentation.v2.pptx
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesHarnessing WebAssembly for Real-time Stateless Streaming Pipelines
Harnessing WebAssembly for Real-time Stateless Streaming Pipelines
 
Casting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdfCasting-Defect-inSlab continuous casting.pdf
Casting-Defect-inSlab continuous casting.pdf
 
International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...International Conference on NLP, Artificial Intelligence, Machine Learning an...
International Conference on NLP, Artificial Intelligence, Machine Learning an...
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
Manufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptxManufacturing Process of molasses based distillery ppt.pptx
Manufacturing Process of molasses based distillery ppt.pptx
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
 
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样官方认证美国密歇根州立大学毕业证学位证书原版一模一样
官方认证美国密歇根州立大学毕业证学位证书原版一模一样
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEMTIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
TIME DIVISION MULTIPLEXING TECHNIQUE FOR COMMUNICATION SYSTEM
 
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
 
Textile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdfTextile Chemical Processing and Dyeing.pdf
Textile Chemical Processing and Dyeing.pdf
 

System Calls.ppt

  • 1. Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Chapter 2: Operating-System Structures
  • 2. 2.2 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Chapter 2: Operating-System Structures  System Calls  Types of System Calls  System Programs  Operating System Design and Implementation  Operating System Structure  Operating System Debugging  Operating System Generation  System Boot
  • 3. 2.3 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Objectives  To describe the services an operating system provides to users, processes, and other systems  To discuss the various ways of structuring an operating system  To explain how operating systems are installed and customized and how they boot
  • 4. 2.4 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition A View of Operating System Services
  • 5. 2.5 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Calls  Programming interface to the services provided by the OS  Typically written in a high-level language (C or C++)  Mostly accessed by programs via a high-level Application Programming Interface (API) rather than direct system call use  Three most common APIs are Win32 API for Windows, POSIX API for POSIX-based systems (including virtually all versions of UNIX, Linux, and Mac OS X), and Java API for the Java virtual machine (JVM) Note that the system-call names used throughout this text are generic
  • 6. 2.6 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Example of System Calls  System call sequence to copy the contents of one file to another file
  • 7. 2.7 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Example of Standard API
  • 8. 2.8 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Call Implementation  Typically, a number associated with each system call  System-call interface maintains a table indexed according to these numbers  The system call interface invokes the intended system call in OS kernel and returns status of the system call and any return values  The caller need know nothing about how the system call is implemented  Just needs to obey API and understand what OS will do as a result call  Most details of OS interface hidden from programmer by API  Managed by run-time support library (set of functions built into libraries included with compiler)
  • 9. 2.9 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition API – System Call – OS Relationship
  • 10. 2.10 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Call Parameter Passing  Often, more information is required than simply identity of desired system call  Exact type and amount of information vary according to OS and call  Three general methods used to pass parameters to the OS  Simplest: pass the parameters in registers  In some cases, may be more parameters than registers  Parameters stored in a block, or table, in memory, and address of block passed as a parameter in a register  This approach taken by Linux and Solaris  Parameters placed, or pushed, onto the stack by the program and popped off the stack by the operating system  Block and stack methods do not limit the number or length of parameters being passed
  • 11. 2.11 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Parameter Passing via Table
  • 12. 2.12 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Types of System Calls  Process control  create process, terminate process  end, abort  load, execute  get process attributes, set process attributes  wait for time  wait event, signal event  allocate and free memory  Dump memory if error  Debugger for determining bugs, single step execution  Locks for managing access to shared data between processes
  • 13. 2.13 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Types of System Calls  File management  create file, delete file  open, close file  read, write, reposition  get and set file attributes  Device management  request device, release device  read, write, reposition  get device attributes, set device attributes  logically attach or detach devices
  • 14. 2.14 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Types of System Calls (Cont.)  Information maintenance  get time or date, set time or date  get system data, set system data  get and set process, file, or device attributes  Communications  create, delete communication connection  send, receive messages if message passing model to host name or process name  From client to server  Shared-memory model create and gain access to memory regions  transfer status information  attach and detach remote devices
  • 15. 2.15 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Types of System Calls (Cont.)  Protection  Control access to resources  Get and set permissions  Allow and deny user access
  • 16. 2.16 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Examples of Windows and Unix System Calls
  • 17. 2.17 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Standard C Library Example  C program invoking printf() library call, which calls write() system call
  • 18. 2.18 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Example: MS-DOS  Single-tasking  Shell invoked when system booted  Simple method to run program  No process created  Single memory space  Loads program into memory, overwriting all but the kernel  Program exit -> shell reloaded At system startup running a program
  • 19. 2.19 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Example: FreeBSD  Unix variant  Multitasking  User login -> invoke user’s choice of shell  Shell executes fork() system call to create process  Executes exec() to load program into process  Shell waits for process to terminate or continues with user commands  Process exits with:  code = 0 – no error  code > 0 – error code
  • 20. 2.20 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Programs  System programs provide a convenient environment for program development and execution. They can be divided into:  File manipulation  Status information sometimes stored in a File modification  Programming language support  Program loading and execution  Communications  Background services  Application programs  Most users’ view of the operation system is defined by system programs, not the actual system calls
  • 21. 2.21 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Programs  Provide a convenient environment for program development and execution  Some of them are simply user interfaces to system calls; others are considerably more complex  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  Typically, these programs format and print the output to the terminal or other output devices  Some systems implement a registry - used to store and retrieve configuration information
  • 22. 2.22 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Programs (Cont.)  File modification  Text editors to create and modify files  Special commands to search contents of files or perform transformations of the text  Programming-language support - Compilers, assemblers, debuggers and interpreters sometimes provided  Program loading and execution- Absolute loaders, relocatable loaders, linkage editors, and overlay-loaders, debugging systems for higher-level and machine language  Communications - Provide the mechanism for creating virtual connections among processes, users, and computer systems  Allow users to send messages to one another’s screens, browse web pages, send electronic-mail messages, log in remotely, transfer files from one machine to another
  • 23. 2.23 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Programs (Cont.)  Background Services  Launch at boot time  Some for system startup, then terminate  Some from system boot to shutdown  Provide facilities like disk checking, process scheduling, error logging, printing  Run in user context not kernel context  Known as services, subsystems, daemons  Application programs  Don’t pertain to system  Run by users  Not typically considered part of OS  Launched by command line, mouse click, finger poke
  • 24. 2.24 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition
  • 25. 2.25 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Operating-System Debugging  Debugging is finding and fixing errors, or bugs  OS generate log files containing error information  Failure of an application can generate core dump file capturing memory of the process  Operating system failure can generate crash dump file containing kernel memory  Beyond crashes, performance tuning can optimize system performance  Sometimes using trace listings of activities, recorded for analysis  Profiling is periodic sampling of instruction pointer to look for statistical trends Kernighan’s Law: “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”
  • 26. 2.26 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Performance Tuning  Improve performance by removing bottlenecks  OS must provide means of computing and displaying measures of system behavior  For example, “top” program or Windows Task Manager
  • 27. 2.27 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition DTrace  DTrace tool in Solaris, FreeBSD, Mac OS X allows live instrumentation on production systems  Probes fire when code is executed within a provider, capturing state data and sending it to consumers of those probes  Example of following XEventsQueued system call move from libc library to kernel and back
  • 28. 2.28 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition Dtrace (Cont.)  DTrace code to record amount of time each process with UserID 101 is in running mode (on CPU) in nanoseconds
  • 29. 2.29 Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9th Edition System Boot  When power initialized on system, execution starts at a fixed memory location  Firmware ROM used to hold initial boot code  Operating system must be made available to hardware so hardware can start it  Small piece of code – bootstrap loader, stored in ROM or EEPROM locates the kernel, loads it into memory, and starts it  Sometimes two-step process where boot block at fixed location loaded by ROM code, which loads bootstrap loader from disk  Common bootstrap loader, GRUB, allows selection of kernel from multiple disks, versions, kernel options  Kernel loads and system is then running