作業系統(英語:operating system,縮寫作 os)是管理計算機硬體與軟體資源的電腦程式,同時也是計算機系統的核心與基石。作業系統需要處理如管理與配置記憶體、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作網路與管理檔案系統等基本事務。作業系統也提供乙個讓使用者與系統互動的操作介面。
作業系統簡單介紹:
多道程式設計技術
空間復用
時間復用
程序之間是空間隔離的
分時系統
實時系統
通用作業系統
併發:偽並行,看著像同時執行,其實是任務之間的切換(遇到io切換的會提高**效率) ,任務切換+儲存狀態(儲存現場)
並行:真正的同時在執行,應用的是多核技術(多個cpu)
程序三狀態:就緒(等待作業系統排程去cpu裡面執行) 執行 阻塞
提交任務的方式:同步非同步 任務的執行狀態:阻塞非阻塞
非同步:任務的提交方式,多個任務提交出去,同時執行
分類:同步阻塞
非同步阻塞:
非同步非阻塞:
同步非阻塞:
程序的2種建立方式:
第一種:
import time第二種方式: 建立乙個類,繼承processfrom multiprocessing import process
def f1():
time.sleep(3)
print('我同桌是豬')
print(time.strftime('%y-%m-%d %h:%m:%s', time.localtime()))
def f2():
time.sleep(3)
print('還偷偷睡覺')
print(time.strftime('%y-%m-%d %h:%m:%s',time.localtime()))
if __name__ == '__main__':
p1 = process(target=f1,)
p2 = process(target=f2, )
p1.start()
p2.start()
from multiprocessing import process傳參方式:class myprocess(process):
def __init__(self,n):
super().__init__() #別忘了執行父類的init
self.n = n
def run(self):
print('%s快要睡著了'%self.n)
if __name__ == '__main__':
p1 = myprocess('jerry')
p1.start()
from multiprocessing import processfor 迴圈建立程序:# 演示兩種傳參方式
def f1(n):
print(n)
if __name__ == '__main__':
# p1 = process(target=f1,args=('jerry',)) #建立程序物件
p1 = process(target=f1,kwargs=) # 建立程序物件 kwargs=
p1.start() #給作業系統傳送了乙個建立程序的訊號,後續程序的建立都是作業系統的事兒了
join()方法:主程序等待子程序執行完才繼續執行
import timefrom multiprocessing import process
def f1():
time.sleep(2)
print('我是f1')
def f2():
time.sleep(2)
print('我是f2')
if __name__ == '__main__':
p1 = process(target=f1,)
p1.start()
p1.join() # 主程序等待子程序執行完才繼續執行
print('p2來了')
p2 = process(target=f2,)
p2.start()
p2.join()
print('我要等了...等我的子程序...')
print('我是主程序!!!')
作業系統之程序
程序 這裡邊我們主要是要講的內容就是這兩個圖 我們通過這兩個圖來介紹一些相關的知識點 我們還是來看圖進行分析 我們就這個圖進行分析各個關鍵部分 這些關鍵在於理解,很easy的,或者你把這個圖畫出來也就馬上明白了。就緒 就是 萬事俱備只欠東風 就差cpu的排程了,只要cpu一排程便可執行。執行 就是在...
作業系統之 程序
程序是程式的一次執行,由於需要對程序進行分離儲存出現記憶體管理,由於需要讓程序有條不紊往前推進而導致程序排程的出現。每個程序有自己的程式計數器,記錄下一條指令所在位置。程序的狀態有執行,阻塞,就緒。並不唯一是這三種狀態,windows有7種狀態。1.發明程序的根本動機是什麼?它與程式是什麼關係?程序...
作業系統之程序
程序是系統進行資源分配和排程的基本單位 程序作為程式獨立執行的載體保障程式正常執行 程序的存在使得作業系統資源的利用率大幅提公升 程序實體 識別符號 唯一表示程序 程序狀態 程式計數器 即將執行的位址 程序指標 程式 程序資料相關指標 上下文資料 io狀態資訊 被程序io操作所占用的檔案列表 記賬資...