原创 操作系統3.1.2 內存管理的概念

一、內存空間的分配和回收 操作系統負責內存空間的分配與回收。後面會有專門的小節進行介紹。   二、內存空間的擴充(實現虛擬性) 操作系統需要提供某種技術從邏輯上對內存空間進行擴充。   三、地址轉換 操作系統負責實現邏輯地址到物理地址的轉

原创 操作系統2.4.4 死鎖的檢測和解除

一、死鎖檢測 爲了能系統是否已經發生死鎖進行檢測,必須 1、用一種數據結構來保存資源的請求和分配信息 2、用一種算法,利用上述信息來檢測系統是否進入死鎖狀態 如果系統中剩餘的可用資源足夠滿足進程的需求,那麼這個進程暫時不會被堵塞,可以

原创 操作系統3.1.3 內存空間擴充技術(覆蓋與交換)

本節主要講覆蓋技術和交換技術,虛擬存儲技術在後續小節會詳細展開。   實現內存空間擴充的技術 一、覆蓋技術 用於解決“程序大小超過物理內存總和”的問題。 思想: 將程序分爲多個段,常用的段常駐在內存,不常用的段在需要時才從外存調入內存。

原创 操作系統3.1.5 動態分區分配算法

在動態分區分配方式中,當很多個空閒分區都能滿足需求時,應該選擇哪個分區進行分配? 一、首次適應算法(First Fit) 1、算法思想:每次都從低地址部分開始查找,找到第一個能滿足大小的空閒分區 2、如何實現:空閒分區以地址遞增的次序排

原创 操作系統3.1.4 連續分配管理方式

連續分配:意味着爲用戶進程分配的必須是一個連續的內存空間。     一、單一連續分配 在單一連續分配方式中,內存被分爲系統區和用戶區,系統區通常位於內存的地址部分,用於存放系統相關數據;用戶區用於存放用戶進程相關數據。 內存中只能有一道

原创 操作系統2.4.1 死鎖的概念

一、什麼是死鎖? 多個進程因競爭資源而導致各進程都阻塞(相互等待)。 若無外力作用,這些進程都將無法向前推進。   二、進程死鎖、飢餓、死循環的區別(選擇題) 死鎖:各個進程互相等待對方手中的資源,導致各個進程都堵塞無法向前推進的現象 飢

原创 操作系統2.3.11 管程

一、爲什麼要引入管程 爲了實現進程的同步,互斥操作,我們引入了信號量機制。 但信號量機制存在問題:我們編寫程序困難,容易出錯。 於是爲了方便實現進程的同步,互斥操作提出了管程。   二、管程的組成和基本特性 1、管程的組成 2、管程的基

原创 操作系統2.4.2 預防死鎖

  一、靜態策略:預防死鎖 1)破壞互斥條件 互斥條件:只有對必須互斥使用的資源的爭搶纔會導致死鎖 破壞互斥條件: 如果把只能互斥使用的資源改造成允許共享使用,則系統不會進入死鎖狀態。 比如SPOOLing技術可以把獨佔設備在邏輯上改造

原创 操作系統2.4.3 避免死鎖(銀行家算法)

一、什麼是安全序列 所謂的安全序列,就是指系統如果按照這種序列分配資源,則每個進程都能順利完成。只要能找出一個安全序列,系統就處於安全狀態。當然,安全序列可以有多個。   二、安全序列、不安全狀態、死鎖的聯繫 如果分配資源後,系統中找不出

原创 數據庫原理實驗二:SQL定義語言

實驗目的 能夠使用SQL語言進行基本表的結構的定義、修改、刪除,會建立與刪除索引; 實驗內容 用SQL語言進行基本表結構的定義、修改、刪除,索引的建立和刪除 實驗步驟 1 在SQL SERVER 中新建查詢,建立到服務器的連接 2 用SQ

原创 LeetCode 2. 兩數相加 Add Two Numbers

題目:   給定兩個非空鏈表來表示兩個非負整數。位數按照逆序方式存儲,它們的每個節點只存儲單個數字。將兩數相加返回一個新的鏈表。 你可以假設除了數字 0 之外,這兩個數字都不會以零開頭。   示例: 輸入:(2 -> 4 -> 3) +

原创 Linux 添加用戶(user) 到用戶組(group)

將一個用戶添加到用戶組中,千萬不能直接用:  usermod -G groupA  這樣做會使你離開其他用戶組,僅僅做爲 這個用戶組 groupA 的成員。    應該用 加上 -a 選項:  usermod -a -G groupA u

原创 訪問服務器網站出現 HTTP ERROR 500 該網頁無法正常運作

項目在本地寫好後上傳到服務器訪問出現如下圖所示: 經過查看php日誌文件發現問題在於數據庫連接錯誤,如下圖: 將項目中數據庫配置部分修改成服務器中數據庫的用戶名和密碼,重啓服務器即可正常訪問。

原创 操作系統原理第三章 -- 死鎖

計算機操作系統(第四版) 一、死鎖的知識點 1,死鎖的定義: 如果一組進程中的每一個進程都在等待僅由該組進程中的其它進程才能引發的事件,那麼該組進程是死鎖的。 (兩個或兩個以上的進程等候着一個永遠不會發生的事件時所取的一種系統狀態)  

原创 操作系統原理第四章 -- 存儲器管理

計算機操作系統(第四版) 一、 知識點總結 1,存儲器的多層結構:內存、外存、高速緩存  2,★分配方式:   段頁式存儲管理 3,★分區分配算法: 4,離散分配方式基本單位是頁或段 5,對主存儲器的訪問,是以字節或字爲單位 6,在分