System Calls
Transcript of System Calls
![Page 1: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/1.jpg)
1.3 System Call
![Page 2: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/2.jpg)
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.
![Page 3: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/3.jpg)
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.
![Page 4: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/4.jpg)
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
![Page 5: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/5.jpg)
System Call Working under Signaling
• Although most interprocess communication are planned, situations exist in which unexpected communication needed.
![Page 6: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/6.jpg)
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.
![Page 7: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/7.jpg)
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
![Page 8: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/8.jpg)
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
![Page 9: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/9.jpg)
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
![Page 10: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/10.jpg)
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
![Page 11: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/11.jpg)
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)
![Page 12: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/12.jpg)
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
![Page 13: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/13.jpg)
System Call Working under Time Management
• Example, MINIX has 4 system call that involve the time-of-day clock– TIME:Get elapsed time (return the current time in
sec :only display the starting time eg: Feb. 2, 2010)– STIME:Set elapsed time (to allow it to be read later: )– UTIME:Set a file’s “last access time ”.(to allow owner of
the file to change the time stored)– TIMES: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
![Page 14: System Calls](https://reader036.fdocuments.in/reader036/viewer/2022082511/546bc4dfb4af9f5a098b4873/html5/thumbnails/14.jpg)
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