### 操作系統
+ **引論**
+ 現代計算機系統由一個或多個處理器、主存、磁盤、打印機、鍵盤、鼠標、顯示器、網絡接口以及其他輸入輸出設備。
+ 基於文本交互的程序通常稱爲shell,基於圖標的則爲用戶圖形界面GUI,他們并不是操作系統的一部分
+ 兩種運行模式
+ 内核態(別名管態、核心態)
+ 具有對硬件的完全訪問權,可以執行機器能運行的所有指令
+ 用戶態
+ 只使用機器指令的一個子集
+ **_[用戶態[軟件,用戶接口程序],内核態[操作系統],硬件]_**
+ 操作系統與用戶態的主要區別是
+ 用戶態的軟件可以由用戶自行編寫
+ 操作系統的時鐘中斷處理程序不能自行編寫
+ 操作系統提供一種抽象,供用戶使用,將複雜操作簡單化
+ 操作系統管理資源,控制硬件設備的分配
+ 多個程序使用資源時,兩種實現方式
+ 時間
+ 空間
+ 輪流使用
+ 分時系統
+ 支持多用戶
+ CPU
+ 流水綫 單指令執行
+ 超標量CPU 有空閑執行單元就執行 存在順序問題
+ CPU的兩種模式
+ 内核
+ 用戶
+ 多綫程cpu可以快速切換綫程 而不是真正的并行處理 一個時刻只有一個進程在運行
+ 存儲器
+ 寄存器<-L1<-L2<-L3<-内存<-磁盤<-磁帶
+ EEROM 和 flash memory 可讀寫的 不丟失數據的ROM
+ CMOS 易失性的 CMOS 多用於保持當前時間和日期 自帶電池
+ 磁盤
+ 磁盤是一種機械裝置
+ 磁盤中有多個金屬盤片 以一定的轉速轉動 邊緣有一個機械臂 信息卸載同心圓上 每個磁頭可以讀取一個環形區域 稱爲磁道 一個給定臂的位置所有的磁道合在一起形成柱面
+ 每個磁道分爲多個扇區 一般扇區為512字節
+ 虛擬内存 程序在磁盤上 主存當作緩存 保存最頻繁使用的部分程序 快速的映像内存地址 把程序生成的地址轉換為 有關字節在RAM中的物理地址 映像由CPU的MMU存儲器管理單元完成
+ 一個程序切換到另一個程序,稱爲上下文切換
+ I/O設備
+ 接受指令,完成指令的操作
+ IDE集成驅動電子設備 標準化接口
+ 與控制器對話的程序 叫做驅動程序
+ 啓動計算機
+ BIOS有底層I/O軟件
+ COMS信息核對
+ 進程
+ 本質是正在執行的程序,每個進程是與地址空間相關聯的
+ 地址空間從最小存儲位置到最大值的存儲位置
+ 進程可以在這個地址空間可讀可寫 進程容納一個程序需要的所有信息
+ 進程被挂起時所有信息都會被保存起來包括指針
+ 操作系統中,有一個與進程有關的所有信息,除了該進程自身地址空間的内容意外均存放在操作系統的表中,稱爲進程表 可能是數組或鏈表
+ 每個被啓動的進程都有一個啓動該進程的用戶UID,子進程與父進程有一樣的UID,用戶可以是某個組的成員 也具有GID
+ 有一個UID是超級用戶可以違背保護規則
+ 地址空間
+ 複雜系統允許在内存中運行多個程序爲了避免干擾由硬件提供操作系統控制的保護機制
+ 文件
+ 創建文件,刪除文件,讀文件和寫文件都需要系統調用
+ 許多系統都支持目錄的概念 從而可把文件分成組
+ 目錄項可以是目錄也可以是文件
+ 每個文件和目錄都可以通向根目錄
+ UNIX用/表示絕對路勁 Windows用\
+ 每個進程都有一個工作目錄
+ mount 挂載文件系統 可以來自U盤CD-ROM...
+ 特殊文件
+ 爲了使IO設備像文件一般
+ 塊特殊文件和字符特殊文件
+ 塊用於磁盤之類
+ 字符測試打印機
+ 這些文件保存在dev目錄中
+ 管道
+ 虛文件 連接兩個進程
+ A 管道 B
+ 輸入和輸出每個系統都支持
+ 保護
+ UNIX給每個文件都給出一個9位的二進制保護代碼
+ 3個3位的字段
+ 一個為所有者,一個為與所有者同組的成員,一個用於其他人
+ 一個位用於讀讀寫 訪問 執行訪問
+ shell
+ 本身不是操作系統的一部分但是具有操作系統的特性
+ LINUX書上有
+ 系統調用
+ 由系統提供的接口管理數據和硬件
+ 程序連接系統的庫
+ 示例:
+ read(file,buffer,nbytes);
+ 進程管理的系統調用
+ chdir改變工作目錄
+ 改變文件屬性
+ 这六种设计是,单体系统、层次系统、微内
核、客户机-服务器系统、虚拟机和exokernels等。
+ fork()創建子進程 execve 使用心得映像
+ **進程**
+ p126
浙公网安备 33010602011771号