作業系統和程序

2022-07-31 15:42:12 字數 2450 閱讀 1461

一.作業系統

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)

print

(str)

deff2(str):

time.sleep(1)

print

(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方法

print

(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 什麼是程序 程序就是進入記憶體中正在執行的程式。把程序當做一組元素組成的實體。程序包括兩個部分,一部分是 部分,另一部分是 相關的資料集合。程序控制塊 每乙個程序,在核心中都對應著乙個程序控制塊。程序控制塊中儲存著程序的所有...