原创 【操作系統】內存管理-基本分段管理方式

引入分段存儲管理方式的目的: 主要是爲了滿足用戶(程序員)在編程和使用上多方面的要求。 在分段存儲管理方式中,作業的地址空間被劃分爲若干個段,每個段定義了一組邏輯信息、 例如,有主程序段MAIN、子程序段X、數據段D及棧段S等(如下段表圖

原创 【操作系統】請求分頁儲存管理方式

常規存儲器管理方式(基本分頁、基本分段)的特徵 (1) 一次性。都要求將作業全部裝入內存後方能運行。許多作業在每次運行時,並非其全部程序和數據都要用到。如果一次性地裝入其全部程序,造成內存空間的浪費。  (2) 駐留性。作業裝入內

原创 【操作系統】進程調度算法

進程調度算法 調度算法是指:根據系統的資源分配策略所規定的資源分配算法。   1. 先來先服務調度算法。先來先服務(FCFS)調度算法是一種最簡單的調度算法,該算法既可用於作業調度, 也可用於進程調度。FCFS算法比較有利於長作業(進程

原创 【網絡基礎】電路交換、虛電路交換、分組交換的區別比較

電路交換: 以電路聯接爲目的的交換方式是電路交換方式。電話網中就是採用電路交換方式。 電路交換的動作,就是在通信時建立(即聯接)電路,通信完畢時拆除(即斷開)電路。 優點:  ①由於通信線路爲通信雙方用戶專用,數據直達,所以傳輸數據的時延

原创 【網絡基礎】路由表,分組轉發算法

前提: IP數據報的首部中沒有地方可以用來指明“下一跳路由器的 IP 地址”。 那麼,當路由器接受到一個待轉發的報文時,是如何確定將該報文的傳向呢?在此,我們引入“路由表”概念。 路由表如圖所示: 當一個IP報文傳到路由器R2時,則會

原创 【網絡基礎】子網劃分、基於子網掩碼的分組轉發

爲什麼需要子網劃分? 1、我們知道,Internet組織機構定義了五種IP地址用於主機的有A、B、C三類地址。其中A類網絡有126個,每個A類網絡可能有 16 777 214臺主機,它們處於同一廣播域。而在同一廣播域中有這麼多結點是不可能

原创 【程序設計】Poco::Thread

Poco實現線程的機制,它將線程Thread和線程運行的實體Runnable分離開來,就像一個框架,Thread管理線程優先級,堆棧,維護線程局部變量;而運行的代碼是在Runnable的子類run方法中實現的。 我們在MyRunn

原创 【網絡基礎】IP數據報文段解析

IP數據報文段的結構示意圖如下: (1)版本 佔4位,指IP協議的版本。 通信雙方使用的IP協議版本必須一致。目前廣泛使用的IP協議版本號爲4(即IPv4)。關於IPv6,目前還處於草案階段。 (2)首部長度 佔4位,可表示的最大十進

原创 【操作系統】死鎖的概念,產生原因和必要條件

死鎖的概念: 死鎖是指多個進程在運行過程中因爭奪資源造成的一種僵局。若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖,這些永遠在互相等待的進程稱爲死鎖進程。  產生死鎖的原因: 附:可剝奪資源和不可剝奪資源 系統

原创 【操作系統】頁面置換算法

最佳(Optimal)置換算法 最佳置換算法是一種理想化的算法,它具有最好的性能,但實際上(目前)是無法實現的。 最佳置換算法是由Belady於1966年提出的一種理論上的算法。其所選擇的被淘汰頁面,將是以後永不使用的,或許是在最長

原创 【網絡基礎】OSI TCP/IP體系結構

OSI參考模型是由國際標準化組織於1977年制定的,這是一個計算機互連的國際標準。 ISO制定這一國際標準的宗旨就是使任何一種計算機系統無論位於世界任何地方,只要符合OSI標準就能和另一個遵守OSI標準的計算機系統實現互聯通信。 OSI

原创 【網絡基礎】數據鏈路層實現的三大功能

數據鏈路層實現的三大功能分別爲: (1) 封裝成幀 (2) 透明傳輸 (3) 差錯控制 1、封裝成幀 封裝成幀就是在一段數據前後分別添加首部和尾部,構成了一個幀。 接收端在收到物理層上交的比特流後,能根據首部跟尾部的標記,從收到的比特流

原创 【Linux】Linux下的多線程編程

1 引言   線程(thread)技術早在60年代就被提出,但真正應用多線程到操作系統中去,是在80年代中期,solaris是這方面的佼佼者。傳統的Unix也支持線程的概念,但是在一個進程(process)中只允許有一個線程,這樣多線程就

原创 【操作系統】分段管理和分頁管理的區別

分頁和分段系統有許多相似之處。 比如,兩者都採用離散分配方式,且都要通過地址映射機構來實現地址變換。 但在概念上兩者完全不同,主要表現在下述三個方面。 1、 頁是信息的物理單位,用戶透明,長度固定。 分頁是爲實現離散分配方式,以消減內

原创 【操作系統】內存管理-基本分頁管理方式

在存儲器管理中,連續分配方式會形成許多“碎片”,雖然可通過“緊湊”方法將許多碎片拼接成可用的大塊空間,但須爲之付出很大開銷。如果允許將一個進程直接分散地裝入到許多不相鄰的分區中,則無須再進行“緊湊”。基於這一思想而產生了離散分配方式。如