linux非強制中斷的小結

    一. 非強制中斷概況    非強制中斷是利用硬體中斷的概念,用軟體方式進行類比,實現宏觀上的非同步執行效果。很多情況下,非強制中斷和"訊號"有些類似,同時,非強制中斷又是和硬中斷相對應的,"硬中斷是外部裝置對CPU的中斷","非強制中斷通常是硬中斷服務程式對核心的中斷","訊號則是由核心(或其他進程)對某個進程的中斷"(《Linux核心原始碼情景分析》第三章)。非強制中斷的一種典型應用就是所謂的"下半部"(bottom half),它的得名來自於將硬體中斷處理分離成"上半部"和"下半部"

linux下編譯安裝gcc

    最近研究網路編程,最後發現還是unix/linux下相關資源比較多,研究起來方便,所以最近在安裝相關開發環境,第一步當然是安裝gcc。用rpm包安裝,我想很多人會,沒什麼好說的。這裡介紹從原始碼編譯安裝,我的安裝平台為fedora11-x86_64。    首先當然是下載相關原始碼了。我下載了gmp-4.3.2.tar.bz2,mpfr-2.4.2.tar.bz2,gcc-4.4.3.tar.bz2這三個包。gcc大家都認識,gmp,mpfr這兩個是gcc依賴的,官方描述為。   

Linux作業系統中GCC的應用介紹

在為Linux開發應用程式時,絕大多數情況下使用的都是C語言,因此幾乎每一位Linux程式員面臨的首要問題都是如何靈活運用C編譯器。目前Linux 下最常用的C語言編譯器是GCC(GNU Compiler Collection),它是GNU項目中符合ANSI C標準的編譯系統,能夠編譯用C、C++和Object C等語言編寫的程式。GCC不僅功能非常強大,結構也異常靈活。最值得稱道的一點就是它可以通過不同的前端模組來支援各種語言,如Java、

用vnc實現windows遠端連線linux案頭

網路遙控技術是指由一部電腦(主控端)去控制另一部電腦(被控端),而且當主控端在控制端時,就如同使用者親自坐在被控端前操作一樣,可以執行被控端的應用程式,及使用被控端的系統資源。 VNC(Virtual Network Computing)是一套由AT&T實驗室所開發的可操控遠端電腦的軟體,其採用了GPL授權條款,任何人都可免費取得該軟體。VNC軟體主要由兩個部分組成:VNC server及VNC viewer。使用者需先將VNC

segmentation fault—-在Linux下真是一個蛋疼的錯誤,總結一下出現這錯誤的經曆

    這真是一個蛋疼的錯誤!    筆者經曆過幾次這個錯誤,一直也沒有注意,知道後來經常遇到這個錯誤,覺得應該總結出來,引以為戒,同時也為各位同仁們,增加錯誤庫,提高解決問題的速度。    這個錯誤,查一下就知道是段錯誤,一般是指標出錯,或者內容益處,反正就是一些不正常操作,系統無法執行下去了,就會產生這個錯誤。    廢話,這誰都知道,但是要根據具體問題,具體分析,說的那麼虛,誰知道到底為什嗎?    我遇到過幾次這種錯誤,印象最深的就是兩次:   1.在select的時候:   

小記:Linux下使用MD5演算法

    由於項目中需要用到MD5演算法,於是在網上找了好幾個md5演算法的源碼檔案,結果介面各不相同,很是頭疼。翻翻Linux的/usr/include目錄,發現/usr/include/openssl/下提供了md5.h,於是寫了個小代碼測試了一下:#include <stdio.h>#include <openssl/md5.h>#include <assert.h>#include <string.h>void PrintHex(char* 

小記:Linux下的堆破壞

    今天遇見一個超鬱悶的BUG,現象非常奇怪:delete pointer;   刪除一個指標的時候程式發生core dump,或者在此處掛死。  從原理上分析,new出來的一塊記憶體,會在記憶體的頭或者尾處加上一個標記,說明塊記憶體的大小。  我猜想,一定是指標越界,導致了開始或者末尾的這塊標記被破壞,所以delete發生掛死。  檢查了若干次後,也沒發現指標越界的情況。  而且單獨寫了一個程式來故意破壞new出來的記憶體塊的開頭和結尾,結果指標越界的時候,程式立即core

Linux-tcpdump命令

          在Linux系統中,一般通過tcpdump進行抓取網路包,通過Wireshark工具可以開啟分析網路包。在使用tcpdump一般是需要使用root使用者。          預設不帶任何參數:直接啟動tcpdump將監視第一個網路介面上所有流過的資料包。tcpdump        指定網卡進行抓包:如果不指定網卡,預設tcpdump只會監視第一個網路介面,一般是eth0,下面的例子都沒有指定網路介面。tcpdump -i eth0    指定指定主機抓包:tcpdump

Linux換行問題

Windows與Linux中的換行是不一樣的,已經遇到過好幾次問題了~批量建立使用者的時候,新使用者不能登入,因為我的文本是在Windows下產生的,換行是Windows格式,而Linux中使用newusers命令匯入到passwd檔案,是直接複製過去的~不能一行一行的改啊~呵呵,剛剛學到了一招。 字元檔案在兩個系統之間拷貝之後,可以使用dos2unix或者是unix2dos命令來轉換,會將兩個系統中不同的東西轉換到目標系統的格式。在Linux中輸入命令之後,會提示安裝~很小很簡單~

Linux下用adb串連手機的問題解決

centos6.4測試管用Linux裡面,模擬器可以直接識別,使用adb也沒有限制,但是手機插上usb之後,adb並不識別,顯示的是問號解決方案:1.電腦連手機後lsusb命令獲得手機編號[root@localhost wulong]# lsusbBus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root

Linux fork 詳解–明白

  #include <unistd.h>; #include <sys/types.h>; main () {         pid_t pid;         pid=fork();         if (pid < 0)                 printf("error in fork!");         else if (pid == 0)                 printf("i am the child process,

關於通用編程和Linux核心的連結

一篇非常不錯關於彙編編程的總結http://www.acsu.buffalo.edu/~charngda/x86assembly.html<understanding strict aliasing>    一篇不錯的關於C/C++中aliasing的分析http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html<linux slub分配器淺析>http:/

Linux fork 詳解

http://blog.csdn.net/fuyangchang/article/details/2101085 #include <unistd.h>;#include <sys/types.h>;main (){        pid_t pid;        pid=fork();        if (pid < 0)                printf("error in fork!");        else if (pid == 0)   

手動安裝linux kernel

1,編譯核心,略2,將modules安裝到指定路徑,命令如下      make INSTALL_MOD_PATH=xxx modules_install      安裝完畢後,在xxx/lib/modules下會出現新核心的modules目錄

Linux Kernel原始碼分析中的終極問題

        吼吼,文章名字很唬人啊。這裡只是記錄我在研究Linux Kernel原始碼時碰到的有意思的,而目前不知道為什麼的問題。               * * * * *        1)為什麼Interrupt handler不能睡眠,或者更嚴格的說,被調度(rescheduled)                目前引用最廣泛,也最容易理解的解釋是, 1)Interrupt context is time-critical because the interrupt

linux開機自動掛載windows分區

網上多數都說要在fstab中添加載入WINDOW分區代碼。我的系統是centos的,使用上面的方法後,在windows分區中無法執行sh指令檔。上面的方法不好用。使用下面的方法解決了問題。LINUX啟動後自動載入window分區,並保證開機後在window分區下可以執行linux指令碼,請修改/etc/rc.d/rc.local。比如我的window分區有兩個 ntfs格式的d盤,fat32格式的e盤,修改後內容如下:#!/bin/sh## This script will be

windows和linux雙系統調整分區大小

轉載自:http://blog.csdn.net/ritterliu/article/details/6686616本人機器是windows xp+ubuntu10.10,原來才裝ubuntu時純粹是為了玩玩,沒打算長用,就只分了10G的空間給它,經過一段時間的使用,覺得ubuntu相當好用,許多軟體的反應速度都比windows快,(可能是我的xp

紅旗Linux案頭5.0最終正式版本發布

看厭倦了Windows Vista跳票的新聞,我們一起來關注下國產作業系統。北京中科紅旗軟體技術有限公司昨天放出了紅旗Linux案頭5.0正式版的。作為國內最早樹起中文Linux大旗的先鋒廠商,紅旗軟體充分發揚“自由軟體”運動精神,致力於開發研製基於Linux的全線應用產品,令這一影響全球的新一代作業系統植根中國,並大放異彩。     紅旗Linux案頭版5.0(產品代號為Apatite),紅旗Linux案頭版5.0全球率先通過了LSB3.0測試認證,具備了Linux標準基礎的一切品質。Apat

平台資料庫遷移linux > windows

linux x86 平台上的 ASE15.5 的 dat檔案,拷貝到windows x86 平台上的ASE15.5中,是可以使用的。 只需要簡單的修改master.dat中的device路徑即可。 通過更改sysdevices的phyname來實現。   將sysdatabases系統資料表中status - 64   之後, 利用dbcc checkdb,dbcc checkalloc,dbcc checkcatalog 檢查各個資料庫。 沒有錯誤。  說明:

Linux介面切換:圖形介面字元介面

1、硬碟安裝的linux,在系統圖形介面啟動後,可使用Ctrl+Alt+F1~6切換到字元介面,再用Ctrl+Alt+F7切換到圖形介面。        Ctrl+Alt+F7     字元到圖形        Ctrl+Alt+F6     圖形到字元       註:

總頁數: 3662 1 .... 939 940 941 942 943 .... 3662 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.