Ⅰ 如何查看內核memory_nd_wap_ccounting
查看內核正運渣確的做法是:
1、如果cat /proc/cmdline開啟了,會有「cgroup_enable=memory」和 「swapaccount=1」的字眼,如果沒有,需要修改grub啟動參數。
2、CentOS7下的方法: 編輯/etc/default/grub 在GRUB_CMDLINE_LINUX="xxxx" 這一行的引號之內,末尾添加兩個參數, cgroup_enable=memory swapaccount=1 注意與前面參數之間要有空格。編輯完保存後,更新啟動配置,如果是grub2,用命令grub2-mkconfig -o /boot/grub2/grub.cfg 創建新的啟動菜單,重啟系統就可以了。
這個方法在CentOS7 + grub2下進行了實測。
拓展資料:
一、內核是什麼
1、內核是操作系統最基本的部分,是為眾多應用程序提供對計算機硬體的安全訪問的一部分軟體,它的訪問是有限的,並且內核決定一個程序在什麼時候對某部分硬體操作多長時間。內核的分類可分為單內核和雙內核以及微內核。嚴格地說,內核並不是計算機系統中必要的組成部分。
2、現代操作系統設計中,為減少系統本身的開銷,往往將一些與硬體緊密相關的(如中斷處理程序、設備驅動程序等)、基本的、公共的、運行頻率較高的模塊(如時鍾管理、進程調度等)以及關鍵性數據結構獨立開來,使之常駐內存,並對他們進行保護。通常把這一部分稱之為操作系統的內核。
3、程序可以直接地被調入計算機中執行,這樣的設計說明了設計者不希望提供任何硬體抽象和操作系統的支持敗碧,它常見於早期計算機系統的設計中。最終,一些輔助性程序,例如程序載入器和調試器,被設察悄舉計到機器核心當中,或者固化在只讀存儲器里。這些變化發生時,操作系統內核的概念就漸漸明晰起來了。
二、Linux內核
1、Linux是一種開源電腦操作系統內核。它是一個用C語言寫成,符合POSIX標準的類Unix操作系統。
2、Linux最早是由芬蘭 Linus Torvalds為嘗試在英特爾x86架構上提供自由的類Unix操作系統而開發的。該計劃開始於1991年,在計劃的早期有一些Minix 黑客提供了協助,而今天全球無數程序員正在為該計劃無償提供幫助。
操作環境:Window 10 Satellite L510
Ⅱ ios操作系統的內核
對於ios想必隱棗空大家都有所了解,那麼ios操作系統的內核大家知道多少呢?下面由我為大家整理了ios操作系統的內核的相關知識,希望對大家有幫助。
操作系統內核定義
實際上這個問題的答案復雜難懂,筆者就先在這給一個通俗化的答案,所謂操作系統內核(Kernel)就是操作系統的核心底層軟體結構,負責軟體對硬體的訪問,以及管理進程、內存、驅動程序以及支持文件系統等基礎功能。或者說,完全可以顧名思義,它就是整個操作系統運行的基礎,如果操作系統像一輛車,那內核就約等於發動機,它的性能和穩定性就是整個操作系統正常運行的關鍵。
當然深究起來以上的說法不是完全准確,只是一種通俗化的理解,畢竟要是完全吃透了就可以去從事內核開發,遠不是這篇文章該做且能做到的事情。
接下來,我們就來看看,常見的這些操作系統基於什麼內核。
操作系統內核介紹
Windows NT內核:
我們現在用的電腦絕大部分都是運行Windows操作系統的PC機,那麼它們運行在什麼內核上呢?它的學名叫Windows NT,是由灶瞎微軟自己開發的閉源內核,對位於高性能的計算機系統。最早發布於1993年,首次登陸用戶個人電腦的版本便是大名鼎鼎的Windows2000,直到最新的Windows 10,都是基於此款令微軟引以為傲的內核。
此外,我們知道在智能手機上,微軟也在維護著Windows Phone系列操作系統,當然現在已經改名叫Windows 10 mobile,即便現在因為市場佔有率實在太低而被戲稱為1%。這個系列從windows phone 8(即WP8)開始也是基於Windows NT內核,而在此之前,則是運行在下一節要講到的那個內核上。
Windows CE內核:
這是微軟公司針對於嵌入式和移動平台的內核產品,最早推出於1996年,被認為是精簡版windows 95。相比Windows NT,CE內核更強調輕量、針對於小屏幕,而非高性能計算,這也是微軟在WP8世代改用NT內核的原因之一(另有統一化桌面和移動平台的傾向)。
基於CE內核的產品,比較著名的就是Windows Mobile系列智能手機操作系統,在Android出現之前上智能手機市場上的主要操作系統陣營,而此後推出的Windows Phone 7也同樣基於CE內核。
按說CE作為微軟的產品,本應該和NT一樣是閉源的,不過在2006年末,微軟出人意料地100%開源的Windows CE 6.0,這也帶來了一些基於此的第三方操作系統,但畢竟是少數,畢竟Linux太強大了。數得著的相關產品是魅族為2009年上市的M8編寫的MyMobile系統,由於開發力量薄弱,很多用戶們是看著系統的UI和功能一天天從殘缺走向差不多完整以及一年後的大改,而此後因為Android的流行,這款系統也在2010年中走到了盡頭。
Unix內核:
那麼iOS和現在Mac電腦上跑的Mac OS X是什麼內核呢?它們其實基於同一款內核,學名叫Darwin,基於前蘋果CEO史蒂夫·喬布斯創立的NEXT公司所開發的OpenStep,而OpenStep及其前身NextStep則是衍生於加州大學伯克利分校所發布的Berkeley Software Distribution即BSD,是Unix的一個重要分支。
而Unix則是目前看到的這群操作系統內核中最為古老的,誕生於1969年的貝爾實驗室,由於歷史原因,Unix一直處於一個半閉源的狀態(理論閉源,但其他開發者還是能得到足夠的代碼),於是出現了一堆變種,它們大多沒有完全遵守Unix的規范,被稱為類Unix(即Unix-like)。
Linux內核:
接下來是大名鼎鼎的Linux,最早是芬蘭黑客Linus Torvalds於1991年推出。岩迅它屬於類Unix家族中的一支,不過由於一直開源導致廣泛傳播,名氣要比Unix大得多,有著眾多的發行版,比如桌面上的Ubuntu,路由器上的OpenWRT(事實上路由器的系統基本都是基於Linux),以及占據大部分智能手機份額的谷歌Android。
Linux之所以強大,首先是它對於硬體的強兼容性,幾乎所有的平台都能跑Linux,而不像Windows NT那樣過於傾心於X86平台(雖然近些年也能在ARM上跑了);其二在於其堅持的開源免費思想,造就了以Lunix社區為核心的全球開發模式,由創始人帶領的團隊負責內核的維護更新,而全球的開發者為其進行穩定性的debug使其穩定,強大,還免費,自然受到了諸多青睞。除Android以外,以往出現過的三星Bada OS、Tizen OS,還有諾基亞曾經傾心的Meego,也都是基於Linux內核。
其他內核:
最後我們提一些已經逝去,但在智能手機發展過程中青史留名的其他操作系統內核產品。
曾經叱吒風雲的諾基亞,其智能手機產品線採用的是Symbian系列操作系統,而其內核也是由Symbian公司(此後被諾基亞收購)專門開發的Symbian內核。
商務市場上曾經所信仰的黑莓手機採用的則是BlackBerry OS系列操作系統,最新的BB10則是基於其母公司RIM在2010年收購來的QNX,不過依舊無法阻擊Android。
而這些系統中最為超前和優秀的,當屬Palm(後來被惠普收購)的WebOS系統,創新性的採用瀏覽器內核webkit來帶動整個界面UI,然而叫好不叫座,開發的倉促和運營的連環失誤讓它也不得不成為歷史的塵埃,其設計上的亮點最終也被iOS和Android收為己用,本體只存在於被LG收購之後的智能電視上
Ⅲ 什麼是shell命令windows系統也有shell命令嗎
Shell 命令是一個用 C 語言編寫的程序,它 既是一種命令語言,又是一種程序設計語言。Shell 命令還是一種應用程序,用戶通過這個界面訪問操作系統內核的服務。
windows系統下也有shell命令。
Ⅳ 操作系統的內核是什麼意思
內核是操作系統最基本的部分。
它是為眾多應用程序提供對計算機硬體的安全訪問的一部分軟體,這種訪問是有限的,並且內核決定一個程序在什麼時候對某部分硬體操作多長時間。內核的分類可分為單內核和雙內核以及微內鉛歷核。
嚴格地說,內核並不是計算機系統中必要的組成部分。內核,是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網路系統,決定著系統的性能和穩定性。
程序可以鉛激拿直接地被調入計算機中執行,這樣的設計說明了設計者不希望提供任何硬體抽象和操作系統的支持,它常見於早期計算機系統的設計中。
最終,一些輔助性程序,例如程序載入器和調試器,被設計到機器核心當中,或者固化在只讀存儲器里。這些變化發生時,操作系統內核的概念就漸漸明晰起來了槐搭。
Ⅳ shell命令和linux命令一樣么
當然不一樣!
shell翻譯為殼的意思,它是包裹在linux內核外層的,一個可通過一系列的linux命令對操作系統發出相關指令的人機界面,shell可以通過其條件語句和循環語句等,把一系列linux命令結合在一起,形成一個相當於面向過程的程序,即shell
script,從而實現一些復雜的功能。
shell可以說是linux命令集的旅仿概稱,屬於命令行的人機界面,拆悶纖shell是一個用C語言編寫的程序,它是用戶使用linux的橋梁,shell既是一個命令語言,也是一個程序設計語言,其次,shell也指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。
由此可見,shell相當於經過裝飾的命令行,它與命令行一樣,都能操作Linux;但是shell是面向過程的,相當於有了一定的邏輯和過程,而命令行只是單一的操作。
linux命令是對Linux系統進行管理的命令。對於Linux系統來說,無論是中央處理器、內存、磁碟驅動器、鍵盤、滑鼠,還是用戶等都是文件,Linux系統管理的命令是它正常運行的核心,與之前的DOS命罩橘令類似。linux命令在系統中有兩種類型:內置Shell命令和Linux命令。
shell與linux命令的區別:
1、直接在命令行執行,就是在當前的shell環境下執行,比如涉及到一些環境變數的時候,必須在當前shell環境里執行。
2、在腳本執行的話,會fork一個子進程,所有操作都在子進程中進行。如果涉及到一些在腳本里設置環境變數的東西,腳本結束了,環境變數就消失了,如果是修改環境變數的話,需要特別注意。
3、shell可以重復或批量地進行一些命令,你也可以把自己要重復執行的命令寫到腳本裡面執行,而命令行的話就需要一個一個的輸入命令,比較麻煩。
Ⅵ 系統內核是什麼
系統內核是操作系統最基本的部分。它是為眾多應用程序提供對計算機硬體的安全訪問的一部分軟體,這種訪問是有限的,並且內核決定一個程序在什麼時候對某部分硬體操作多長時間。
內核是基於硬體的第一層軟體擴充,提供操作系統的最基本的功能,是操作系統工作的基礎,它負責管理系統的進程、內存、設備驅動程序、文件和網路系統,決定著系統的性能和穩定性。
內核的分類可分為單內核和雙內核以及微內核。嚴格地說神塌余,內核並不是計算機系統中必要的組成部分。
(6)訪問操作系統內核擴展閱讀:
單內核結構是非常有吸引力的一種設計,由於在同一個地址游滾空間上實現所有低級操作的系統控制代碼的復雜性的效率會比在不同地址空間上實現更高些。單核結構正趨向於容易被正確設計,所以它的發展會比微內核結構更迅速些。
盡管每一衫雹個模塊都是單獨地服務這些操作,內核代碼是高度集成的,而且難以編寫正確。因為所有的模塊都在同一個內核空間上運行,一個很小的bug都會使整個系統崩潰。然而,如果開發順利,單內核結構就可以從運行效率上得到好處。
參考資料來源:網路——內核
Ⅶ LINUX快速入門第八章:Shell基礎
我們平時所說的 Shell 可以理解為 Linux 系統提供給用戶的使用界面。Shell 為用戶提供了輸昌滾入命令和參數並可得到命令執行結果的環境。當一個用戶登錄 Linux 之後,系統初始化程序 init 就根據 /etc/passwd 文件中的設定,為每個用戶運行一個被稱為 Shell(外殼)的程序。
確切地說,Shell 是一個命令行解釋器,它為用戶提供了一個向 Linux 內核發送請求以便運行程序的界面系統級程序,用戶可以用 Shell 來啟動、掛起、停止甚至編寫一些程序。
Shell 處在內核與外層應用程序之間,起著協調用戶與系統的一致性、在用戶與系統之間進行交互的作用。圖 1 是 Linux 系統層次結構圖,Shell 接收用戶輸入的命令,並把用戶的命令從類似 abed 的 ASCII 碼解釋為類似 0101 的機器語言,然後把命令提交到系統內核處理;當內核處理完畢之後,把處理結果再通過 Shell 返回給用戶。
換句話說:
Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設計語言。
Shell 是指一種應用程序,這個應用程序提供了一個界面,用戶通過這個界面訪問操作系統內核的服務。
Ken Thompson 的 sh 是第一種 Unix Shell,Windows Explorer 是一個典型的圖形界面 Shell。
Shell 與其他 Linux 命令一樣,都是實睜迅扮用程序,但它們之間還是有區別的。一旦用戶注冊到系統後,Shell 就被系統裝入內存並一直運行到用戶退出系統為止;而一般命令僅當被調用時,才由系統裝入內存執行。
與一般命令相比,Shell 除了是一個命令行解釋器,同時還是一門功能強大的編程語言,易編寫,易調試,靈活性較強。作為一種命令級語言,Shell 是解釋性的,組合功能很強,與操作系統有密切的關系,可以在 Shell 腳本中直接使用系統命令。大多數 Linux 系統的啟動相關文件(一般在 /etc/rc.d 目錄下)都是使用 Shell 腳本編寫的。
同傳統的編程語言一樣,Shell 提供了很多特性,這些特性可以使 Shell 腳本編程更為有用,如數據變數、參數傳遞、判斷悉灶、流程式控制制、數據輸入和輸出、子程序及中斷處理等。
說了這么多,其實我們在 Linux 中操作的命令行界面就是 Linux 的 Shell,也就是 Bash,但是我們的圖形界面是 Shell 嗎?其實從廣義講,圖形界面當然也是 Shell,因為它同樣用來接收用戶的操作,並傳遞到內核進行處理。不過,這里的 Shell 主要指的是 Bash。
Shell 腳本
Shell 腳本(shell script),是一種為 shell 編寫的腳本程序。
業界所說的 shell 通常都是指 shell 腳本,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。
由於習慣的原因,簡潔起見,本文出現的 "shell編程" 都是指 shell 腳本編程,不是指開發 shell 自身。
Shell的分類
目前 Shell 的版本有很多種,如 Bourne Shell、C Shell、Bash、ksh、tcsh 等,它們各有特點,下面簡要介紹一下。
最重要的 Shell 是 Bourne Shell,這個命名是為了紀念此 Shell 的發明者 Steven Bourne。從 1979 年起,UNIX 就開始使用 Boume Shell。Bourne Shell 的主文件名為 sh,開發人員便以 sh 作為 Bourne Shell 的主要識別名稱。
雖然 Linux 與 UNIX 一樣,可以支持多種 Shell,但 Boume Shell 的重要地位至今仍然沒有改變,許多 UNIX 系統中仍然使用 sh 作為重要的管理工具。它的工作從開機到關機,幾乎無所不包。在 Linux 中,用戶 Shell 主要是 Bash,但在啟動腳本、編輯等很多工作中仍然使用 Bourne Shell。
C Shell 是廣為流行的 Shell 變種。C Shell 主要在 BSD 版的 UNIX 系統中使用,發明者是柏克萊大學的 Bill Joy。C Shell 因為其語法和 C 語言類似而得名,這也使得 UNIX 的系統工程師在學習 C Shell 時感到相當方便。
Bourne Shell 和 C Shell 形成了 Shell 的兩大主流派別,後來的變種大都吸取這兩種 Shell 的特點,如 Korn、 tcsh 及 Bash。
Bash Shell 是 GNU 計劃的重要工具之一,也是 GNU 系統中標準的 Shell。Bash 與 sh 兼容,所以許多早期開發出來的 Bourne Shell 程序都可以繼續在 Bash 中運行。現在使用的 Linux 就使用 Bash 作為用戶的基本 Shell。
Bash 於 1988 年發布,並在 1995-1996年推出Bash 2.0。在這之前,廣為使用的版本是1.14,Bash 2.0增加了許多新的功能,以及具備更好的兼容性。表 2 中詳細列出了各版本的具體情況。
注意,Shell 的兩種主要語法類型有 Bourne 和 C,這兩種語法彼此不兼容。Boume 家族主要包括 sh、ksh、Bash、psh、zsh;C 家族主要包括 csh、tcsh(Bash 和 zsh 在不同程序上支持 csh 的語法)。
本章講述的腳本編程就是在 Bash 環境中進行的。不過,在 Linux 中除了可以支持 Bash,還可以支持很多其他的 Shell。我們可以通過 /etc/shells 文件來査詢 Linux 支持的 Shell。命令如下:
在 Linux 中,這些 Shell 是可以任意切換的,命令如下:
用戶信息文件 /etc/passwd 的最後一列就是這個用戶的登錄 Shell。命令如下:
大家可以看到,root 用戶和其他可以登錄系統的普通用戶的登錄 Shell 都是 /bin/bash,也就是 Linux 的標准 Shell,所以這些用戶登錄之後可以執行許可權允許范圍內的所有命令。不過,所有的系統用戶(偽用戶)因為登錄 Shell 是 /sbin/ndogin,所以不能登錄系統。
筆記:
sh/bash/csh/Tcsh/ksh/pdksh等shell的區別