原创 用戶級線程與內核級線程的區別

轉載於http://col1.blog.163.com/blog/static/1909775192012719114033352/ 1 .內核級線程:切換由內核控制,當線程進行切換的時候,由用戶態轉化爲內核態。切換完畢要從內核態返回

原创 求鏈表的倒數第k個數值(親測有效,環境VS2010)

題目:輸入一個鏈表,輸出該鏈表中倒數第k個結點的值。爲符合大家的習慣的,本題目從1開始計數,級鏈表的尾結點是倒數第一個結點。 代碼如下: #include <stdio.h> #include <stdlib.h> struct Lis

原创 oracle錯誤號

ORA-00001: 違反唯一約束條件 (.) ORA-00017: 請求會話以設置跟蹤事件 ORA-00018: 超出最大會話數 ORA-00019: 超出最大會話許可數 ORA-00020: 超出最大進程數 () ORA-00021:

原创 tcp窗口滑動以及擁塞控制

TCP協議作爲一個可靠的面向流的傳輸協議,其可靠性和流量控制由滑動窗口協議保證,而擁塞控制則由控制窗口結合一系列的控制算法實現。一、滑動窗口協議     關於這部分自己不曉得怎麼敘述纔好,因爲理解的部分更多,下面就用自己的理解來介紹下TC

原创 Linux上free命令

解釋一下Linux上free命令的輸出。   下面是free的運行結果,一共有4行。爲了方便說明,我加上了列號。這樣可以把free的輸出看成一個二維數組FO(Free Output)。例如: FO[2][1] = 24677460 FO

原创 centOS release 6.3 下安裝gcc編譯器(分在線和rpm包安裝)

剛拿到一臺操作系統時,會使用GCC編譯來編譯代碼,可是此時可能會提示gcc命令不能用,主要是因爲系統沒有安裝。 1.在線安裝 執行命令 yum install gcc-c++ 2.但有時候無法連接外網的情況下,可以用系統的rpm包進行安裝

原创 Debug Assertion Failed!

相信大家搞VC的都遇到這樣一個問題 網上有很多解答,然而出現問題的line行數卻不盡相同,今天我在界面加了一個組合框CComboBox控件,然後初始化等等。。。一切都沒有問題,但是接下來調試的時候卻出現以上對話框,其實忽略之後程序也可以

原创 內核級線程和用戶級線程的異同(2)

這幾天在和同學討論的時候,對於內核線程和用戶線程概念上出現了問題,在網上搜索了不少文章,感覺還是不是我想要的,下來查看了以前學習的操作系統才弄 明白,在這裏將我的理解寫出來讓大家看看,和大家分享分享。。。 線程已經在許多系統中實現,到那

原创 有了進程爲什麼還要線程?

進程是什麼? 程序並不能單獨運行,只有將程序裝載到內存中,系統爲它分配資源才能運行,而這種執行的程序就稱之爲進程。程序和進程的區別就在於:程序是指令的集合,它是進程運行的靜態描述文本;進程是程序的一次執行活動,屬於動態概念。 在多道編程中

原创 Linux中的IO模型

深入理解JAVA I/O系列六:Linux中的IO模型 IO模型   linux系統IO分爲內核準備數據和將數據從內核拷貝到用戶空間兩個階段。   這張圖大致描述了數據從外部磁盤向運行中程序的內存中移動的過程。 用戶空間、內核空間   

原创 centOS安裝telnet(在線和rpm包安裝)

在執行telnet時會提示命令不存在,此時輸入命令 rpm -qa telnet-server ,若無輸出內容,則表示沒有安裝。 1.在線安裝 分別執行如下兩個命令: yum install telnet yum install te

原创 操作系統中的中斷

中斷產生後操作系統最底層的工作步驟如下: 1.硬件壓入堆棧程序計數器等。 2.硬件從中斷向量裝入新的程序計數器。 3.彙編語言過程保存寄存器值。 4.彙編語言過程設置新的堆棧。 5.C中斷服務例程運行(典型的讀和緩衝輸入)。 6.調度程序

原创 linux和Windows下讀取目錄下文件

void getAllFiles(string path, vector<string>& files, string fileType) { #ifdef OS_WIN     // 文件句柄     long hFile = 0;  

原创 nvl函數

Oracle中函數以前介紹的字符串處理,日期函數,數學函數,以及轉換函數等等,還有一類函數是通用函數。主要有:NVL,NVL2,NULLIF,COALESCE,這幾個函數用在各個類型上都可以。 下面簡單介紹一下幾個函數的用法。 在介紹這個

原创 linux中文亂碼問題

vi  /etc/sysconfig/i18n(不同的系統這個文件可能不一致,我的是2.6.32-431.el6.x86_64) 添加LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.GB18030" 然後重