linux shell執行原理,linuxshell執行

來源:互聯網
上載者:User

linux shell執行原理,linuxshell執行
shell簡介

Shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。

運行背景

a 一個基本的linux系統結構

b.由可以看出,shell 在系統中是處於中介層次的。他為使用者和kernel的互動提供了一種方式,方案。

c.關於分層結構的眾多優勢:

1、開發人員可以只關注整個結構中的其中某一層;
2、可以很容易的用新的實現來替換原有層次的實現;
3、可以降低層與層之間的依賴;
4、有利於標準化;
5、利於各層邏輯的複用。

缺點:

1、降低了系統的效能。

  2、有時會導致級聯的修改

shell命令執行原理

表層理解   我們一般做法就是:開啟終端,輸入命令,敲斷行符號,等待命令運行,得到結果

那麼,對於這個過程進行細緻的解析,又包含了哪些東西呢?

  開啟終端,輸入命令,敲斷行符號----IO中斷

  等待過程:

    shell分析命令及參數----shell(一個終端位置的解釋性程式)

    fork拷貝附近成pcb相關資源,為命令執行做準備----系統調用

    exec在fork得到的子進程中執行命令

  執行完成,返回結果----堆棧保護,棧幀註:當執行命令如  ls  &

&符號表示該命令在後台執行,而當命令執行過程中,我們是無法僅需輸入命令的,這是因為父進程在fork執行shell命令的同時,回執行wait等待子進程結束,除非使用者主動Ctrl+C中止命令執行或者Ctrl+z置入後台執行。

 

參考http://my.oschina.net/u/866271/blog/232840

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.