From 6bc66436961ce1b9a506b92a315e21806895ba06 Mon Sep 17 00:00:00 2001 From: thomasabishop Date: Sat, 20 Jul 2024 12:00:03 +0100 Subject: [PATCH] Autosave: 2024-07-20 12:00:03 --- .zk/notebook.db | Bin 4153344 -> 4153344 bytes zk/Operating_system_API.md | 25 ++++++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/.zk/notebook.db b/.zk/notebook.db index e35e302c1501d81a1d951e6d38d83cde76080677..0444e4cc1dae0ff88e49886548ddd6ed51638e5d 100644 GIT binary patch delta 19133 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 G)&Cc@p;?{) diff --git a/zk/Operating_system_API.md b/zk/Operating_system_API.md index 08f2e81..3b952dc 100644 --- a/zk/Operating_system_API.md +++ b/zk/Operating_system_API.md @@ -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.