所有栏目 | 云社区 美国云服务器[国内云主机商]
你的位置:首页 > 云社区 » 正文

从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

发布时间:2020-04-15 16:57:16

资讯分类:linux  底层  windows  角度  内核  操作系统  系统
从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

Linux和Windows内核的异同点


  • 什么是内核?


内核是任何操作系统的基础部分。平凡的外行人幸福地忘记了它的存在。每天有数百万人使用计算机而不了解其实际功能。通常只有程序员才能直接处理内核。安装设备驱动程序软件或配置网络协议可能与大多数人可以访问内核一样接近。内核是最低和最基本级别的操作系统的核心。它的功能对几乎所有操作都至关重要。内核是一个操作系统; 什么是引擎对汽车。没有内核,我们可以对我们的计算机做很少或什么都不做。

  • 相似


Linux和Windows Kernel都通过硬件抽象层(HAL)控制低级系统软件和与计算机硬件的交互。以这种方式,内核保持操作系统的其余部分独立于硬件,这反过来允许更大的可移植性。操作系统内核是用一种称为C的高级语言编写的。选择C语言是因为C已经被移植到现有的几乎所有硬件平台上。可移植性对程序员和软件公司很重要,因为它意味着更少的工作,更少的时间和更少的费用。两个内核都处理诸如设备驱动程序,缓存,虚拟内存,网络协议,文件系统,进程创建和终止以及系统调用之类的事情。

  • Linux中的内核


Linux内核指的是在内核模式下运行的所有内容,它由几个不同的层组成。在最低层,内核通过HAL与硬件交互。在中间层,UNIX内核分为4个不同的区域。这四个区域中的第一个处理字符设备,原始和熟的TTY和终端处理。第二个区域处理网络设备驱动程序,路由协议和套接字。第三个区域处理磁盘设备驱动程序,页面和缓冲区高速缓存,文件系统,虚拟内存,文件命名和映射。第四个也是最后一个区域处理进程调度,调度,创建和终止以及信号处理。最重要的是,我们有内核的顶层,包括系统调用,中断和陷阱。该级别用作每个较低级别功能的接口。程序员使用各种系统调用和中断来与操作系统的功能进行交互。

  • Windows中的内核和内核模式”


Windows操作系统中的内核与LINIX的内核略有不同,因为Microsoft对内核的设计采取了一些不同的方法。术语“内核模式”不仅指内核本身,还指HAL和各种系统服务。这将包括底层的HAL (hal.dll),然后是第二层的内核。第三层是内核。在此之上(第四级),我们拥有各种管理器,包括对象,进程,内存,安全性,缓存,即插即用(PnP),电源,配置和I / O. 文件系统和Win32 GDI也处于这个级别。第四级中的许多项目统称为Windows Executive (ntoskrnl.exe)。在内核模式的顶层和第五层是系统服务。

  • 总结


如您所见,Linux和Windows操作系统都有一个执行类似功能的内核。但是,两个内核的设计完全不同。在计算机世界; 有很多方法可以实现相同的目标。

从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

linux与windows的区别就在底层的实现,粗略来说,这两个操作系统从基因层面就是两个物种,linux的理念是万物皆文件,所有的设置都分散在系统某个约定位置。windows却用注册表的机制,所有的设置都在注册表中,不告诉你,你绝对找不到。

由文件系统的不同,导致了其上的所有程序的抽象方式皆不相同,几乎无需举例,再加上对进程的管理(也就是对CPU时间的抽象)的不同,每每皆是不同。

最终两个物种虽然长得很像,但每一个细胞都是有区别的。


大家一定见过电影里的黑客,黑掉大厦的灯光系统后,用大厦房间的灯光,玩俄罗斯方块的场面,原理就是首先将大厦的灯光控制系统抽象为相应的显存,保证显存里填入数据时,对应房间的灯光有相应的反应,然后就是对这一块显存的操纵。神奇的黑客行为,无非就是对最简单原理的运用。

我们不妨以这个角度为切入点,看一看没有操作系统的电脑是如何运行的。



1.首先BIOS会加载硬盘开始的512字节内容,这里的代码会告诉BIOS:接下来读硬盘哪个面哪个区域,设置好所有的寄存器状态跳转到32位模式(保护模式)。


2.进入保护模式的计算机,拥有了访问超越1MB内存的能力(16位的实模式只有20bit位的寻址能力,2的20次方为1 048 576,正好1M,单位是字节,也就是B,所以是1MB)。

可以访问这样大的内存,要做什么自由发挥。最起码的工作是写一个显示驱动程序,让每一条输入在显示器上显示,这是最基本的交互。

假设,屏幕被划分为50行,80列的50*80=4000个小格,每一个小格都是一个内存单元,我们让希望显示的内容,写在其中的某个或多个内存单元,屏幕立马就会显示出对应的图像。那4000个小格就是显存,显存是显示器给我们的接口,这个接口把显示器复杂的光电感应、化学反应过程抽象为4000个小格,让我们方便操作。


3.我们还需要一个中断表,中断是为了与CPU有交互,否则不能对CPU下指令的电脑是一无用处的,这是对CPU能力的抽象,想象上面显示器的抽象,这是一样的道理。永远在脑海里有一个抽象的概念,计算机领域就是抽象的不断实现。


4.实现对磁盘的抽象,我们叫它文件系统,说白了,就是把磁盘的第几个磁头指向的第几个簇第几磁道抽象为一个文件名,在windows你点击的图标,对应的就是这样的磁道位置。


5.将上面所有的抽象,写进一个循环程序中,不断的等待中断,然后按照中断指令调用显示与文件系统,这就是操作系统的最基本形态,到这一步,你能够通过二进制的方式与计算机交流了,如果需要用汇编语言,还需要实现一个编译器,来翻译汇编代码。

从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

首先,我们先对这两个操作系统有些基本的了解:

Linux:以它的高效性和灵活性著称。它能够在 PC计算机上实现全部的 Unix特性,

具有多任务、多用户的能力。

Windows:是最常见的计算机操作系统,目前推出的win10系统相当成熟。Windows操作系统具有人机操作互动性好,支持应用软件多,硬件适配性强等特点,未来该系统将更加安全、智能、易用。

从操作系统的角度来讲,Linux和Windows在以下两个方面的区别:

第一、Linux的操作比较复杂,windows的比较简单、易懂。

第二、很多软件只能在windows里运行,而不能在Linux系统运行。

从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

欢迎大家关注我的账号:EmacserVImer,我会经常和大家分享你关注的互联网行业动态,计算机技术趋势,以及最新的篮球足球资讯!

Linux与Windows,一个是服务器领域的主要操作系统,一个是个人PC领域的绝对王者,可以说是最好的两极。今天我们从底层角度来分析一下两者的差别。

从系统架构上分析

Linux的内核可配置性、可独立性非常好。主要完成操作系统最为底层最为核心的一些功能,比如任务调度,TCP/IP,以及驱动设备的管理等等,Linux可以适用于从嵌入式设备、智能移动终端、桌面解决方案、以及服务器端等等众多的计算机平台。

Windows是微内核,是目前最成熟、最完善的桌面个人PC解决方案,在服务器领域、移动终端、嵌入式领域Windows的成绩非常不佳。甚至微软公司自己在使用服务器的时候都不得不采用部分Unix服务器来完成Windows没办法搞定的事情。

在任务管理方面,Linux可以说完全继承了Unix的全部优点,Linux是一款多用户、多任务、并且任务环境安全的操作系统,windows则不具备这样的特点,Windows的安全性是建立在牺牲了效率的条件下完成的。同时Linux的内核架构十分精简,一致性非常好,Unix/Linux发展这么多年,几乎没有做出过巨大的结构变动,但是Windows则不一样,几乎三五年就要变动一次架构,Windows XP到Windows Vista,Windows7到Windows8,Windows8到Windows10,几乎每一次大的版本更新,架构都要改变。

从图形界面来说

Windows的GUI图形界面是应用程序可以直接通过应用程序调用Windows底层的一些图形界面函数,而Linux是图形界面是建立在X-Window上,GUI则是应用程序必须通过socket向X-Window server发送请求才能实现,也就是说,其实只有X-Window server在使用屏幕,这种对于硬件资源的消耗更大,举个简单的例子,你用macOS打开活动管理器就能看到,Linux也一样。但是这样更稳定,遇到问题只是相当于卡掉一个进行,不至于导致整个操作系统的彻底崩溃。

从开发者生态力来说

Windows是闭源的,而Linux是开源的,Windows下所有的条条框框基本上都被限制死了,当然Windows开发者生态有全世界最好的集成开发环境visual studio,有最好的开发者网络MSDN,当然现在越来越多的开源解决方案也逐渐移植到Windows上,但是终究你会感觉不那么顺畅。

很多人可能觉得Windows上的工具入门成本耕地,但是Linux下的工具入门的成本确实要高得多,这一点两者确实不具有可比性,但是一旦你熟悉以后,你会发现Linux才是真正的生产力工具,效率更高,而相反的你会发现Windows下坑越来越多。

而且windows上你需要学习很多的Windows API,得有超过两三千个,参数非常多,而且都比较复杂,Windows架构也经常变,可以说要痛苦很多。但是Linux下就会好很多,内核API就两三百个,而且大部分你用不到,只有在写驱动的时候用得到,做应用开发,你熟悉C语言的API你就发现,好像差不多了。

Linux和Windows毕竟各自定位有差别,Linux从一开始就不是为普通用户准备的,而Windows最初就是瞄准的普通消费者,Linux很难进入消费者桌面市场,而Windows也很难进入服务器市场。各有各的优势,各有各的空间。

从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

linux内核架构是宏内核,windows是混合内核

从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

从我个人的角度去理解:

区别:

1、免费与收费

在中国,对个人用户windows和linux都是免费的,对公用户windows需要收费,linux是免费的。

2、技术支持

Windows提供了较完善的帮助系统,而大多数Linux用户依靠技术社区来进行技术支持。他们可以从聊天板和论坛得到有用的信息。缺点是,它往往需要较长时间才能得到答案。

3、安全性

安全是一个非常重要的问题。这两个系统都有漏洞和潜在的安全问题。许多管理员声称,Linux比Windows有更多的漏洞,这当然跟它开源有关。不过,如果你有一个好的管理员,安全应该不是一个重大问题,无论您使用的那种操作系统。

4、开源

开源就是指对外部开放软件源代码。linux开源,而Windows并不开源。

二、无盘系统,泛指由无盘工作站组成的局域网。相对于普通的PC机,无盘工作站可以在没有任何外存(软驱、硬盘、光盘等)支持的情况启动并运行操作系统。为了支撑这样的网络构架,需要采用专门的软件系统,此类的软件成为整个无盘系统的组成部分之一。

扩展资料

Linux系统的主要特性:

1、基本思想

Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

2、完全免费

Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。

3、完全兼容POSIX1.0标准

这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。

4、多用户、多任务

Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

从底层(操作系统)的角度来讲,Linux和Windows在哪些方面不一样?

一个是闭源商业软件,一个是开源社区软件。

留言与评论(共有 0 条评论)
   
验证码:
Top