❤️強烈推薦人工智慧學習**❤️
作業系統為何要引入程序這個概念,這要從多批道處理系統說起。為了提高cpu利用率,多批道處理系統一次性載入多個作業到記憶體中讓程式併發執行,但這會造成一系列的問題。這裡也談到乙個概念"併發",併發和並行的概念很多人混淆不清。併發:指你有處理多個任務的能力,不一定要同時進行。並行:指你有同時處理多個任務的能力。
程式的併發執行產生的問題:
1.間斷性。如果現在併發執行兩個不同程式的a操作和b操作,兩個不同程式的a操作和b操作根本沒啥關係,但是它們是併發執行的,執行了a操作,但是b因為其他原因沒有執行完畢,則a操作對應的那個程式也無法繼續向下執行,必須等待b操作執行完畢
2.失去封閉性。併發執行的程式,系統中的資源都是共享的,而這些資源的狀態也由這些程式來改變,致使其中乙個程式執行時,其環境必然受到其他程式影響
3.不可在現性。因為程式執行的速度不同,程式的執行對環境也相互影響,則程式多次執行,雖然它們的初始條件相同,但是執行的結果卻個不同。
上面產生的問題在程序這個概念引入後,都得到了很好的解決。
程序的引入
1.程式順序執行時的特徵 1 順序性 2 封閉性 3 可再現性 2.程式併發執行時的特徵 1 間斷性 2 失去封閉性 3 不可再現性 3.從結構上看,程序實體是由程式段 資料段和程序控制塊三部分組成,也稱這三部分為程序映像。4.系統資源可以分為cpu和外部事件 包括資源 時鐘中斷 外部事件等 5.在...
引入設計模式的目的
軟體設計最重要的目標是 一 效能要達到客戶的要求 二 功能要達到客戶的要求 三 可維護性好。引入設計模式的目的是要達到第三個目標,即可維護性強 注 設計模式一般不能提高軟體效能和功能 什麼樣的軟體才是可維護性能的軟體?這是很多人關心的問題。第一 可擴充套件性強。程式設計時常要根據需求變化而要求擴充套...
51 程序之程序的正式引入
程序是乙個動態的過程,而不是乙個靜態的實物 程序就是程式的一次執行過程,乙個可執行程式a。out的一次執行過程,a.out從執行到結束,就是乙個程序。程序控制塊pcb process contrl block就是核心中專門管理程序的資料結構,包含了程序相關的各種資訊。程序id,os給每乙個程序分配了...