Ⅰ 如何查看内核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的区别