WINDOWS KERNEL(WindowsKernel是什么)
一、什么是linux kernel有什么作用
Linux内核(英语:Linux kernel)是一种开源的类Unix操作系统宏内核。
工作于平板电脑、智能手机及智能手表的Android操作系统同样通过Linux内核提供的服务完成自身功能。
一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。
完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
整个Linux操作系统家族基于该内核部署在传统计算机平台(如个人计算机和服务器,以Linux发行版的形式)和各种嵌入式平台,如路由器、无线接入点、专用小交换机、机顶盒、FTA接收器、智能电视、数字视频录像机、网络附加存储(NAS)等。
工作于平板电脑、智能手机及智能手表的Android操作系统同样通过Linux内核提供的服务完成自身功能。尽管于桌面电脑的占用率较低,基于Linux的操作系统统治了几乎从移动设备到主机的其他全部领域。截至2017年11月,世界前500台最强的超级计算机全部使用Linux。
扩展资料:
编程语言
Linux是用C语言中的GCC版(这种C语言有对标准C进行扩展)写的,还有几个用汇编语言(用的是GCC的"AT&T风格")写的目标架构短段。因为要支持扩展的C语言,GCC在很长的时间里是唯一一个能正确编译Linux的编译器。
有许多其他的语言用在一些方面上,主要集中在内核构建过程中(这里指从源代码创建可引导镜像)。包括Perl、Python和多种脚本语言。有一些驱动可能是用C++、Fortran或其他语言写的,但是这样是强烈不建议的。
编译器兼容性
GCC是Linux内核源代码的缺省编译器。在2004年,Intel主张通过修改内核,以便Intel C++编译器能正确编译内核。在2009年,有通过修改内核2.6.22版而成功编译的报告(并带来平均8-9%性能增长)。
自从2010年,已经开始进行使用Clang建造Linux内核的努力,Clang是一个可作为替代的C语言编译器;截止2014年4月12日,官方内核几乎可以完全用Clang编译。致力于这个目标的计划叫做“LLVMLinux”,得名于Clang所基于的LLVM编译器下部构造。
LLVMLinux不意图复制Linux内核或LLVM,因此它是由最终提交给上游计划的补丁构成的一个元计划。使Linux内核可以用Clang编译最大的好处是比GCC有更快的编译速度,内核开发者可以得益于由此而来的更快的工作流程
二、Linux 内核和 Windows 内核有什么区别
目录
一、什么是内核?
1.1内核的能力
二、操作系统分层
三、内核是如何工作的?
四、Linux的设计
4.1 Multitask and SMP(Symmetric multiprocessing)
4.2 ELF(Executable and Linkable Format)
4.3 Monolithic Kernel
4.4在内核层和在用户层有什么区别?
五、Window设计
六、总结
说到操作系统,就必须说内核。内核是操作系统中应用连接硬件设备的桥梁。
对于一个现代的操作系统来说,它的内核至少应该提供以下 4种基本能力:
从上面 4种能力来看操作系统和内核之间的关系,通常可以把操作系统分成 3层,最底层的硬件设备抽象、中间的内核和最上层的应用。
内核权限非常高,它可以管理进程、可以直接访问所有的内存,因此确实需要和进程之间有一定的隔离。这个隔离用类似请求/响应的模型,非常符合常理。
但不同的是在浏览器、服务端模型中,浏览器和服务端是用不同的机器在执行,因此不需要共享一个 CPU。但是在进程调用内核的过程中,这里是存在资源共享的。
比如,一个机器有 4个 CPU,不可能让内核用一个 CPU,其他进程用剩下的 CPU。这样太浪费资源了。
再比如,进程向内核请求 100M的内存,内核把 100M的数据传回去。这个模型不可行,因为传输太慢了。
所以,这里多数操作系统的设计都遵循一个原则:进程向内核发起一个请求,然后将 CPU执行权限让出给内核。内核接手 CPU执行权限,然后完成请求,再转让出 CPU执行权限给调用进程。
Linux操作系统第一版是1991年林纳斯托·瓦兹(一个芬兰的小伙子,当时 22岁)用 C语音写的。写完之后他在网络上发布了 Linux内核的源代码。又经过了 3年的努力,在 1994年发布了完整的核心 Version 1.0。
MultiTask指多任务,Linux是一个多任务的操作系统。多任务就是多个任务可以同时执行,这里的“同时”并不是要求并发,而是在一段时间内可以执行多个任务。当然 Linux支持并发。
SMP指对称多处理。其实是说 Linux下每个处理器的地位是相等的,内存对多个处理器来说是共享的,每个处理器都可以访问完整的内存和硬件资源。这个特点决定了在 Linux上不会存在一个特定的处理器处理用户程序或者内核程序,它们可以被分配到任何一个处理器上执行。
这个名词翻译过来叫作可执行文件链接格式。这是一种从 Unix继承而来的可执行文件的存储格式。我们可以看到 ELF中把文件分成了一个个分段(Segment),每个段都有自己的作用。
这个名词翻译过来就是宏内核,宏内核反义词就是 Microkernel,微内核的意思。Linux是宏内核架构,这说明 Linux的内核是一个完整的可执行程序,且内核用最高权限来运行。宏内核的特点就是有很多程序会打包在内核中,比如,文件系统、驱动、内存管理等。当然这并不是说,每次安装驱动都需要重新编译内核,现在 Linux也可以动态加载内核模块。所以哪些模块在内核层,哪些模块在用户层,这是一种系统层的拆分,并不是很强的物理隔离。
与宏内核对应,接下来说说微内核,内核只保留最基本的能力。比如进程调度、虚拟内存、中断。多数应用,甚至包括驱动程序、文件系统,是在用户空间管理的。
感觉分层其实差不多。我这里说一个很大的区别,比如说驱动程序是需要频繁调用底层能力的,如果在内核中,性能肯定会好很多。对于微内核设计,驱动在内核外,驱动和硬件设备交互就需要频繁做内核态的切换。
当然微内核也有它的好处,比如说微内核体积更小、可移植性更强。不过我认为,随着计算能力、存储技术越来越发达,体积小、安装快已经不能算是一个很大的优势了。现在更重要的是如何有效利用硬件设备的性能。
之所以这么思考,也可能因为我是带着现代的目光回望当时人们对内核的评判,事实上,当时 Linux团队也因此争论过很长一段时间。但是我觉得历史往往是螺旋上升的,说不定将来性能发展到了一个新的阶段,像微内核的灵活性、可以提供强大的抽象能力这样的特点,又重新受到人们的重视。
还有一种就是混合类型内核。混合类型的特点就是架构像微内核,内核中会有一个最小版本的内核,其他功能会在这个能力上搭建。但是实现的时候,是用宏内核的方式实现的,就是内核被做成了一个完整的程序,大部分功能都包含在内核中。就是在宏内核之内有抽象出了一个微内核。
Windows和 Linux的设计有很大程度的相似性。Windows也有内核,它的内核是 C/C++写的。准确地说,Windows有两个内核版本。一个是早期的Windows 9x内核,早期的 Win95, Win98都是这个内核。我们今天用的 Windows 7, Windows 10是另一个内核,叫作 Windows NT。NT指的是 New Technology。接下来我们讨论的都是 NT版本的内核。
下面我找到一张 Windows内核架构的图片给你一个直观感受。
Windows同样支持 Multitask和 SMP(对称多处理)。Windows的内核设计属于混合类型。你可以看到内核中有一个 Microkernel模块。而整个内核实现又像宏内核一样,含有的能力非常多,是一个完整的整体。
Windows下也有自己的可执行文件格式,这个格式叫作 Portable Executable(PE),也就是可移植执行文件,扩展名通常是.exe、.dll、.sys等。
PE文件的结构和 ELF结构有很多相通的地方,我找到了一张图片帮助你更直观地理解。
Windows还有很多独特的能力,比如 Hyper-V虚拟化技术.
这一讲我们学习了内核的基础知识,包括内核的作用、整体架构以及 3种内核类型(宏内核、微内核和混合类型内核)。
内核很小(微内核)方便移植,因为体积小、安装快;内核大(宏内核),方便优化性能,毕竟内核更了解计算机中的资源。
Linux内核和 Windows内核有什么区别?
【解析】 Windows有两个内核,最新的是 NT内核,目前主流的 Windows产品都是 NT内核。NT内核和 Linux内核非常相似,没有太大的结构化差异。
从整体设计上来看, Linux是宏内核, NT内核属于混合型内核。和微内核不同,宏内核和混合类型内核从实现上来看是一个完整的程序。只不过混合类型内核内部也抽象出了微内核的概念,从内核内部看混合型内核的架构更像微内核。
另外 NT内核和 Linux内核还存在着许多其他的差异,比如:
三、Microsoft-Windows-Kernel-General系统日志是什么意思
这个是时间同步日志,表示系统时间被改动了,可以通过以下方法进行解决。如下参考:
1.点击开始菜单,找到并点击“运行”选项:
2.将弹出一个run对话框。输入“gpedit。对话框中的msc,然后点击“确定”:
3.弹出“本地组策略编辑器”页面,双击页面右侧的“计算机配置”:
4.选择“管理模板”,双击打开:
5.双击“系统”选项:
6.找到页面中的“关机选项”,双击打开:
7.双击“关闭将防止或取消关机应用程序的自动终止功能”,在弹出的对话框中选择启用: