系統(tǒng)軟件:一般用于管理計算機本地的軟件。
主要分為兩塊:
平臺性的:操作系統(tǒng)內(nèi)核裙品,驅(qū)動程序俗批,運行庫。
程序開發(fā):編譯器市怎,匯編器岁忘,鏈接器。
計算機系統(tǒng)軟件體系結(jié)構(gòu)采用一種層的結(jié)構(gòu)区匠。
每個層次之間都需要相互通信干像,那么它們之間就有通信協(xié)議,我們將它稱為接口驰弄,接口下層是提供者麻汰,定義接口。上層是使用者戚篙,使用接口實現(xiàn)所需功能五鲫。
除了硬件和應(yīng)用程序,其他的都是中間層岔擂,每個中間層都是對它下面的那層的包裝和擴展臣镣。它們使得應(yīng)用程序和硬件之間保持相對獨立辅愿。
從整個層次結(jié)構(gòu)來看,開發(fā)工具與應(yīng)用程序?qū)儆谕粋€層次忆某,因為它們都使用同一個接口——操作系統(tǒng)應(yīng)用程序編程接口点待。應(yīng)用程序接口(API)提供者是運行庫,什么樣的運行庫提供什么樣的接口弃舒。winsows的運行庫提供Windows API癞埠,Linux下的Glibc庫提供POSIX(可移植操作系統(tǒng)接口)的API。 (Glibc是GNU發(fā)布的libc庫聋呢,即c運行庫苗踪。glibc是linux系統(tǒng)中最底層的api,幾乎其它任何運行庫都會依賴于glibc削锰。)
運行庫使用操作系統(tǒng)提供的系統(tǒng)調(diào)用接口通铲。
系統(tǒng)調(diào)用接口在實現(xiàn)中往往以軟件中斷的方式提供。
操作系統(tǒng)內(nèi)核層對于硬件層來說是硬件接口的使用者器贩,而硬件是接口的定義者颅夺。這種接口叫做硬件規(guī)格。