Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 操作系统 > Linux > Linux与WindowsNT相比的几个技术优势
【标  题】:Linux与WindowsNT相比的几个技术优势
【关键字】:Windows,in,NT,Win,Linux,Window,do,Wi,Linux,WindowsNT
【来  源】:网络

Linux与WindowsNT相比的几个技术优势

Your Ad Here Linux是一个主要运行于PC机的UNIX克隆系统,它不仅具备UNIX系统的全部特征,而且与POSIX标准兼容。Linux的功能包括真正的多任务、虚拟内存、共享库、需求装载、共享的写时复制程序执行、优秀的内存管理以及TCP/IP网络支持等。它的发行遵守GNU的通用公共许可证。而Windows NT操作系统却和Linux有着完全不同的开发模式和发展历史。下面对两种操作系统进行一些比较。

   ■ 进程管理及调度:Linux开销较小
   在进程管理及调度方面,Linux是一个单块式的操作系统,操作系统通常在用户进程的内存空间内进行,可免去发生系统调用时的进程切换开销。Windows NT是一个准微内核操作系统,许多功能以单独的进程实现,从而提高了系统的模块化程度,但进程切换上的开销要大一些。

   Linux支持内核级的线程,但它将线程定义为进程的另一个“执行上下文”,从而简化了进程/线程之间的关系和调度程序的设计,它的线程库提供了和POSIX兼容的线程同步机制。Windows NT支持的线程是典型的进程/线程模型。它的线程同步机制和Linux类似。Linux中进程是基本的调度单位,它提供了三种调度策略。

   ■ 进程间通信机制:Linux更灵活
   在进程间通信机制上,Linux提供了标准的UNIX IPC机制,而Windows NT则在基本IPC机制的基础上,提供了许多直接面向应用程序的高级IPC机制。从本质上看,Linux的IPC机制接近于IPC原语,比较底层,提供了最大的灵活性,也可以在此基础上建立更加复杂的高级IPC机制,而Windows NT在原语级提供的IPC机制有管道、命名管道、消息传递、共享内存、信号量等。

   ■ 内存管理:Linux优于Windows NT
   在内存管理上,Linux 和Windows NT在面对相同的进程地址空间大小时,对内存布局的使用方式不同。Windows NT实际只为进程准备了2GB弱的可用虚拟地址空间,而Linux中的进程地址空间使用更灵活些。

   在虚拟内存的使用上,Linux内核为用户管理了非常多的细节问题,用户可以认为自己真正拥有4GB地址空间,而不用关心虚拟内存是否提交物理存储等问题。Windows NT则为程序员提供了多种虚拟内存使用方案,虽然这些方案的使用有些复杂,但却提供了一定程度上的灵活性。它也支持DOS和Win16程序的执行,但为了提供这种兼容性,它的内存管理付出了极高的性能代价。

   Linux 和Windows NT虽然均提供了内存共享技术,但它们的实现有些细微的差别。Linux提供给用户的接口非常简单,只需将自己的虚拟内存空间区域附加到共享内存对象之上。Windows NT则是通过内存映射文件提供共享内存机制,从使用上讲,略显复杂。

   Linux的内存交换管理灵活性很强,用户可以在普通的文件系统上建立“无洞”的文件作为交换空间,还可以使用多个交换文件,从而可以动态增加交换文件。它也提供了利用交换分区作为交换空间的方法,此方法是优选的交换空间方案。Windows NT的页面文件很难摆脱碎片化的危险,为了保证它采用无碎片的页面文件,必须采取一定的措施。

   Linux 和Windows NT在高速缓存的使用上有一些共同之处,均尽量采用系统的全部空闲RAM作为高速缓存区域,但Linux在高速缓存管理上有一些独到之处,这是它性能之所以高的根本原因所在。

   ■ 安全性:Linux具有一定优势
   在安全性方面,Linux采用的是UNIX在安全性方面成功的技术,尽管有一些安全漏洞,但因为设计上的开放性,这些漏洞能够在很快的时间内发现并得到解决。Windows NT虽然采用的ACL技术,更加复杂和严密,但因为其密码加密步骤过于简单,密码容易被破解。安全性设计上的不公开性也导致其有很多安全上的漏洞。
LINUX新手入门及安装配置faq200(下):【上一篇】
请听Linux孵化者们的战斗心声:【下一篇】
【相关文章】
  • LINUX新手入门及安装配置faq200(下)
  • Linux下怎样实现类似于Win95下的“直接电缆连接”的功能?
  • LINUX2000PPC安装手册
  • 如何来救回被win覆盖的linux分区信息
  • 深入理解和管理Linux文件系统
  • 运行在imac上的 Linux发行版
  • LynxOS、QNX、Linux的分析和比较
  • Linux图形界面知多少?--序言
  • 某个数据文件损坏,如何打开数据库?(for Linux)
  • linux bible 第五章 进程间通讯机制
  • 【随机文章】
  • EJB,J2EE的核心,如何看待?
  • IP组播技术在视频中的应用(3)
  • 编程规范与范例--排版
  • 机房计费系统刷卡明细查看SQL代码
  • 本周随笔阅读数排行
  • Swift3D for 3dsmax3\4\5.x插件v2教程
  • Illustrator渐变网格工具不完全手册(6)
  • 工作项跟踪管理系统基本完成
  • MS SQL数据类型及长度限制
  • 2.6.1*Linux内核中NAT处理的改变
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.