操做系統

操做系統作了什麼?

執行helloword程序

1.找到helloworld程序的相關信息,檢查其類型是不是可執行文件,並經過程序首部信息,肯定代碼和數據在可執行文件中的位置並計算出對應的磁盤塊地址

2.建立一個新的進程,並將helloword執行文件映射到該進程結構,表示由該進程執行hellworld程序

3.爲helloword程序設置cpu上下文環境,並跳到程序開始處

4.執行helloworld程序的第一條指令,發生缺頁異常

5.操做系統,分配一頁物理內存,並將代碼從磁盤讀入內存,而後進行執行helloworld程序

6.helloworld程序執行puts函數(系統調用),在顯示器上寫一字符串

7.操做系統找到要將字符串送往的顯示設備,一般設備是由一個進程控制的,因此,操做系統將要寫的字符串送給該進程

8.控制設備的進程告訴設備的窗口系統它要顯示字符串,窗口系統肯定這是一個合法的操做,而後將字符串轉換成像素,將像素寫入設備的存儲印象區

9.視頻硬件將像素轉化成顯示器可接收的一組控制數據信號

10.顯示器解析信號,激發液晶屏

11.在屏幕上看到了'helloworld'

總結: 
   用戶程序 -os調用->進程管理 
   用戶程序 -os調用->存儲管理
   用戶程序 -os調用->文件系統

操做系統的定義與做用

1. 操做系統是計算機系統中的一個系統軟件,是一些程序模塊的集合

2. 特色
  1. 有效:系統效率,資源利用率(cpu,io是否忙碌)
  2. 合理:軟硬件資源管理是否合理
  3. 方便使用:用戶界面與編程接口
  
3. 做用
  1. 資源的管理者
     1.硬件資源:
        cpu,內存,設備(i/o設備,磁盤,網卡等)
     2.軟件資源:
        磁盤上的文件,各種管理信息等
     3.怎樣管理資源:
        1.跟蹤記錄資源的使用狀況(哪些資源空閒)
        2.肯定資源分配策略(算法)
          1.靜態分配策略
          2.動態分配策略
          3.實施資源的分配和回收
     4.從資源管理的角度
        1.進程/線程管理(cpu管理)
           1.進程線程狀態,控制,同步互斥,調度
        2.存儲管理
           1.分配/回收,地址轉換,存儲保護,內存擴充
        3.文件管理
           1.文件目錄,文件操做,磁盤管理,文件存取控制
        4.設備管理
           1.設備驅動,分配回收,緩衝技術
        5.用戶接口
           1.系統命令,編程接口
  2. 向用戶提供各類服務
    1.在操做系統之上,從用戶角度來看
       1.操做系統爲用戶提供來一組功能強大,方便易用的命令或系統調用
    2.典型的服務
       1.進程的建立,執行,文件和目錄的操做,i/o設備的使用,各種統計信息
  3. 對硬件機器的擴展
    1. 應用程序
       --------虛擬機器界面
       操做系統
       --------物理機器界面
       硬件

操做系統的主要特徵

1.併發:處理多個同時性的能力
  1.問題(活動切換,保護,相互依賴的活動間的同步)
    1.計算機系統同時運行多個程序,單cpu上
      1.宏觀上這些程序是同時執行
      2.微觀上任什麼時候刻只有一個程序真正在執行
  2.並行 多指不一樣程序同時在多個硬件部件上執行
 
2.共享:操做系統與多個用戶程序共同使用計算機系統中的資源,操做系統要對系統資源進程合理分配和使用,資源在同一個時間段內交替被多個進程所用
    1.互斥共享(打印機)
    2.同時共享(可重入代碼,磁盤文件)
    
3.虛擬
  1.一個物理實體映射爲若干個對應的邏輯實體,分時或分空間
  2.虛擬是操做系統管理系統資源的重要手段,可提升資源利用率
    1.cpu --每一個進程的'虛處理機'
    2.存儲器 --每一個進程都有獨立的虛擬地址空間(代碼+數據+堆棧)
    3.顯示設備 -- 多窗口或虛擬終端
4.隨機:操做系統必須隨時對以不可預測的次序發生的事件進行響應並處理
   1.進程的運行速度不可預知,多個進程併發執行,走走停停,沒法預知每一個進程的運行推動的快慢
   2.難以重現系統在某個時刻的狀態(包括重現運行中的錯誤)

典型操做系統的架構

windows系統體系結構

系統進程 服務進程 用戶進程 環境子系統
動態連接庫(DLL)
-------------------------------------用戶態
系統服務分發起       內核態
內核態可調用接口

執行體

內核 設備驅動程序   圖形與窗口

硬件抽象層(HAL)
---------------------------------------物理硬件
硬件
應用程序
系統功能調用
操做系統
計算機硬件

UNIX操做系統

-------------------------用戶態
     系統調用接口
     
文件系統    進程控制子系統
-------------------------硬件

linux操做系統

-------------用戶態
系統調用接口
文件系統
虛擬內存管理
進程調度
物理內存管理
驅動管理
網絡管理
異常處理
中斷處理
驅動管理
-------------

安卓系統

1.android應用程序
2.應用程序框架
3.系統庫和android運行時
4.linux內核

操做系統的分類

1. 批處理操做系統
  1.工做方式 
    1.用戶將做用交給系統操做員
    2.系統操做員將許多用戶的做用組成一批做業,輸入到計算機系統中,在系統中造成一個自動轉接的連續的做業流
    3.啓動操做系統
    4.系統啓動,依次執行每一個做業
    5.由操做員將做業結果交給用戶
  2.追求目標
    1.提供資源利用率,增長做業處理吞吐量
  3.批處理系統中的做業包括
    1.用戶程序
    2.數據
    3.做業說明書 
  4.成批:一般用若干個做業組成,用戶提交做業後只能等處理結果,不能干預本身做業的執行
  5.批做業處理:
    1.對一批做業中的每一個做業進行相同的處理,從磁帶讀取用戶做業和編譯連接程序,編譯連接用戶做業以生成可執行程序,啓動執行,執行並輸出結果
  6.問題:
    1.慢速的輸入輸出處理直接由主機來完成,輸入輸出時,cpu處於等待狀態
  7.解決方案:
    1.衛星機,完成面向用戶的輸入輸出(紙帶或卡片),中間結果暫存在磁帶或磁盤上
  8.spooling系統技術
    1.在一臺計算機上利用磁盤做緩衝,將輸入,計算,輸出分佈組織成獨立的任務流,使i/o和計算真正並行
2. 分時系統
   1.時間片
     操做系統將cpu的時間劃分紅若干個片斷,稱爲時間片
   2.分時系統與批處理系統結合
3. 實時操做系統
   1.是指計算機可以及時響應外部事件的請求,在規定的嚴格時間內完成對該事件的處理,並控制全部實時設備和實時任務協調一致的工做
4. 我的計算機操做系統
5. 網絡操做系統
   1.按網絡體系結果協議標準開發的軟件
6. 分佈式操做系統
   1.以計算機網絡爲基礎,或以多處理機爲基礎
7. 嵌入式操做系統
   1.在各類設備,裝置或系統中,完成特定功能的軟硬件系統汽車,手機,電視機,mp3播放器
相關文章
相關標籤/搜索