原创 Linux中實時進程的調度---Linux內核筆記

Linux的進程分普通進程和實時進程,而實時進程又分SCHED_FIFO與SCHED_RR,它們都比普通進程的優先級高。 對於SCHED_FIFO進程,它就一直運行直到退出,除非它阻塞纔會釋放CPU, 或被更高優先級的實時進 程搶佔。 對

原创 Splicing MPEG Video Streams in the Compressed Domain(翻譯)

MPEG視頻拼接 綱要: 1.       簡介 2.       Splicing算法 3.       幀轉換 4.       速率控制 5.       實驗結果: PSNR、Buffer、Splicing MPEG2 Strea

原创 共享內存的實現---Linux內核筆記

系統調用mmap()通過映射一個普通文件實現共享內存。系統V則是通過映射特殊文件系統shm中的文件實現進程間的共享內存通信。也就是說,每個共享內存區域對應特殊文件系統shm中的一個文件(這是通過shmid_kernel結構聯繫起來的)。

原创 linux對TSS(任務狀態描述符)的使用---Linux內核筆記

linux2.4之前的內核有進程最大數的限制,受限制的原因是,每一個進程都有自已的TSS和LDT, 而TSS(任務描述符)和LDT(私有描述符)必須放在GDT中,GDT最大隻能存放8192個描述符,除掉 系統用的12描述符之外,最大進程數

原创 用戶進程共享3~4G內核地址空間---Linux內核筆記

首先要說明的一點是:Linux在內核態運行時(中斷生生或系統調用發生後進入內核態),使用的是當前進程的頁目錄,這樣做的好處是不用頻繁的切換頁目錄,防止頻繁刷新TLB,提高效率。每個用戶進程有自己獨立的0~3G地址空間,共享3~4G地址空間

原创 最簡單明瞭的驅動開發說明: Windows NT 設備驅動程序開發基礎(轉)

關鍵字 設備驅動程序 一、背景介紹 1.1 Windows NT操作系統的組成 1.1.1 用戶模式(User Mode)與內核模式(Kernel Mode) 從Intel 80386開始,出

原创 初識FVWM-窗口管理器

fvwm是一款X11下的窗口管理器,它的設計目標是最小化內存消耗,提供虛擬桌面,還有就是給於用戶最大的自由。它最吸引人的地方莫過於極大的可定製性,幾乎所有窗口管理器所做的事情你都可以去定製。不管是最大化,最

原创 多處理器系統在指定cpu上運行進程

 CPUSET是linux內核中的輕量級對象,它能使用戶區分多個處理器,在每個處理器上單獨運行進程,通過創建cpu集的方式。這是通過文件系統的方式實現的(舊內核是通過syscall方式)。 1) mkdir /dev/cpuset 2

原创 在視頻(YUV2 or YV12)上疊加字幕

在視頻(YUV2 or YV12)上疊加字幕 ,一般的方法是把YUV轉成RGB,與RGB疊加完成後再轉回YUV,但這樣會導致:1)把原始視頻轉成RGB再轉回YUV是損失視頻質量,我們都知道YUV與RGB之間

原创 中斷髮生後棧的佈局--linux內核筆記

異常發生後棧的佈局:ssespeflagscseip   以上由硬件自動完成壓棧工作ERROR_ CODE -----異常碼,有些異常無異常碼,用0代替(pushl 0)function    -----異常處理函數 pushl %ds 

原创 自己動手製作linux硬盤啓動

要求: 有一個已安裝的linux系統和一個空的硬盤, 這裏用VMWare 虛擬機作測試環境,用knoppix作linux系統。         用這樣的環境僅僅是爲了方便說明。 1) 從光盤啓動knoppix 2) 用fdisk爲硬盤分區

原创 用C實現C++的多態---剖析GTK的"對象" (四)

七. 寫自己的子對象 /**************************************************************  子對象RenderObject,繼承於CObject-------render_obj

原创 製作LiveCD

1) 需要的工具Redhat9.0、VMware虛擬機,選擇用grub作loader2) 製作ramdisk               A) cd /usr/local && mkdir initrd  

原创 在Redhat9下安裝GTK-FrameBuffer

在Redhat9下安裝GTK-FrameBuffer操作系統:redhat9軟件:gtk+-2.2(這裏要說一下,用gtk+-2.2是因爲它的依賴庫glib等rh9已經滿足,用高版本的還要安裝高版本的glib、pango等)第一步:編譯1

原创 用C實現C++的多態---剖析GTK的"對象" (三)

六. 全部代碼 /*********************************************************************** object.h文件 ***************************