1.併發是指一段時間運行多個程序,並行是同一時刻多個指令,並行一般需要硬件支持,併發是通過進程線程實現的
2.共享是指系統中的資源可以被多個併發進程共同使用
3.虛擬技術把一個物理實體轉換爲多個空間實體,分爲時分複用(多進程併發)和空分複用(虛擬內存)
4.操作系統基本功能:
1)進程管理 (進程控制,進程同步,進程通信,死鎖處理)
2)內存管理 (內存分配,地址映射,內存保護與共享,虛擬內存)
3)文件管理 (文件存儲空間管理、目錄管理、讀寫管理和保護)
4)設備管理 (緩衝管理、設備分配、虛擬設備、設備處理)
5.進程控制塊(Process Control Block,PCB)描述進程基本信息和運行狀態,所謂的創建進程和撤銷進程,都是對PCB的描述。
6.進程是資源分配的基本單位,線程是獨立調度的基本單位
7.進程調度算法
1)批處理系統
由於沒有過多用戶操作,因此需要保證吞吐量和週轉時間
a.FCFS
b.SJF
c.SRTN(最短剩餘時間優先)
2)交互式系統
由於有大量用戶操作,因此目的是快速相應
a.時間片輪轉
b.優先級調度(可以隨着時間推移增加優先級)
c.多級反饋隊列(每個隊列時間片不同,如1,2,4,8)
8.經典同步問題
生產者-消費者
讀者-寫者
哲學家就餐
9.進程間通信(IPC)
1)管道pipe,支持半雙工通信(單向傳輸),只能在父子進程彙總使用
2)FIFO, 也是管道,但是解除了父子的限制
3)消息隊列,獨立於進程存在,避免阻塞
4)信號量
5)共享存儲,速度最快
6)socket,