1、第5讲:The Interface of OS第二节:Overview of POSIXIntroduction HistoryFirst Research Edition (1971)Complete rewrite (4213 lines kernel)Reference architecture34 system calls18 common with PDP-7 version18 survive until todayBinary code APIAbstraction of standard I/ODevices as filesHalf Century of Unix: Hist
2、ory, Preservation, and Lessons Learned, Diomidis Spinellis, 2017Analyzing a Decade of Linux System Calls, Mojtaba Bagherzadeh, etc. ICSE 2018. . . . . . . . . . . . . . . . . . . . .Introduction History. . . . . . . . . . . . . . . . . . . . .Introduction History. . . . . . . . . . . . . . . . . . .
3、 . .Introduction The sequence of a system call. . . . . . . . . . . . . . . . . . . . .Introduction An overview of syscall data collection. . . . . . . . . . . . . . . . . . . . .Introduction An overview of syscall empirical study. . . . . . . . . . . . . . . . . . . . .Introduction Syscall Categori
4、es. . . . . . . . . . . . . . . . . . . . .Introduction sibling syscalls. . . . . . . . . . . . . . . . . . . . .Introduction new syscalls. . . . . . . . . . . . . . . . . . . . .Introduction Classifying a Decade of System Call CommitsAdd/remove: The commit was made to add or remove one or moresyste
5、m calls.Bug fix: The commit was made to fix a bug.Improvement: The commit was made to make an improvement.Restructuring: The commit was made to conduct coderestructuring, such as cleaning up comments or refactoring. . . . . . . . . . . . . . . . . . . . .Introduction The system calls with the most c
6、ommits. . . . . . . . . . . . . . . . . . . . .Introduction Classifying Bug Fixes for SysallsCompatibility: Compatibility-related bugs are caused by compatibility issuesbetween architectures (e.g., 32-bit versus 64-bit).Concurrency: Concurrency-related bugs are caused by issues with atom- icity,exec
7、ution order, synchronization or locking, and lead to problems such as deadlockor race conditions.Error code: Error code-related bugs are caused by returning the wrong error codeor handling a returned error code incorrectly.Memory: Memory-related bugs are caused by incorrect usage of the mem- ory,the
8、reby introducing an issue such as a memory leak.Semantic : Semantic bugs are bugs in the implementation of the systemcall-specific behaviour, such as the logic of the service provided by the system call.Signal handling system calls have the highest number of semantic (9.33) andcompatibility-related (1.70) bug fixes per system call. . . . . . . . . . . . . . . . . . . . .Introduction Classifying Bug Fixes for SysallsSignal handling system calls have the highest number of semantic (9.33) andcompatibility-related (1.70) bug fixes per system call. . . . . . . . . . . . . . . . . . . . .