P5 在這篇文章中,主要介紹CPU的一些基礎知識. 首先介紹一下Linux kernel中的調度器(scheduler),調度器負責調度系統中的兩種資源,一是線程,二是中斷。調度器給不同資源不同的優先級。從高到低為: 1. 硬件中斷(Hardware Interrupts)--這些請求由硬件觸發,比如磁盤已經完成了讀寫任務或是網卡受到了新的數據包。 2. 軟件中斷(Software Interrupts)--這里指的是維護內核運行的內核態軟件中斷。比如內核的時鐘管理進程。
P11 進程內核態堆棧結構:進程是動態實體,進程描述符是存放在動態內存中的。在一塊進程內存區上,Linux存放了兩個數據結構:指向task_struct得thread_info和內核態的進程棧。大小一般2頁8K,這要求頁面幀對齊2的13次冪,在X86上編譯時可以配置大小為4K。thread_info在內存區開始處,內核棧從內存尾向下增長。
P8 Linux缺頁中斷處理1.請求調頁中斷:進程線性地址空間里的頁面不必常駐內存,例如進程的分配請求被理解滿足,空間僅僅保留vm_area_struct的空間,頁面可能被交換到后援存儲器,或者寫一個只讀頁面(COW)。Linux采用請求調頁技術來解決硬件的缺頁中斷異常,并且通過預約式換頁策略。主缺頁中斷和次缺頁中斷,費時的需要從磁盤讀取數據時就會產生主缺頁中斷。
P3 一、邏輯地址轉線性地址???機器語言指令中出現的內存地址,都是邏輯地址,需要轉換成線性地址,再經過MMU(CPU中的內存管理單元)轉換成物理地址才能夠被訪問到。我們寫個最簡單的helloworld程序,用gccs編譯,再反編譯后會看到以下指令:mov???0x80495b0,%eax這里的內存地址0x80495b0就是一個邏輯地址,必須加上隱含的DS數據段的基地址,才能構成線性地址。
P 要了解 Linux 之前,就不能不知道什么是操作系統 ( Operation System, OS ),所以,首先我們來簡單的說一說什么是操作系統吧!先來想一想,當我們使用計算機時,屏幕上面顯示的咚咚是由哪里來的?嗯!是由顯示卡與屏幕顯像的;那么你現在可以藉由網絡看到這篇文章,則是藉由 Internet 、網絡卡、網絡線以及所有相關的電子器材與網絡器材所完成的一項任務!如果你要看 VCD 呢?那么就需要光驅、光盤、聲卡的發聲等等的支持。這么說來的話,所以在『工作』的東西都是『硬件』的工作呀!對了!就是這些計算機硬件在工作的。那么硬件怎么工作呢?那就是藉由『操作系統』來達成的啰!這個操作系統就是在溝通你這個使用者跟硬件之間的訊息傳遞啦!也就是說,沒有操作系統,那么你的計算機硬件就只是一堆廢鐵,什么工作都不能做的!
P2 實驗四系統管理及vi編輯器的使用按照以下提示進行操作,寫出關鍵步驟命令,回答相關問題,并寫在實驗報告中:1、用vi編輯器打開以一個新文件名newfile的文件,并插入當前磁盤分區信息,然后把vi編輯器轉入后臺,殺死該vi編輯器的進程,然后再用vi編輯器恢復打開該newfile文件。
P2 實驗二Linux文件系統回答以下問題并寫在實驗報告中:查看在你所使用的Linux系統的根目錄上有哪些目錄,并說明它們的作用是什么?Bin:用于存放供管理員和用戶使用的重要linux命令的二進制文件,包括shell解釋器等。
P2 實驗三Linux系統管理按照以下提示進行操作,寫出關鍵步驟命令,回答相關問題,并寫在實驗報告中:1.查看系統目前已經建立了那些用戶?新建一個c用戶,登陸密碼為:cccccc.
P20 嵌入到Linux正式Kernel(提高兼容性) 代碼級資源調用(提高性能) 虛擬機就是一個進程(內存易于管理) 直接支持NUMA技術(提高擴展性)
P1 常見的Linux操作系統登錄文件有如下幾個:1)/var/log/secure:記錄登錄系統存取數據的文件;例如pop3,ssh,telnet,ftp等都會記錄在此.2)/ar/log/wtmp:記錄登錄這的信息記錄,被編碼過,所以必須以last解析;
P147 第一章:Linux基礎知識一.LINUX/UNIX簡介是一套免費使用和自由傳播的類UNIX系統主要基于INTELX86系列CPU的計算機.由全世界各地的成千上萬程序員設計和實現.(可以在網上查相關資料)二.發展**三.特點1.開放性(開放源代碼)2.多用戶3.多任務(同時運行多個進程)4.可靠的系統安全5.良好移植性*四.LINUX安裝1.文件系統A.ext2B.ext3(為ext2升級,增加了日志功能,遇到非法關機,也能保存數據)。
P38 主要內容:命令的使用方式?文件及目錄操作命令?文件壓縮命令?聯機幫助命令??進程管理的命令使用命令命令的使用方式一般的Linux使用者均為普通用戶,而系統管理員一般使用超級用戶帳號完成一些系統管理的工作。一般超級用戶的用戶名為“root”,提示符為“#”。而一般用戶的提示符為“$”。Linux系統是以全雙工的方式工作,即從鍵盤把字符輸入系統,系統再將字符回送到終端并顯示出來。
P35 Linux服務器:SuSe10 sp2 64位<br> Oracle服務器:Oracle11gR2 64位
P16 linux和os:netstat:顯示網絡狀態tcpdump:主要是截獲通過本機網絡接口的數據,用以分析。能夠截獲當前所有通過本機網卡的數據包。它擁有靈活的過濾機制,可以確保得到想要的數據。ipcs:檢查系統上共享內存的分配ipcrm:手動解除系統上共享內存的分配(如果這四個命令沒聽說過或者不能熟練使用,基本上可以回家,通過的概率較小^_^,這四個命令的熟練掌握程度基本上能體現面試者實際開發和調試程序的經驗)cpu內存硬盤等等與系統性能調試相關的命令必須熟練掌握。
P6 知道異步IO已經很久了,但是直到最近,才真正用它來解決一下實際問題(在一個CPU密集型的應用中,有一些需要處理的數據可能放在磁盤上。預先知道這些數據的位置,所以預先發起異步IO讀請求。等到真正需要用到這些數據的時候,再等待異步IO完成。使用了異步IO,在發起IO請求到實際使用數據這段時間內,程序還可以繼續做其他事情)。假此機會,也順便研究了一下linux下的異步IO的實現。linux下主要有兩套異步IO,一套是由glibc實現的(以下稱之為glibc版本)、一套是由linux內核實現,并由libaio來封裝調用接口(以下稱之為linux版本)。
P 以 Linux 為代表的自由操作系統的很多優點之一, 是它們的內部是開放給所有人看的. 操作系統, 曾經是一個隱藏的神秘的地方, 它的代碼只局限于少數的程序員, 現在已準備好讓任何具備必要技能的人來檢查, 理解以及修改. Linux 已經幫助使操作系統民主化. Linux 內核保留有大量的復雜的代碼, 但是, 那些想要成為內核 hacker 的人需要一個入口點, 這樣他們可以進入代碼中, 不會被代碼的復雜性壓倒. 通常, 設備驅動提供了這樣的門路.<br> 驅動程序在 Linux 內核里扮演著特殊的角色. 它們是截然不同的"黑盒子", 使硬件的特殊的一部分響應定義好的內部編程接口. 它們完全隱藏了設備工作的細節. 用戶的活動通過一套標準化的調用來進行, 這些調用與特別的驅動是獨立的; 設備驅動的角色就是將這些調用映射到作用于實際硬件的和設備相關的操作上. 這個編程接口是這樣, 驅動可以與內核的其他部分分開建立, 并在需要的時候在運行時"插入". 這種模塊化使得 Linux 驅動易寫, 以致于目前有幾百個驅動可用.
P23 libpcap是unix/Linux平臺下的網絡數據包捕獲函數包,大多數網絡監控軟件都以它為基礎。libpcap可以在絕大多數類unix平臺下工作,本文分析了libpcap在Linux 下的源代碼實現,其中重點是Linux的底層包捕獲機制和過濾器設置方式,同時也簡要的討論了 libpcap使用的包過濾機制 BPF。
P8 Linux個人學習小結
P2 linux-find命令總結這里總結一些常用到的關于find的命令的操作:Find命令的一般形式為:#findpathname-options[-print-exec-ok]讓我們來看看該命令的參數:pathnamefind命令所查找的目錄路徑。
P 本書是被譽為UNIX編程“圣經”的Advanced Programming in the UNIX Environment一書的更新版。在本書第1版出版后的十幾年中,UNIX行業已經有了巨大的變化,特別是影響UNIX編程接口的有關標準變化很大。本書在保持了前一版風格的基礎上,根據最新的標準對內容進行了修訂和增補,反映了最新的技術發展。書中除了介紹UNIX文件和目錄、標準I/O庫、系統數據文件和信息、進程環境、進程控制、進程關系、信號、線程、線程控制、守護進程、各種I/O、進程間通信、網絡IPC、偽終端等方面的內容,還在此基礎上介紹了多個應用示例,包括如何創建數據庫函數庫以及如何與網絡打印機通信等。此外,還在附錄中給出了函數原型和部分習題的答案。<br> 本書內容權威,概念清晰,闡述精辟,對于所有層次UNIX程序員都是一本不可或缺的參考書。