Linux是一个主要运行于inetel架构的UNIX-like操作系统,它不仅具备UNIX系统的全部特征,而且与POSIX标准兼容。Linux的功能包括真正的多任务、虚拟内存、共享库、需求装载、共享的写时复制程序执行、优秀的内存管理以及TCP/IP网络支持等。它的发行遵守GNU的通用公共许可证。而Windows 操作系统却和Linux有着完全不同的开发模式和发展历史。
进程管理及调度:Linux开销较小
在进程管理及调度方面,Linux是一个单块式的操作系统,操作系统通常在用户进程的内存空间内进行,可免去发生系统调用时的进程切换开销。Windows是一个准微内核操作系统,许多功能以单独的进程实现,从而提高了系统的模块化程度,但进程切换上的开销要大一些。
Linux支持内核级的线程,但它将线程定义为进程的另一个“执行上下文”,从而简化了进程/线程之间的关系和调度程序的设计,它的线程库提供了和POSIX兼容的线程同步机制。Windows支持的线程是典型的进程/线程模型。它的线程同步机制和Linux类似。Linux中进程是基本的调度单位,它提供了三种调度策略。
进程间通信机制:Linux更灵活
在进程间通信机制上,Linux提供了标准的UNIX IPC机制,而Windows 则在基本IPC机制的基础上,提供了许多直接面向应用程序的高级IPC机制。从本质上看,Linux的IPC机制接近于IPC原语,比较底层,提供了最大的灵活性,也可以在此基础上建立更加复杂的高级IPC机制,而Windows 在原语级提供的IPC机制有管道、命名管道、消息传递、共享内存、信号量等。
内存管理:Linux优于Windows
在内存管理上,Linux 和Windows 在面对相同的进程地址空间大小时,对内存布局的使用方式不同。Windows实际只为进程准备了2GB弱的可用虚拟地址空间,而Linux中的进程地址空间使用更灵活些。
在虚拟内存的使用上,Linux内核为用户管理了非常多的细节问题,用户可以认为自己真正拥有4GB地址空间,而不用关心虚拟内存是否提交物理存储等问题。Windows为程序员提供了多种虚拟内存使用方案,虽然这些方案的使用有些复杂,但却提供了一定程度上的灵活性。它也支持DOS和Win16程序的执行,但为了提供这种兼容性,它的内存管理付出了极高的性能代价。
Linux 和Windows虽然均提供了内存共享技术,但它们的实现有些细微的差别。Linux提供给用户的接口非常简单,只需将自己的虚拟内存空间区域附加到共享内存对象之上。Windows则是通过内存映射文件提供共享内存机制,从使用上讲,略显复杂。
Linux的内存交换管理灵活性很强,用户可以在普通的文件系统上建立“无洞”的文件作为交换空间,还可以使用多个交换文件,从而可以动态增加交换文件。它也提供了利用交换分区作为交换空间的方法,此方法是优选的交换空间方案。Windows 的页面文件很难摆脱碎片化的危险,为了保证它采用无碎片的页面文件,必须采取一定的措施。
Linux 和Windows 在高速缓存的使用上有一些共同之处,均尽量采用系统的全部空闲RAM作为高速缓存区域,但Linux在高速缓存管理上有一些独到之处,这是它性能之所以高的根本原因所在。
安全性:Linux具有一定优势
在安全性方面,Linux采用的是UNIX在安全性方面成功的技术,尽管有一些安全漏洞,但因为设计上的开放性,这些漏洞能够在很快的时间内发现并得到解决。Windows 虽然采用的ACL技术,更加复杂和严密,但因为其密码加密步骤过于简单,密码容易被破解。安全性设计上的不公开性也导致其有很多安全上的漏洞。
一项最新的测试结果表明,采用linux下的samba文件服务器与windows 2003 server文件服务器性能比较,linux的表现是非常令人满意的。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
![TechTarget微信公众号二维码](/wp-content/uploads/res/images/spriteimg/ttweixin.jpg)
TechTarget
官方微博
![TechTarget中国官方微博二维码](/wp-content/uploads/res/images/spriteimg/ttweibo.jpg)
TechTarget中国
相关推荐
-
托管OpenStack私有云能够获得支持or单打独斗?
OpenStack私有云托管作为一种服务可以简化企业的部署和运营,并强调了云计算的优势,而非Linux的优化……
-
从零开始构建属于自己的Linux发行版
当你从头开始构建Linux,就可以充分和完整地了解Linux平台。Linux管理员在IT界内更神秘,因为他比其他任何IT专业人员都更了解计算机内部工作。
-
使用Red Hat或Debian包管理器简化Linux管理
Linux软件包管理使用的软件库,它提供了软件包的安装源。Red Hat和Debian的软件包管理器功能类似,但结构上的差异将影响Linux管理。
-
关于apt-get:非Linux管理员应该知道的那些事
Apt-get是广泛应用在Unix和Linux系统中的应用程序管理器,Windows和Linux管理员也可以受益于其功能。