Autosave: 2024-07-17 08:00:04
This commit is contained in:
parent
737371f1e9
commit
deb477b935
2 changed files with 31 additions and 1 deletions
BIN
.zk/notebook.db
BIN
.zk/notebook.db
Binary file not shown.
|
@ -1,7 +1,37 @@
|
|||
---
|
||||
title: Operating_system_API
|
||||
tags: []
|
||||
tags: [operating-systems]
|
||||
created: Wednesday, July 17, 2024
|
||||
---
|
||||
|
||||
# Operating system API
|
||||
|
||||
A user can interact with the operating system either via the GUI or the shell.
|
||||
(The UI is in fact an abstraction for interfacing with the shell.) When
|
||||
_programs_ interact with the operating system they use the operating system's
|
||||
API.
|
||||
|
||||
Every OS has an API. This specification details how a program should interact
|
||||
with the OS, exposing functions, properties and data types.
|
||||
|
||||
Whether using the GUI or a terminal emulator, the shell translates the user's
|
||||
commands into API calls. The API the invokes internal operating system code to
|
||||
perform the action.
|
||||
|
||||

|
||||
|
||||
## Example: opening a file
|
||||
|
||||
A user can use a file explorer and the mouse to open a file. However a running
|
||||
application doesn't have to do this. Instead it can call the OS API.
|
||||
|
||||
On a Unix-like system the applicaton would use the `open` API function to open
|
||||
the file:
|
||||
|
||||
```
|
||||
open("foo.txt", 0_WRONLY|0_CREAT)
|
||||
```
|
||||
|
||||
This command makes the action write-only and creates the file because it does
|
||||
not yet exist. When the user opens a file in their File Explorer, the
|
||||
application translates their graphical actions into this API call.
|
||||
|
|
Loading…
Add table
Reference in a new issue