### 操作系統第三章 ####

BIOS和MBR

實模式(實地址)

程序按照8086尋址方法訪問空間

尋址方式:物理地址(20位)=段地址:偏移地址

CPU單任務運行

保護模式(內存保護)

尋址方式

段頁式尋址機制

虛擬地址,進程,封閉空間

應用程序和操作系統的運行環境都被保護

CPU支持多任務

剛加電時,計算機處於實模式,操作系統接電後,計算機處於保護模式。實模式與保護模式尋址方式不同,實模式按照8086尋址方法訪問空間,保護模式用段頁式尋址。實模式CPU單任務運行,保護模式CPU支持多任務。

BIOS

固件接口

基本輸入/輸出系統

BIOS的基本功能:系統啓動配置,基本的設備I/O服務,系統的加電自檢和啓動

中斷類型號:10H~1FH

加電自檢POST:初始化基本硬件

POST後,查找顯卡BIOS,調用顯卡BIOS,依次查找其他設備執行相應設備的BIOS,顯示啓動畫面,從硬盤/軟盤/光驅/U盤讀入OS,OS接管計算機

MBR

存放在硬盤/軟盤的首扇區,存放OS啓動的相關信息

分區啓動扇區

主啓動扇區:完成os加載或啓動管理功能。

提供菜單:讓用戶選擇不同的啓動項,實現多重啓動,加載核心文件:直接指向可啓動區加載操作系統,跳轉:將啓動管理功能轉交給其他loader

BIOS和MBR程序運行過程

POST->CMOS設置(硬盤啓動)->讀取MBR->控制權交給MBR

MBR讀取分區表,找到活動分區,讀取活動分區的第一個分區,加載到內存中

PBR繼續控制後面的引導過程

操作系統啓動過程

從加電到用戶工作環境準備好的過程

初始引導,核心初始化,系統初始化

初始引導

把OS核心裝入內存並使之開始工作接管計算機系統

加電,BIOS的啓動程序運行,啓動程序,引導程序,os內核

核心初始化

OS內核初始化系統的核心數據

工作:寄存器,存儲系統和頁表的初始化等

系統初始化

爲用戶使用系統作準備,使系統處於待命狀態

工作:初始化文件系統、網絡系統、控制檯、圖形界面

Windows啓動過程

POST->初始引導->核心初始化->系統初始化

Linux啓動過程

POST->MBR->KERNEL映像->KERNEL映像自解壓並執行->內核初始化->內核啓動

內核引導後,加載init程序,ini進程通過/etc/inittab腳本進行初始化

操作系統生成

滿足特定硬件環境和用戶需要,組裝和構建操作系統過程

主要步驟:1.根據硬件環境/用戶要求配置功能模塊和構造參數,2.構建OS的映像

生成前提:操作系統由可拆裝模塊構成,有交互式配置工具,有映像構建工具

linux操作系統生成

1.獲取源碼

2.選擇和啓動內核配置程序

3.根據需要配置內核模塊和參數

4.重新編譯新的內核

5.編譯和安裝模塊

6.啓動新內核

用戶界面

OS提供給用戶控制計算機的機制,稱爲用戶接口

常見的用戶接口:圖形,命令,程序(系統調用

分類:操作界面、系統調用

操作界面

圖形用戶接口

鍵盤命令:普通命令、批處理程序、shell

linux典型命令:man,cd,ls,ps,mount,umount,tar,chown,chmod,find,locate,whereis

批處理

普通命令集合,批執行,由command解釋執行。支持變量替換、條件、轉移、循環、註釋等

Bash的主要功能

命令行編輯功能,命令和文件名補全功能,命令歷史功能,命令別名功能,提供作業控制功能,管道與重定向,具有將命令序列定義爲功能鍵的功能,shell腳本編程

shell腳本編程

Bsh,Csh,Ksh,Bash

以#!/bin/bash開頭,代表腳本的解釋器,如果沒有寫,腳本可能無法找到解析器,從而無法運行。

shell:操作系統與用戶交互的界面,通過控制檯執行用戶命令的方式,本身不執行命令,只組織和管理命令

腳本通過類似程序的方式執行具有一定邏輯順序的命令序列完成較複雜的功能和人機交互

腳本程序保存在文本文件中,是shell命令語句的集合

所有命令逐行執行,凡是能夠在shell直接執行的命令都可以在腳本中使用,腳本還可以使用一些不能在shell下直接執行的語句

shell腳本程序由shell環境解釋執行

重定向:改變命令缺省的輸入來源或輸出方向爲文件或其他

管道:特殊的重定向操作。連接左右兩個命令,將左邊的輸出作爲右邊的輸入

運行腳本程序的方法

直接運行(缺省版本的shell運行腳本程序)

使用某個特定版本的shell執行腳本

在腳本文件首行指定shell

系統調用

操作系統內核爲應用程序提供的服務/函數

系統調用的特點

一般涉及核心資源或硬件的操作

運行於核態

每個系統調用具體的編號:ID

調用過程中會產生自願中斷

隱式系統調用

類似API函數

在高級語言中使用

包含”INT 80h"中斷指令,執行相應的系統調用

編譯時隱式系統調用轉化爲顯式的系統調用:INT 80h

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章