- Hands-On System Programming with C++
- Dr. Rian Quinn
- 289字
- 2021-07-02 14:42:27
Understanding system calls
An operating system is a piece of software designed to execute one or more applications simultaneously, while also providing the resources needed for those applications to execute. To accomplish this, the operating system must be capable of dividing hardware resources between all the applications executing on the system at the same time.
For example, most personal computers (PCs) have a single hard disk that stores all the files being used by the owner of the PC. On modern PCs, it's likely the user will want to execute several applications at once—for example, a web browser and an office suite.
Both of these applications will need exclusive access to the hard disk at various times while executing. In the case of the web browser, this might be to cache websites to disk, while in the case of the office suite, this might be to store documents.
It's the operating system's responsibility to manage the applications and their access to the hard disk, to ensure that both the web browser and the office suite are able to execute properly.
To accomplish this, operating systems provide an application programming interface (API) that applications can leverage to accomplish their tasks. Accessing the hard disk is an example of one of these tasks. The read() and write() functions are examples of APIs provided by POSIX-compliant operating systems for reading from and writing data to file descriptors.
Under the hood, these APIs make calls to the operating system using an application binary interface (ABI) called a system call. The act of making system calls to accomplish tasks provided by the operating system is called system programming, which is the main focus of this book.
- 云計算環(huán)境下的信息資源集成與服務(wù)
- Visual Studio 2015 Cookbook(Second Edition)
- Creating Mobile Apps with Sencha Touch 2
- SQL查詢:從入門到實踐(第4版)
- 數(shù)據(jù)挖掘原理與SPSS Clementine應(yīng)用寶典
- MySQL 8.x從入門到精通(視頻教學版)
- LabVIEW 完全自學手冊
- MySQL技術(shù)內(nèi)幕:SQL編程
- MySQL DBA修煉之道
- Oracle 11g+ASP.NET數(shù)據(jù)庫系統(tǒng)開發(fā)案例教程
- Filecoin原理與實現(xiàn)
- PostgreSQL高可用實戰(zhàn)
- 大數(shù)據(jù)隱私保護技術(shù)與治理機制研究
- NoSQL數(shù)據(jù)庫原理(第2版·微課版)
- Artificial Intelligence for Big Data