Download presentation
Presentation is loading. Please wait.
Published byHollie Franklin Modified over 8 years ago
1
1.3 System Call
2
System Call System calls provide the interface between a running program and the operating system. System call is a method by which a program make a request to the OS Generally system calls available as assembly-language instructions System call will use by executing a software interrupt instruction.
3
Cont.. Languages defined to replace assembly language for systems programming allow system calls to be made directly (e.g., C, C++). Three general methods are used to pass parameters between a running program and the operating system: – Pass parameters in registers. – Store the parameters in a table in memory, and the table address is passed as a parameter in a register. – Push (store) the parameters onto the stack by the program, and pop off the stack by operating system.
4
System Call Working under Process Management Calls involve in Process Management – FORK : is used to create a new process. – WAITPID : is used to terminate the process. – PTRACE : is used for debugging – SETSID : create a new session and return its process group id. – BRK : is used to set the size of data segment System call related to process creation termination
5
System Call Working under Signaling Although most interprocess communication are planned, situations exist in which unexpected communication needed.
6
System Call Working under Signaling Eg: – when user accidently tell a text editor to list the entire content of long text and then realize the error, some way is needed to interrupt the editor. – User can hit the DEL key on keyboard which send a signal and stop the print – out. Signal also can be used to report certain trap detected by hardware. – When signal is sent to process that has not announced its willingness to accept the signal, the process is simply killed.
7
System Call Working under Signaling The calls in Signaling: – SIGACTION: define action to take on signal – SIGRETURN: return from signal – SIGPENDING: get the set of blocked signal – SIGSUSPEND : replace the signal mask and suspend the process The purpose of SC in signaling is handle the signal
8
System Call Working under File Management System call operate on individual files. Calls in File Management – CREAT : to create a new file fd= creat(“abc”,0751) ; create a file call abc with mode 0751 octal..specify the rwx for the owner In C, a leading by zero means that a constant is in octal Owner :7 means read- write- execute permission) Group :5 means read-execute Others :1 means execute only
9
System Call Working under File Management – OPEN: Open a file for reading, writing or both – CLOSE : Close an open file – WRITE : Write data from a buffer into a class – RENAME: Give a file a new name The purpose of SC in File Management is reading and writing file
10
System Call Working under Directory Management Example of calls involve in this section are – MKDIR : create empty directories – RMDIR : delete directories – LINK : allow the same file to appear under two or more names, often in different directory. (Eg: Allow several members of the same programming team to share common file, which each of them having the file appear in his own directory) – UNLINK : remove the directory entry The purpose is to manage the directory
11
System Call Working under Protection In MINIX every file has an 11-bit used for protection. These bit are read-write-execute bit for owner, group and others. CHMOD system call is used to change the mode of a file To a file read-only by everyone except the owner, could execute : chmod(“filename”, 0644)
12
System Call Working under Protection The other two protection bits: – 02000 : SETUID : set-user-id When any user execute a program with the SETUID bit on, for duration of that process the user’s effective uid is change to that file’s owner. – 04000 : SETGID : set –group-id When a programs execute, the gid is change to the current gid. The purpose of system call in protection is to protect information
13
System Call Working under Time Management Example, MINIX has 4 system call that involve the time-of-day clock – :Get elapsed time (return the current time in sec :only display the starting time eg: Feb. 2, 2010) – :Set elapsed time (to allow it to be read later: ) – :Set a file’s “last access time ”.(to allow owner of the file to change the time stored) – :Get the user and system times used so far (to know total user and system time used) The purpose of time Management is keeping track of time
14
Summary The heart of any operating system is the set of system call that it can handle Example for MINIX, these call can be divided into sixth group. Which are – System call related to process creation termination – Handle signal – Reading and writing files – Directory management – Protect information – Keeping track of time
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.