原创 尊重工程師的時代終將到來

今天終於看到一位勇士爲我們工程師發聲,爲這位女俠點贊,勇士也。希望中國的工程師早日得到該有的尊重。         https://money.163.com/19/1101/09/ESSTN9RD00259DLP.html

原创 Linux操作系統學習_用戶進程之由新進程創建到可執行程序的加載

 fork()函數大家應該都不陌生,一個現有進程可以調用fork函數來創建一個新進程,由fork()創建的新進程通常被稱爲子進程。fork()函數被

原创 delete [] 時如何知道數組長度

在 C++ 中,你也許經常使用 new 和 delete 來動態申請和釋放內存,但你可曾想過以下問題呢? new 和 delete 是函數嗎?new [] 和 delete [] 又是什麼?什麼時候用它們?你知道 operator new

原创 C++函數異常說明

爲了能夠編寫適當的catch子句,瞭解一個函數是否拋出異常或會拋出哪些異常對函數的用戶來說是很有幫助的。 而我們可以通過 異常說明 進行對一個函數的異常進行說明, 如果函數拋出異常,被拋出的異常將是包含在該說明中的一種或是從列出的異常中派

原创 Windows上通過程序寫入回車字符

Windows上,對於含有\n回車字符的字符串,通過程序以二進制和文本兩種方式寫入到文件裏的結果是不一樣的。   如果是通過程序,以文本的方式向文件中寫入'\n'字符,windows會自動將'\n'字符保存爲'\r\n'; 如果以二進制格

原创 U盤啓動自己的操作系統

       學習 <<一個操作系統的實現>>也有一段時間了,但是一直沒有動手真正地實踐過。今天終於下定決心來玩一下,根據書中的例子做一個自己的操作系統,並啓動進入該系統。準備工作就是一個Ubuntu系統且按照書上要求安裝了相應的軟件,另

原创 進程切換與TSS

[轉] http://www.eefocus.com/article/09-06/74895s.html Intel i386 體系結構包括了一個特殊的段類型,叫任務狀態段(TSS),如圖5.4所示。每個任務包含有它自己最小長度爲1

原创 enable_from_this方法的使用與陷阱

enable_from_this 的使用與實現原理說明: shared_from_this()是enable_shared_from_this的成員函數,返回shared_ptr; 注意的是,這個函數僅在shared_ptr的構造函數

原创 Internal Linkage和External Linkage

Linkage To understand the behavior of C and C++ programs, you need to know about linkage. In an executing program, an

原创 磁盤分區類型

NOTE: All Partition Type values listed below are inHexadecimal. Remember:Partition types do *not* necessarily specify a

原创 判斷一個整數是否是迴文數

判斷一個整數是否是迴文,並且不能用額外的存儲空間。 如22222是迴文,1234321也是迴文數,即從左往右念和從右往左念是一樣的。 int GetNo(int number) { if ( number < 0 ) re

原创 磁盤分區

一、 硬盤分區有三種,主磁盤分區、擴展磁盤分區、邏輯分區。 一個硬盤主分區至少有1個,最多4個,擴展分區可以沒有,最多1個。且主分區 + 擴展分區總共不能超過4個。邏輯分區可以有若干個。   分出主分區後,其餘的部分可以分成擴展分區,一

原创 c++ 前置++與後置++的區別

用C++編程的都知道,C++提供了一個非常強大的操作符重載機制,利用操作符重載,我們可以爲我們自定義的類增加更多非常有用的功能。不過,C++也有限制

原创 16位和32位代碼段

在對ix86編程時,有時候需要從實模式變換到保護模式(如在DOS時代要訪問擴展內存,或者編寫引導代碼,當然,如果在32位的操作系統下面編程,是碰不到這個問題的),總是要涉及16位代碼段和32位代碼之間的跳轉問題。因此有必要對他們進行區分。

原创 Linux 進程切換 0.11與2.4的比較

0.11的進程模型與2.4不同。0.11中每個進程都有一個tss結構,用於保存/恢復進程切換時的現場(主要都是一些寄存器);而2.4中每個cpu使用