一.作業系統
1.什麼是作業系統
作業系統就是乙個協調,管理和控制計算機硬體資源和軟體資源的控制程式.
在計算機硬體和使用者介面程式之間
2.作業系統的作用
1.為應用程式提供如何使用硬體資源的抽象
2.管理硬體資源
二.作業系統發展史
第一代(1940-1955) 手工操作--穿孔卡片
第二代(1955-1965) 磁帶儲存--批處理
第三代(1965-1980) 多道程式系統
1.多道程式技術:允許多個程式同時進入記憶體並相互獨立執行
時間復用:遇到i/o就切換任務
空間復用:將記憶體分為幾部分,每個部分放入乙個程式,這樣,同一時間記憶體中就有了多道程式
2.多道批處理系統(解決空間復用缺點)
3.分時系統(解決時間復用缺點)
4.實時系統(高精度)
5.通用作業系統
三.併發與並行
1.併發:偽並行,看起來是同時執行,實際上是cpu切換太快.單核cpu+多道技術就可以實現併發
2.並行:真正的同時執行,只有多核cpu才能實現
四.同步,非同步,阻塞,非阻塞
1.程序的三狀態:就緒,執行,阻塞
2.同步:任務提交方式,乙個乙個提交
3.非同步:任務提交方式,多個任務同時提交
4.阻塞:遇到i/o(程式遇到input等等)
5.非同步非阻塞:程式最理想狀態,同時執行多個程序並且沒有i/o,效率很高.
五.multiprocessing模組中的process
1.什麼是程序(process)
程序:程序是系統進行資源分配和排程的基本單位
2.建立程序的兩種方式
p = process(targrt=任務,args=(引數,)
import第一種方式建立程序time
from multiprocessing import
process
deff1(str):
time.sleep(1)
(str)
deff2(str):
time.sleep(1)
(str)
#建立多程序的過程:
#先copy主程式的**,類似於import匯入
#如果沒有main 就會發生copy的**中還會執行多程序建立,造成遞迴.
#main的作用就是防止import匯入時候執行main下面**
#如果是模組匯入,__name__ = 模組名
#如果是自己執行,__name__ = __main__
#main 就是為了防止造成遞迴
if__name__ == '
__main__':
for i in range(20):
p1 = process(target=f1, args=("
燒餅",)) #
args傳參方式 元組
p2 = process(target=f2, kwargs=) #
kwargs傳參方式 字典
p1.start()
#發出開始指令
p1.join() #
等待p1物件執行完才能往下執行
p2.start()
from multiprocessing import第二種方式建立程序process
class myprocess(process): #
繼承process類
def__init__
(self,str):
super().
__init__() #
重用父類中的__init__()
self.str =str
def run(self): #
重寫run方法
(self.str)
if__name__ == '
__main__':
for i in range(20):
p = myprocess("
666") #
傳參p.start()
3.process中的幾個方法
1.start():啟動程序,並呼叫子程序中的run()方法
2.run():程序啟動時執行的方法
3.terminate():給作業系統發出結束該程序的訊號
4.is_alive():判斷該程序是否還執行
5.join():等待該子程序執行完再往下執行
4.process中的幾個屬性
1.daemon:預設為false.守護程序,當daemon為true時,主程序結束,子程序也會被強制結束
2.name:程序的名稱,可以自定義
3.pid:檢視程序的id
作業系統 程序和程式
馮諾依曼體系 輸入裝置 鍵盤 滑鼠 掃瞄器 寫字板等。儲存器 記憶體。處理器 cpu 含有運算器和控制器等 輸出裝置 顯示器 印表機等。硬碟 在開啟硬碟中的檔案時,硬碟屬於輸入裝置 硬碟中資料的輸入到儲存器中,再在cpu中執行 在硬碟中新建乙個檔案,然後往硬碟中輸入資料,此時硬碟就是乙個輸出裝置。注...
作業系統 程序和執行緒
從處理機只能執行單一程式,到處理機可以通過不停的切換所執行的程式,達到看似同時處理多個程序的過程,經歷了很長一段時間。從單道程式設計到多道程式設計,主要解決了在執行過程中需要頻繁等待資源或者i o操作的問題,因為這類操作通常都是很耗時間的 相對於cpu的快速執行來說 進而提高了整個cpu執行的效率和...
作業系統 程序
在作業系統中,作業系統將記憶體,網路,檔案系統抽象為資源的統一抽象表示。1 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...