導航:首頁 > 源碼編譯 > 單核編譯雙核編譯

單核編譯雙核編譯

發布時間:2023-12-06 01:24:34

1. ubuntu下怎麼編譯linux內核

Ubuntu 系統
1. 准備工作
切換為管理員許可權,sudo –i 輸入用戶密碼 進入root 許可權
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的編程庫(gcc, make 等)
kernel-package (Debian 系統里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (meke menuconfig 要調用的)
libqt3-headers (make xconfig 要調用的)
2. 下載特定版本的內核源代碼
3. 復制源碼linux-3.2.12.tar.bz2 到/usr/src 目錄,解壓縮
命令.假設源碼存放在/home 目錄下
cp /home/linux-3.2.12.tar.bz2 /usr/src
cd /usr/src
tar xvjf linux-3.2.12.tar.bz2
解壓後生成 linux-3.2.12 目錄
4. cd linux-3.2.12
接下來配置內核選項
make menuconfig 這一步比較復雜,內核選項很多,可以使用當前內核的配置選項,
但編譯內核的時間會比較長,因為裝系統的時候使用的配置是適應大多數系統的,非定
制選項。關於內核配置選項怎麼定製,網上很多。
5. 把正在使用系統中的內核配置文件/usr/src/linux-headers-2.6.38-13-generic/.config 拷到
/usr/src/linux-3.2.12 目錄下
cp /usr/src/ linux-headers-2.6.38-13-generic/.config /usr/src/ linux-3.2.12
執行:
cd /usr/src/ linux-3.2.12
make menuconfig
終端會彈出一個配置界面
注意主菜單最後有兩項:
load a kernel configuration…
save a kernel configuration…
先選第一項load ….,意思是,利用當前的內核配置詳單來設置將要編譯的內核,然後選save 這一項保存,最後退出配置界面
6. 開如編譯安裝新內核
執行:make mrproper (清除以前曾經編譯過的舊文件,如果是第一次編譯,可不執行)
執行:make (編譯,加-j4,必須加,雙核並行編譯,速度快很多,不過使用原先配置
選項)
然後:make install
再:make moles (編譯模塊)
再:make moles_install (安裝模塊)
最後創建initrd 文件:
mkinitramfs -o /boot/initrd.img-linux-3.2.12
7. make install 以後,系統自動更新了啟動項,可以cat /boot/grub/grub.cfg 看下.之前的啟動項不能刪除,如果編譯內核不成功,之前的啟動項又不見了,系統也就跪了
8. reboot

2. lammps 可以同時編譯 並行 和 單核嗎

並行技術可分為三類,分別是線程庫、消息傳遞庫和編譯器支持。線程庫(如 POSIX* 線程和 Windows* API 線程)可實現對線程的顯性控制;如果需要對線程進行精細管理,可以考慮使用這些顯性線程技術。藉助消息傳遞庫(如消息傳遞介面〔MPI〕),應用程序可同時利用多台計算機,它們彼此間不必共享同一內存空間。MPI 廣泛應用於科學計算領域。第三項技術是在編譯器中實現的線程處理支持,採用的形式自動並行化。一旦將線程處理引入到應用程序中,開發人員就可能要面對一系列新的編程缺陷(Bug)。其中許多缺陷是難以檢測到的,需要付出額外的時間和關注以確保程序的正確運行。一些比較常見的線程處理問題包括:數據爭用 ,同步,線程停頓 ,鎖 ,共享錯誤.
並行技術可以分為多進程編程和多線程編程。人們總會用某種IPC(inter-process communication,進程間通信)的形式來實現進程間同步,如管道(pipes),信號量(semaphores),信息隊列(message queues),或者共享存儲(shared memory)。在所有的這些IPC形式中,共享存儲器是最快的(除了門(doors)之外)。在處理進程間資源管理,IPC和同步時,你可以選擇 POSIX或者System V的定義。
線程技術早在20世紀60年代就被提出,但真正應用多線程到操作系統中還是在20世紀80年代中期。現在,多線程技術已經被許多操作系統所支持,包括Windows NT/2000和Linux。
在1999年1月發布的Linux 2.2內核中,進程是通過系統調用fork創建的,新的進程是原來進程的子進程。需要說明的是,在Linux 2.2.x中,不存在真正意義上的線程,Linux中常用的線程Pthread實際上是通過進程來模擬的。
也就是說,Linux中的線程也是通過fork創建的,是「輕」進程。Linux 2.2預設只允許4096個進程/線程同時運行,而高端系統同時要服務上千的用戶,所以這顯然是一個問題。它一度是阻礙Linux進入企業級市場的一大因素。
2001年1月發布的Linux 2.4內核消除了這個限制,並且允許在系統運行中動態調整進程數上限。因此,進程數現在只受制於物理內存的多少。在高端伺服器上,即使只安裝了512MB內存,現在也能輕而易舉地同時支持1.6萬個進程。
在Linux 2.5內核中,已經做了很多改進線程性能的工作。在Linux 2.6中改進的線程模型仍然是由Ingo Molnar 來完成的。它基於一個1:1的線程模型(一個內核線程對應一個用戶線程),包括內核內在的對新NPTL(Native Posix Threading Library)的支持,這個新的NPTL是由Molnar和Ulrich Drepper合作開發的。
2003年12月發布的Linux 2.6內核,對進程調度經過重新編寫,去掉了以前版本中效率不高的演算法。進程標識號(PID)的數目也從3.2萬升到10億。內核內部的大改變之一就是Linux的線程框架被重寫,以使NPTL可以運行其上。
在現代操作系統里,同一時間可能有多個內核執行流在執行,因此內核其實象多進程多線程編程一樣也需要一些同步機制來同步各執行單元對共享數據的訪問。尤其是在多處理器系統上,更需要一些同步機制來同步不同處理器上的執行單元對共享的數據的訪問。在主流的Linux內核中包含了幾乎所有現代的操作系統具有的同步機制,這些同步機制包括:原子操作、信號量(semaphore)、讀寫信號量(rw_semaphore)、spinlock、BKL(Big Kernel Lock)、rwlock、brlock(只包含在2.4內核中)、RCU(只包含在2.6內核中)和seqlock(只包含在2.6內核中)。
現在的隨著現在計算機體系結構的發展,指令級的並行和線程級的並行都在日新月異地發展著.

閱讀全文

與單核編譯雙核編譯相關的資料

熱點內容
海康攝像螢石雲伺服器 瀏覽:814
安卓手機怎麼改安卓版名 瀏覽:147
雅思聽力807詞彙pdf 瀏覽:897
黃豆私人加密 瀏覽:192
java分鍾轉換小時 瀏覽:245
易語言伺服器如何提高 瀏覽:591
網站主機伺服器地址查看 瀏覽:859
演算法學不會能當程序員嗎 瀏覽:119
程序員技術交流研究 瀏覽:814
javaresponse文件 瀏覽:734
linuxrar壓縮文件夾 瀏覽:218
魅藍手機連接不上伺服器怎麼回事 瀏覽:379
工行app怎麼改已綁定銀行卡 瀏覽:533
oppo晶元程序員 瀏覽:602
oppok3應用怎麼加密 瀏覽:327
電腦軟盤怎麼加密碼 瀏覽:815
伺服器光交換機有什麼用 瀏覽:708
app上怎麼拍蛙小俠 瀏覽:217
志高聊天app怎麼下載 瀏覽:635
郵政app怎麼不能掃付款碼 瀏覽:559