Autosave: 2024-07-20 12:00:03
This commit is contained in:
parent
db306627dd
commit
6bc6643696
2 changed files with 22 additions and 3 deletions
BIN
.zk/notebook.db
BIN
.zk/notebook.db
Binary file not shown.
|
@ -7,9 +7,12 @@ created: Wednesday, July 17, 2024
|
|||
# Operating system API
|
||||
|
||||
A user can interact with the operating system either via the GUI or the
|
||||
[shell](Intro_to_the_Unix_shell.md). Both ultimately access the OS via the shell
|
||||
since the UI is an abstraction layer of the shell. When _programs_ interact with
|
||||
the operating system they use the **operating system's API**.
|
||||
[shell](Intro_to_the_Unix_shell.md). (Both ultimately access the OS via the
|
||||
shell since the UI is an abstraction layer of the shell.)
|
||||
|
||||
When _programs_ interact with the operating system they use the **operating
|
||||
system's API** directly. The GUI and shell also invoke the OS API but the access
|
||||
is mediated.
|
||||
|
||||
Every OS has an API. This specification details how a program should interact
|
||||
with the OS, exposing functions, properties and data types.
|
||||
|
@ -38,3 +41,19 @@ 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.
|
||||
|
||||
## Different OSs have different APIs
|
||||
|
||||
Unix-like and Linux operating systems use variations on the **Portable Operating
|
||||
System Interface** (POSIX) standard. This defines the OS API and also the rules
|
||||
for the shell's behaviour and its included utilities.
|
||||
|
||||
Variations on this include _Cocoa_, macOS's API and Android's _Android Platform_
|
||||
API.
|
||||
|
||||
Windows has its own API called _The Windows API_. The original version was
|
||||
16-bit called _Win16_, then when it moved to 32-bits it became _Win32_. When it
|
||||
moved to an x86 [instruction_set_architecture](Instruction_set_architectures.md)
|
||||
it became _Win64_. Starting with Windows 10, it introduced the _Universal
|
||||
Windows Platform_ which aims to make app development consistent accross
|
||||
different devices that run Windows.
|
||||
|
|
Loading…
Add table
Reference in a new issue