軟件技術基礎知識複習

一、引言

隨着找工作的不斷深入,發現在算計技術基礎這塊基本上是空白,看來還是得看書複習一下。

軟件技術基礎一般包括數據結構、操作系統、軟件工程方法、數據庫和計算機網絡。而這其中的每一部分知識點,都可以看做一本教材了。如果是計算機出身,或尋找軟件開發方向的工作,這部分的知識,每個單獨看一本書是有必要的,但是對於算法工程師,還是稍微簡要的瞭解最基礎的知識就可以了。

數據結構與編程靠的比較緊密,前面已經有個大概的知識框架了,而後面的部分,是這次主要複習的點。

二、操作系統基礎

1.概述:計算機資源包括硬件(cpu、存儲器和外設)軟件(操作系統、應用程序以及數據),一般有硬件-操作系統-系統應用程序-用戶程序組成。

1.1操作系統的發展:手工操作階段、早期批處理階段、管理程序階段(加入了中端機制)、多道程序與多批處理系統(cpu進行併發程序執行);

1.2操心繫統的功能:處理器管理(進程控制、進程同步、進程通信。進行調度)、存儲管理(內存分配與回收、存儲保護、地址映射、內存擴充、設備管理)、文件管理、用戶接口;

1.3操作系統的特徵:併發性(多道程序同時運行)、共享性(多個進程共同使用有限的資源,包括互斥共享,併發共享(交替資源訪問)。虛擬性(虛擬地址)不確定性);

1.4操作系統的分類:批處理操作系統(多道:系統中有多個作業,成批:作業過程中不允許用戶的干預)、分時操作系統(運行多用戶同時對資源進行分享,具有多路性、交互性、獨立性、及時性)、實時操作系統(具有及時響應的特點,精密控制中,及時性、高可靠性、多路性、加的你的交互功能)、網絡操作系統(提供可靠的網絡通信功能,提供網絡服務)、分佈式操繫系統(以網絡爲基礎,實現邏輯上耦合,物理上分散,同意的接口界面。)、嵌入式操作系統;

2.處理機制

2.1進程:可併發後自行的程序在給定的數據集上的一次執行過程;具有聲明週期,具有動態性、併發性(間隔執行)、獨立性(可以被系統分配資源,能進行處理調度,進程之間相互獨立)、異步性(不可預知的執行順序、時間);對應於PCB(進程控制塊),包含進行的標示信息,狀態信息,調度今夕,控制信息;

進程狀態的轉換:包括就緒狀態,執行狀態,阻塞狀態;三者之間可以單步轉換,此外除執行狀態外包括掛起狀態。

2.2進程之間的互斥與同步:互斥關係(對同一資源的享用相互約束)、同步關係(在執行的過程中相互合作完成同一項任務);

進程的互斥:隱資源的共享而產生互斥(資源只能由同一進程在某一時刻使用),這種資源稱爲臨界資源,那些代碼爲臨界區;進程同步遵循空間讓進。忙則等待。有權等待,讓全等待等。

2.3進程調度:包括低級中中級以及高級調度;爲了記錄所有進程的執行情況,確定分配機制,處理機的回收與分配。

2.4死鎖:進程之間擁有彼此需要的資源而形成阻塞。必要條件有:互斥條件(資源只能由一個進程戰友)、不剝奪條件(佔有了的不能被剝奪)、部分分配原則(佔有現有資源,並申請新的),環路保護(資源申請按照順序來);

防死鎖:靜態分配策略、允許剝奪、資源使用順序法;銀行家算法;加入死鎖檢測與接觸算法;

2.5進程的通訊:消息緩衝、管道通信、信箱通信;

線程:是進程的執行實體,不能申請資源,具有併發性有用線程控制塊,狀態有執行、就緒、阻塞。特點:與進程的區別,有併發性,包含三狀態,有操作系統或用戶完成,開銷小。

3。作業管理與接口

3.1作業控制塊:JCB。狀體有進入、後備、運行和完成;調度算法:先來先服務,最高優先級,最短作業法,最高響應作業法,

3.2操作系統接口:命令接口,系統調用,圖形接口:對話框,窗口;作業控制方式:命令,菜單,窗口;


4.存儲管理

功能:內存分配和回收,內存共享、存儲保護,地址映射(動態地址和靜態地址),內存空間的擴充;

分區存儲管理:固定分區,可變分區(包含分區控制塊)、存儲分配策略(首次適應算法,最佳適應算法,最壞適應算法),覆蓋與交換;

虛擬存儲管理:分頁存儲管理:段式存儲管理;段頁存儲管理;


5.設備管理:

包括IO設備,存儲設備;又分爲獨佔設備,共享設備,虛擬設備;

功能:提供接口,發揮設備使用效率;

數據控制方式:中端控制方式,DMA控制方式,通道控制方式;


6.文件管理;

文件分類:按照文件性質,內容,保護級別;

文件系統的功能;管理存儲空間,存放,地址映射,操作,共享;

文件組織形式,物理結構(連續,鏈式,索引)

文件目錄,包含文件控制塊,文件共享保密保護;

文件的使用:創建,打開,讀寫,關閉;


參考書籍:

1《軟件技術基礎》








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章