您现在的位置是: 首页 > 重装系统 重装系统
windows的内核是什么_windows操作系统内核
tamoadmin 2024-09-04 人已围观
简介1.windows是什么类型的操作系统?2.Windows操作系统中的:内核, dll, AP,I都是做什么的3.什么是操作系统的内核,什么是浏览器的内核4.查看Windows操作系统的内核版本5.linux与windows区别 目录 一、什么是内核? 1.1 内核的能力 二、操作系统分层 三、内核是如何工作的? 四、Linux 的设计 4.
1.windows是什么类型的操作系统?
2.Windows操作系统中的:内核, dll, AP,I都是做什么的
3.什么是操作系统的内核,什么是浏览器的内核
4.查看Windows操作系统的内核版本
5.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 内核还存在着许多其他的差异,比如:
windows是什么类型的操作系统?
C 语言从 60 年代被发明开始到 1985 年第一款 Windows(Windows 1.0)出来已经发展成熟,
C++ 是从 1983 年才正式开始发展。语言早期的时候由于各方面都不成熟,不完善,最初的时候最多也只用于小型应用。
可以看到 Windows 1.0 发布的时候 CFront 1.0 刚刚发布,那个时候 c++ 是不可能拿来做系统的,如果算上系统的设计和开发周期,C++ 还在设计与试验阶段,连自己的编译器都没有,所以 Windows 一开始就是用 C 语言实现的。
由此基础,Windows 的内核就一直是 C 语言实现的。
现在有传言说,Windows 7 的用户界面是 C# 实现的,这一点不敢保证,但不是不可能。
----------------------------
BASIC 的说法就歇了,认真学计算机的人都知道,BASIC 能写什么样的程序。有点了解 Windows 的人都知道,Windows Vista 大概 5000-7000 万行代码。
Windows操作系统中的:内核, dll, AP,I都是做什么的
Windows 是一种微软公司开发的个人计算机操作系统。它是一种基于图形用户界面(GUI)的操作系统,提供了一组丰富的图标、菜单和对话框来支持用户与计算机进行交互。Windows 是一种多任务操作系统,可以同时运行多个程序。Windows 广泛应用于个人计算机和工作站等计算机系统中,并提供了大量的应用程序和驱动程序来支持用户的需求。
Windows 是一种商用操作系统,它是微软公司的一项商业产品。用户可以通过购买许可证来获得使用权。
什么是操作系统的内核,什么是浏览器的内核
内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。内核的分类可分为单内核和双内核以及微内核。严格地说,内核并不是计算机系统中必要的组成部分。
动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。
API(Application Programming Interface),应用程序编程接口。是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
查看Windows操作系统的内核版本
内核是操作系统最基本的部分。它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间。直接对硬件操作是非常复杂的,所以内核通常提供一种硬件抽象的方法来完成这些操作。硬件抽象隐藏了复杂性,为应用软件和硬件提供了一套简洁,统一的接口,使程序设计更为简单。
严格地说,内核并不是计算机系统中必要的组成部分。程序可以直接地被调入计算机中执行,这样的设计说明了设计者不希望提供任何硬件抽象和操作系统的支持,它常见于早期计算机系统的设计中。最终,一些性程序,例如程序加载器和调试器,被设计到机器核心当中,或者固化在只读存储器里。这些变化发生时,操作系统内核的概念就渐渐明晰起来了。
一个更重要的问题是,什么人才要了解内核。或者说,对内核的了解程度,会怎样影响一个人的工作,毕竟,它是复杂的。
linux与windows区别
方法1:桌面→“我的电脑”图标→右键选择“属性”,就可以看到了;
方法2:开始→运行,直接在里面输入“winver”,按回车后就能看到了;
方法3:开始→运行→cmd,进入DOS状态下,输入“ver”,按回车后就能看到了。
Linux和Windows是两种流行的操作系统,它们之间有显著的区别,影响着用户体验、功能和应用。
1、基础架构
内核:Linux基于开源Linux内核,而Windows则使用专有内核。该差异允许Linux在不同的硬件平台上运行,而Windows则主要针对特定硬件。
文件系统:Linux使用EXT4、XFS等文件系统,而Windows使用NTFS文件系统,这会影响文件组织、访问权限和存储效率。
2、界面和用户体验
GUI:Linux提供多种GUI,而Windows使用专有的GUI。Linux提供了更可定制和模块化的GUI体验。
命令行:Linux高度依赖命令行界面,而Windows则更侧重于图形界面。命令行提供更高级别的控制和灵活性。
3、软件和应用程序
包管理:Linux使用包管理系统,而Windows主要使用可执行文件安装程序。这会影响软件安装、更新和管理的便捷性。
应用程序可用性:Windows拥有广泛的商业和消费者应用程序,而Linux有大量的开源和免费应用程序。用户可以选择更适合其特定需求的应用程序。
4、安全性和开源性
开源:Linux的开源性质允许用户审查代码并发现漏洞。Windows是专有的,其代码对用户不可见。
稳定性:Linux以其稳定性而闻名,很少发生崩溃或故障。Windows可能更易受恶意软件和系统错误的影响。
5、其他
价格:Linux通常免费或低成本,而Windows需要购买许可证才能使用。
社区支持:Linux拥有一个活跃的开源社区,为用户提供支持和协作。Windows主要依靠微软提供支持。
用途:Linux广泛用于服务器、网络和嵌入式系统,而Windows主要用于个人电脑和笔记本电脑。