SlideShare a Scribd company logo
1 of 29
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

Similar to System Calls.ppt

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 Structurescscarcas
 
Chapter 2: Operating System Structures
Chapter 2: Operating System StructuresChapter 2: Operating System Structures
Chapter 2: Operating System StructuresShafaan Khaliq Bhatti
 
Operation system structure
Operation system structureOperation system structure
Operation system structurebrysan30
 
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.pptiqrayounus5
 
Operating system structures
Operating system structuresOperating system structures
Operating system structuresPrathamKotian3
 
Chapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.pptChapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.pptErenJeager20
 
Chapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.pptChapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.pptalo154283
 
ch2.pptx.,;llllllllllllllllllllllllllllllllll
ch2.pptx.,;llllllllllllllllllllllllllllllllllch2.pptx.,;llllllllllllllllllllllllllllllllll
ch2.pptx.,;llllllllllllllllllllllllllllllllllabdulrahmaanwalid
 
Operating System- Structures of Operating System
Operating System- Structures of Operating SystemOperating System- Structures of Operating System
Operating System- Structures of Operating SystemJimmyWilson26
 
2.Operating System Structures
2.Operating System Structures2.Operating System Structures
2.Operating System StructuresSenthil Kanth
 
2.Operating System Structures
2.Operating System Structures2.Operating System Structures
2.Operating System StructuresSenthil Kanth
 

Similar to System Calls.ppt (20)

ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
ch2.ppt
ch2.pptch2.ppt
ch2.ppt
 
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
 
Chapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.pptChapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.ppt
 
Chapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.pptChapter 2 Operating System Structures.ppt
Chapter 2 Operating System Structures.ppt
 
ch2.pptx.,;llllllllllllllllllllllllllllllllll
ch2.pptx.,;llllllllllllllllllllllllllllllllllch2.pptx.,;llllllllllllllllllllllllllllllllll
ch2.pptx.,;llllllllllllllllllllllllllllllllll
 
Operating System- Structures of Operating System
Operating System- Structures of Operating SystemOperating System- Structures of Operating System
Operating System- Structures of Operating System
 
ch2.pptx
ch2.pptxch2.pptx
ch2.pptx
 
OS-ch02-part-1-2024.ppt
OS-ch02-part-1-2024.pptOS-ch02-part-1-2024.ppt
OS-ch02-part-1-2024.ppt
 
2.Operating System Structures
2.Operating System Structures2.Operating System Structures
2.Operating System Structures
 
2.Operating System Structures
2.Operating System Structures2.Operating System Structures
2.Operating System Structures
 

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.pptxinfomerlin
 
Page Replacement Algorithms.pptx
Page Replacement Algorithms.pptxPage Replacement Algorithms.pptx
Page Replacement Algorithms.pptxinfomerlin
 
Segmentation.ppt
Segmentation.pptSegmentation.ppt
Segmentation.pptinfomerlin
 
Allocating of Frames.pptx
Allocating of Frames.pptxAllocating of Frames.pptx
Allocating of Frames.pptxinfomerlin
 
Contiguous Memory Allocation.ppt
Contiguous Memory Allocation.pptContiguous Memory Allocation.ppt
Contiguous Memory Allocation.pptinfomerlin
 
Allocating Kernel Memory.pptx
Allocating Kernel Memory.pptxAllocating Kernel Memory.pptx
Allocating Kernel Memory.pptxinfomerlin
 
Deadlock Detection.pptx
Deadlock Detection.pptxDeadlock Detection.pptx
Deadlock Detection.pptxinfomerlin
 
Deadlock Prevention.pptx
Deadlock Prevention.pptxDeadlock Prevention.pptx
Deadlock Prevention.pptxinfomerlin
 
Frame detection.pdf
Frame detection.pdfFrame detection.pdf
Frame detection.pdfinfomerlin
 
Deadlock Backgroud.pptx
Deadlock Backgroud.pptxDeadlock Backgroud.pptx
Deadlock Backgroud.pptxinfomerlin
 
5G Hackathon - Brainstorming Session.pptx
5G Hackathon - Brainstorming Session.pptx5G Hackathon - Brainstorming Session.pptx
5G Hackathon - Brainstorming Session.pptxinfomerlin
 
Lecture 4.pptx
Lecture 4.pptxLecture 4.pptx
Lecture 4.pptxinfomerlin
 
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.pptinfomerlin
 
cs-intro-os.ppt
cs-intro-os.pptcs-intro-os.ppt
cs-intro-os.pptinfomerlin
 
Lecture-2 Signal-Spectra-Modulation.pptx
Lecture-2 Signal-Spectra-Modulation.pptxLecture-2 Signal-Spectra-Modulation.pptx
Lecture-2 Signal-Spectra-Modulation.pptxinfomerlin
 
Noise in AM systems.ppt
Noise in AM systems.pptNoise in AM systems.ppt
Noise in AM systems.pptinfomerlin
 
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.pptxinfomerlin
 

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

Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Standamitlee9823
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLManishPatel169454
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptMsecMca
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordAsst.prof M.Gokilavani
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Christo Ananth
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Christo Ananth
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxfenichawla
 

Recently uploaded (20)

Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
notes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.pptnotes on Evolution Of Analytic Scalability.ppt
notes on Evolution Of Analytic Scalability.ppt
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
(INDIRA) Call Girl Meerut Call Now 8617697112 Meerut Escorts 24x7
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...Call for Papers - International Journal of Intelligent Systems and Applicatio...
Call for Papers - International Journal of Intelligent Systems and Applicatio...
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 

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