-----------------------siwuxie095 html
計算機和操做系統基礎知識 編程
一、操做系統(Operating System,簡稱 OS),是管理計算機硬件與安全
軟件資源的計算機程序,同時也是計算機系統的內核與基石 網絡
操做系統須要處理如管理與配置內存、決定系統資源供需的優先次序、 架構
控制輸入與輸出設備、操做網絡與管理文件系統等基本事務。操做系統 spa
也提供一個讓用戶與系統交互的操做界面 操作系統
二、操做系統位於底層硬件與用戶之間,是二者溝通的橋樑。用戶能夠.net
經過操做系統的用戶界面,輸入命令。操做系統則對命令進行解釋,驅 命令行
動硬件設備,實現用戶要求。以現代標準而言,一個標準PC的操做系統 設計
應該提供如下的功能:
(1)進程管理(Processing management)
(2)內存管理(Memory management)
(3)文件系統(File system)
(4)網絡通訊(Networking)
(5)安全機制(Security)
(6)用戶界面(User interface)
(7)驅動程序(Device drivers)
三、指令集架構(Instruction Set Architecture,簡稱 ISA),又稱指令
集 或 指令集體系,是計算機體系結構中與程序設計有關的部分,包含了
基本數據類型,指令集,寄存器,尋址模式,存儲體系,中斷,異常處理
以及外部 I/O
指令集架構包含一系列的 opcode 即操做碼(機器語言),以及由特定
處理器執行的基本命令
四、指令是由指令集架構定義的單個的 CPU 操做。在更普遍的意義上,
指令能夠是任何可執行程序的元素的表述,如:字節碼
指令分爲特殊指令和普通指令,只有操做系統才能運行特殊指令(也稱
特權指令),應用程序只能運行普通指令。應用程序要想運行特殊指令,
必須經過系統調用
五、兩種調用:
(1)系統調用(System Call)
(2)庫調用(Library Call)
六、兩種用戶界面(User Interface,簡稱 UI):
(1)圖形用戶界面(Graphical User Interface,簡稱 GUI)
(2)命令行界面(Command Line Interface,簡稱 CLI)
七、兩種接口:
(1)應用二進制接口(Application Binary Interface,簡稱 ABI),它描述
了應用程序(或者其餘類型)和操做系統之間或其餘應用程序的低級接口
(2)應用編程接口(Application Programming Interface,簡稱 API),
它就是軟件系統不一樣組成部分銜接的約定,即 是操做系統 或 庫提供給應用
程序調用使用的代碼
ABI 不一樣於 API,API 定義了源代碼和庫之間的接口,所以一樣的代碼能夠
在支持這個 API 的任何系統中編譯,然而 ABI 容許編譯好的目標代碼在使
用兼容 ABI 的系統中無需改動就能運行
八、操做系統分類
(1)Windows
(2)Unix-like(類 Unix)
1)Linux
2)Minix
3)macOS(macOS 的由來:從 Mac OS X,改成 OS X,再改成 macOS。
截止 2018/08/26,再未變更)
(3)Unix
1)Unix System(截止 2018/05/31,最新版是 Unix System V Release 4,
包含 AIX、Solaris、HP-UX 等)
2)BSD Unix (分爲三種:FreeBSD、NetBSD、OpenBSD)
「簡單來講,分爲 System(嫡出) 和 BSD(庶出)」
附:
關於 macOS 究竟是 Unix 仍是 Unix-like,這個問題一直存在爭議,不過爭論
這個意義不大,這裏姑且認爲 macOS 是 Unix-like,參考連接:
(a)https://zh.wikipedia.org/zh-cn/Darwin_%28%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F%29
(b)https://zh.wikipedia.org/wiki/MacOS#Unix%E8%AA%8D%E8%AD%89
(c)https://blog.hoppinglife.com/2014/02/mac-os-x%E4%B8%8D%E6%98%AFunix/
九、程序運行空間:
(1)內核空間(Kernel Space):內核、核心擴充、驅動程序運行在內核空間上
(2)用戶空間(User Space):應用程序運行在用戶空間上
「運行空間(Space)也能夠理解爲運行模式(Mode)」
十、可移植操做系統接口(Portable Operating System Interface,
簡稱 POSIX),是 IEEE 爲要在各類 UNIX 操做系統上運行軟件,而
定義 API 的一系列互相關聯的標準的總稱
「最後一個 X 代表了其對 Unix API 的傳承」
十一、兩種格式:
(1)可移植可執行(Portable Executable),也就是 PE 格式,是一種用
於可執行文件、目標文件和動態連接庫的文件格式,主要使用在 Windows
操做系統上
PE文件格式主要用於EXE文件、DLL文件、.sys(驅動程序)和其餘文件
類型
(2)可執行和可連接格式(Executable and Linkable Format),也就是
ELF 格式,是一種用於可執行文件、目標文件、共享庫和核心轉儲的標準文
件格式
不一樣操做系統上應用程序和庫的格式
|
應用程序格式 |
庫 |
Windows |
PE格式(Portable Executable) |
DLL(Dynamic Link Library),動態連接庫 |
Linux/Unix |
ELF格式(Executable and Linkable Format) |
SO(Shared Object) |
十二、計算機的五大組成:
運算器、控制器、存儲器、輸入設備、輸出設備
1三、六種開源協議的異同以下圖所示:BSD、Apache、GPL、LGPL、MIT、Mozilla
參考連接:
(1)http://www.javashuo.com/article/p-buqwsiup-cn.html
(2)https://blog.csdn.net/hemeinvyiqiluoben/article/details/79259808
(3)https://blog.csdn.net/spiritring/article/details/5486801
(4)https://zhuanlan.zhihu.com/p/38409620
(5)https://zhuanlan.zhihu.com/p/31881162
(6)http://www.gnu.org/licenses/license-list.html
【made by siwuxie095】