随笔分类 - OperatingSystem(Linux)
摘要:LVM LVM for Logical Volume Manager(邏輯捲管理)。 用戶在安裝Linux系統時常常遇到的一個問題就是無法準確的評估分區的大小。如果一個分區的大小沒有合適的分配,常常會遇到大文件無法存下的情況。一個邏輯分區無法存下時,無法跨越多個分區存儲。通常可以使用符號鏈解決。但是
阅读全文
摘要:物理地址擴展(Physical Address Extension, PAE) 今早在知乎上看到一個新概念——物理地址擴展,查閱了許多資料,發現都只是將維基百科上的敘述再講了一遍,依舊十分晦澀難懂,於是打算自己用更加易懂的語言將自己的感悟寫下。 早期的CPU和操作系統都是32位的,可以訪問的物理內存
阅读全文
摘要:Linux的常用目錄 /etc:包括絕大多數Linux系統引導所需的配置文件,系統引導時讀取配置文件,按照配置文件的選項來進行不同的啟動。root有權限修改,一般用戶有權限查看。 /lib:包含C編譯程序所需要的函數庫,是一組二進制文件,如glibc等。 /usr:usr是UNIX Software
阅读全文
摘要:操作系統4 文件系統 文件 1. 文件是計算機系統中信息存放的一種組織形式 2. 文件的分類 普通文件:如保存在磁盤上的c文件,可執行文件,以及目錄等。這種文件的特性是數據在存儲設備上存放,內核提供了對數據的抽象訪問。 字符設備文件:一種能夠像文件一樣被訪問的設備,如控制台,串口等。 塊設備文件:磁
阅读全文
摘要:Intel 80386 CPU簡單了解 本文转载于:https://chyyuu.gitbooks.io/ucore_os_docs/content/lab0/lab0_2_5_3_intel_80386_registers.html 運行模式 一般CPU只有一种运行模式,能够支持多个程序在各自独立
阅读全文
摘要:C語言中的內存對齊操作 在編譯器給變量分配內存時,變量首地址總是變量字節數的倍數。比如在一段64位的地址空間中,總共有8個字節,char類型總是佔用8個字節,可以隨意分配。而int類型佔用4個字節,如果在這段空間中,前面3個字節都被char類型佔據,那麼int類型分配內存並不會緊接著第4個字節分配內
阅读全文
摘要:操作系統3 內存管理(Linux系統的內存管理方法) 9. Linux系統的內存管理方法 Linux採用“按需調頁”算法,支持三層管理策略。由於Intel CPU在硬件級提供了段式存儲管理和二層頁式存儲管理,Linux作為軟件,必須與之兼容。所以Linux實際上放棄了段式存儲管理,將第二層的頁式管理
阅读全文
摘要:操作系統3 內存管理(請求分段存儲管理) 8.請求分段存儲管理 8.1 請求分段的原理與硬件支持 在段式存儲管理實現的虛擬存儲器上,以段為單位進行換入,換出。相比於請求分頁存儲系統,分段存儲因為段的大小不固定,所以置換算法更加難以實現。請求分段管理的實現需要 段表機制、缺段中斷機制和地址變換機構的支
阅读全文
摘要:操作系統3 內存管理(頁面置換算法) 7. 頁面置換算法 在上一節講過, 換入換出頁面要根據特定的算法來執行, 這種算法就是頁面置換算法. 不合適的算法可能會使系統發生抖動,所謂抖動即指剛剛換出的頁面又要換回來,換回來不久又要換出去,這樣就導致系統的大部分工作時間都花在了頁面調度上,導致效率不高。
阅读全文
摘要:操作系統內核 宏內核與微內核(轉載) 聲明:本文從CSDN轉載,原文鏈接為:https://blog.csdn.net/Silencegll/article/details/51496158 操作系统内核可能是微内核,也可能是单内核(后者有时称之为宏内核Macrokernel)。按照类似封装的形式,
阅读全文
摘要:操作系統3 內存管理(段式存儲管理) 4 段式存儲管理 4.1 段式存儲的思想 頁式存儲僅僅考慮了程序的長度,可以使一個程序可以不連續地加載內存,但是沒有考慮程序的邏輯結構。 一個程序在加載內存時,其不同部分的訪問權限是不一樣的 。比如程序部分可以多個進程共享,無法修改。而數據部分可以修改,只能由一
阅读全文
摘要:操作系統3 內存管理(分區存儲和頁式存儲) 2. 分區存儲管理方式 分區管理的基本思想是: 將內存空間氛圍一個或若干個連續的區域,稱為分區。每個分區可以存放一個獨立的用戶程序。分區的特點是一個程序可以連續地加載內存。 分區可以分為:單一分區、固定分區、可變分區和重定位分區。 2.1 單道程序的連續分
阅读全文
摘要:操作系統3 內存管理(存儲器管理概述) 1. 存儲器管理概述 1.1 存儲器的層次 寄存器 內存:包括內存、高速緩存、硬盤緩存 外部存儲器 從左至右存儲速度遞減,存儲容量遞增。 高速緩存雖然與內存同為內存,但是其採取了靜態RAM(SRAM),而內存採用了動態RAM(DRAM)。SRAM的存儲速度接近
阅读全文
摘要:操作系統 處理機調度與死鎖3(死鎖) 7.死鎖問題 死鎖是指多個進程等待其它進程佔有的資源,因而無限期等待下去的局面。 系統發生死鎖時,一定具備以下四個條件: 互斥條件。對於一個排他性資源,某一時刻最多允許一個進程佔有。 佔有且申請條件。進程至少已佔有一個資源,又要申請新的資源。此時該進程阻塞,且在
阅读全文
摘要:操作系統 處理機調度和死鎖 5.調度算法 5.1 FCFS調度算法 FCFS(First Come First Served)調度算法是一種簡單的調度算法。該算法按照作業/進程進入隊列的先後順序進行調度。 5.2 短作業(短進程)優先算法 短作業優先調度算法(Shortest Job First,S
阅读全文
摘要:操作系統 處理機調度與死鎖1 1.作業管理 1.1 作業的概念 作業是用戶在一次解題或一個事務處理過程中要求計算機所做工作的集合。它由程序、數據和作業說明書組成,系統通過作業說明書來控制程序和數據,並且在批處理系統中,作業是加載內存的基本單位。 作業分為 脫機作業 和 聯機作業 。脫機作業是指用戶不
阅读全文
摘要:操作系统 进程管理(习题) 本文将回答一下课后的习题 1. 程序并发执行为什么会失去封闭性和再现性 答:在并行执行程序时,系统资源由多个程序所共享,则这些资源必然由这些程序来改变。程序执行时,必然会受到其他程序的影响。正是因为如此,不能以程序作为作为描述其执行过程的基本单位,催生了后来进程及进程上下
阅读全文
摘要:操作系统 进程管理(线程) 10. 线程 线程的基本概念 线程是比进程更小的、能够独立运行的基本单位,线程比进程能更好地提高程序的并行执行速度,充分利用多处理机的优越性。引用线程主要是为了提高系统的处理效率,减少处理机的空转时间和进行调度时因保护CPU现场浪费的时间。 线程是 进程中执行运算的最小单
阅读全文
摘要:操作系统 进程管理3(进程通信) 8. 进程通信 进程间的通信分为控制信息的传送和大量信息的传送两种,控制信息的传送称为 低级通信 ,大批量数据的传送称为 高级通信 。 高级通信分为 共享存储系统、消息传递系统和管道通信系统 。 共享存储系器系统 1. 共享存储器系统类型:在共享存储系统中,相互通信
阅读全文
摘要:操作系统 进程管理2(进程的同步与互斥) 6. 进程的同步与互斥 两个或两个以上的进程不能同时使用的资源称为 临界资源 。临界资源的存在带来了进程之间的互斥访问的问题。 进程互斥 :逻辑上完全独立、毫无关系的两个进程因为竞争同一块资源而相互制约,称为进程互斥。 进程同步 :有协作关系的进程不断调整它
阅读全文