原创 The Atlas Supervisor
本文主要是對The Atlas Supervisor一文的簡要翻譯(對不關注的地方簡略翻譯),而對系統研究放在下個博客討論。 一、Atlas Supervisor 簡介 Atlas Superv
原创 linux下的系統調用函數到內核函數的追蹤
使用的 glibc : glibc-2.17 使用的 linux kernel :linux-3.2.07 系統調用是內核向用戶進程提供服務的唯一方法,應用程序調用操作系統提供的功能模塊(函數)。 用戶程序通過系統調用從用
原创 PowerDesigner使用教程
文章轉置http://www.cnblogs.com/yxonline/archive/2007/04/09/705631.html PowerDesigner教程系列(一) 目標:本文主要介紹PowerDesigner中概念
原创 sizeof用法
sizeof()功能:計算數據空間的字節數 1.與strlen()比較 strlen()計算字符數組的字符數,以"\0"爲結束判斷,不計算爲'\0'的數組元素。 而sizeof計算數據(包括數組、變量、類型、結構
原创 淺談Linux系統調用
一、系統調用 什麼是系統調用呢?所謂系統調用就是用戶在程序中調用操作系統所提供的一些子功能,系統調用可以被看作特殊的公共子程序。它把用戶從底層的硬件編程中解放出來,極大的提高了系統的安全性,同時也使用戶程序移植性變爲可能。
原创 linux中system_call中斷處理過程
上次我們分析了系統調用大致過程,現在我們把這兩個系統調用的代碼放到MenuOS中,並用gdb跟蹤調試來看看從system_call開始到iret結束之間的整個過程。 邊看實驗過程邊分析: 首先我們要
原创 vs2005 調試基礎
通過前面兩篇,相信大家已經基本瞭解了我們的研究思路。既然是研究,那麼必須的研究工具就得熟練掌握了。這裏我所指的研究工具就是VC,我所使用的VC版本是2005。本文也將根據VC2005進行探討。可能很多朋友或者初學者還是使
原创 從一個簡單的內核看操作系統的工作
操作系統的工作過程很複雜,涉及到很多東西。本文並不是一點一滴的介紹其整個工作原理,而是通過一個簡單的內核小程序,大致解析os工作過程。 一、計算機的三大法寶 之前介紹過計算機的三大法寶中的前兩個:存儲程序計算機和堆棧。現在介紹第三
原创 fork()是如何創建新進程的
進程,我們一般都把它看做是程序執行的一個實例,是進程實體的運行過程,是系統進行資源分配和調度的一個獨立的單位。有產生、有消亡。當一個進程創建時,子進程可以繼承父進程所有資源,撤銷時,也要歸還所有資源。 一、進程描述符
原创 linux課程總結
linux世界很大,我想去學學。 從第一週到現在,每週的博客分享對我的幫助很大。不僅將自己學到的東西寫下來加深了印象,同時也方便自己和別人日後查閱。雖然只是入門講解,但是希望能對像筆者一樣的菜鳥有幫助。 一、
原创 淺析linux可執行文件
程序是以可執行文件的形式存放在磁盤上的,可執行文件既包括目標代碼也包括數據。我們一般所使用的庫函數可以被靜態的拷貝到可執行文件中,也可以運行時動態鏈接。 可執行文件是一個普通文件,它描述瞭如何初始化一個新的執行
原创 淺談linux進程調度
Linux是一種分時操作系統,也就是實現進程到進程的快速切換,讓用戶感到好像同時進行了多個線程。類似於操作系統中說到的時間片輪轉調度算法。 進程調度時機與進程切換 進程調度的時機有哪些呢?一般來說有三種情況。
原创 Thread 1: EXC_BAD_ACCESS
IOS 開發中,如果提前釋放一個指針的內存,在以後還繼續使用這個指針,那麼程序會立刻 crash 掉,而且很難有報錯信息,我以前都是靠猜測去判斷錯誤的原因,我們應該利用工具去找到錯誤的地方,然後快速準確的定位到錯誤地方,及其錯誤原因,
原创 vs2005快捷鍵
快捷鍵 功能CTRL + SHIFT + B 生成解決方案CTRL + F7 生成編
原创 linux中斷源碼分析 - 初始化(二)
本篇文章主要講述源碼中是如何對中斷進行一系列的初始化的。 回顧 在上一篇概述中,介紹了幾個對於中斷來說非常重要的數據結構,分別是:中斷描述符表,中斷描述符數組,中斷描述符,中斷控制器描述符,中斷服務例程。可以說這幾個結構組