热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

解密Linux内核2.4

解密Linux内核2.4--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
作 者: 方汉


  随着Linux 2.4内核测试版的不断推出,2.4内核的架构、主要功能、改进都已大致敲定。支持所有64位处理器、面向企业、全方位整合系统资源、需要更少内存的Linux 2.4内核完整版,将为人类打开一个美丽的新世界。

  Linux目前最新稳定内核的版本是2.2.16,而最新的测试版本是2.4-test3。Linus这次吸取了在2.1系列开发中测试版本拖得太长的教训。它提前将2.3系列直接从2.3.49跳到2.3.99,又升至2.4-test4。本文将以2.4-test4为基础,对2.4系列的内核进行一次前瞻性的介绍。

  相对于2.2系列比2.0系列的改进,2.4系列的进步更大,但这也意味着2.4将很难同2.2系列兼容。2.4系列的改进主要体现在系统、网络、驱动程序等方面。

  系统

  在内核的体系结构方面,2.2.16中已经支持的硬件平台有:Alpha、Arm、i386、M68k、Mips、Ppc、S390、Sparc、Sparc64。S390是IBM的MainFrame机器,它的加入是近期的事情。2.4主要的变动是对IA64支持。IA64作为Intel下一代的主力服务器端产品,现在已经越来越多地引起更多软件厂商的注意。Linux作为最早支持IA64的操作系统,这个事实本身就证明了Linux强大的生命力,而且这也是Linux进入企业级市场的一个好机会。其它新的硬件平台主要是Super-H和Mips64,另外它在i386下面增加了对Athlon/K7、Crusoe、Winchip的支持。Crusoe就是Linus本人供职的Transmeta公司推出的移动式CPU。Linux继续保持着支持硬件平台最多的领先地位。

  2.4加入了完全资源管理器的支持。现在在Linux内核中对PCI等资源的分配将更加智能化,这使得即插即用在Linux上将得到更好的支持。另外,Linux也改变了原先的磁盘缓冲机制,由比较复杂的双缓冲系统改进到简单实用的单缓冲系统。Linux 在多处理器上的可伸缩的特性得到了加强,提供可配置的进程管理机制。进程调度机制也被完全重写了,提高了内核的调度效率,使支持的并发进程数也大大增加了。Linux内核支持的用户数目也达到了2的32次方之多,支持的最大文件数也免去了2G的限制,支持的CPU是32个、内存为64G。它还支持同时使用16块以太网卡、22个IDE设备、加入多重IO-APIC(高级可编程中断控制器)。它对Share Memory的支持也发生了变化,改成加载一个特殊的文件系统到/var/shmem,这使得其兼容性更强。另外一个影响深远的改动是加入了DEVFS。所谓DEVFS就是将现在的/dev目录变为一个文件系统。用户将不再需要手工去为一个新设备增加设备文件,内核将自动地在这个文件系统中增加该设备文件。目录结构也改变了,例如/dev/hda将移到/dev/ide0/disk0/……这使得在Linux中添加USB、IEEE1394等设备将变得更为容易。但是与此同时,大批的应用程序需要修改才能采用这一新特性。

  在文件系统方面的重大改进是加入了LVM(Logic Volume Manager)的支持。LVM运行文件系统跨越磁盘,可以在运行时动态伸缩文件系统大小,增加文件系统。这已经成为HP-UX和Compaq True64 UNIX的企业级标准。其实LVM的很多特性在Linux的MD(Multi Disk)中已经支持,但是这将是商业用户采用Linux的一个重要依据。对RAID(冗余磁盘阵列)的支持也已经被加强,优化了RAID子系统的执行效率,实现了RAID0、1、4/5。多处理器下的多线程得到了加强,已经可以直接使用RAID设备作为启动根分区。此外对RAW IO的支持也已经被加入,这是许多商业软件急需的特性,如Oracle数据库。Linux支持的分区系统增加了对UDF(DVD使用的文件系统)的支持,这使得Linux将可以支持DVD系统。令人失望的是,现有的两个日志文件系统(ext3/reiserfs)仍然没有被合并入Kernel 2.4,这使得很多开发者抱怨连连。

  网络

  在网络方面,Linux针对前一时期同WinNT的评测结果,做出了大量改进。比较重要的有支持“wake one”的技术,这使得WWW服务器的效率大大提高。支持KHTTPD,使得Linux可以在内核级提供静态网页的访问。这对于那些访问量巨大的服务器是一个很好的替代,例如专门提供图像服务的服务器.

  Linux的IP防火墙和IP伪装技术又重新修改了一次(这已经是Linux内核第三次重新设计这一部分),现在的名字叫IP Table。它同2.0的ipfwadm和2.2的ipchains仍然兼容,而且现在已经能够实现很多路由器才能实现的功能。对于企业级用户来说,DECNET、ARCNET、NetBui、SMB等都已经支持,尤其是SMB部分的重写将大大加强对Windows9x/NT/2000的网络性能。

  硬件

  目前2.4中支持的USB设备包括: 鼠标、键盘、数字化仪、扫描仪、打印机、蓝牙设备、MP3播放器、手写板、网卡、 USB互联线、游戏杆、USB并/串口、 数码相机、摄像头、声卡、Modem、硬盘、USB HUB、软驱、光驱等等。2.4对于I2O、Fimwire(IEEE1394)的支持也已经实现。在一个开发者贡献了5万行代码之后,ACPI在2.4-test4版本中已经大大改善。而其它如网卡、SCSI卡、RAID卡、IDE RAID等的支持也进步不小。目前内核中已经提供对UDMA66、ATA100、IDE RAID的支持。现在已经有很多开发者不得不将2.4系列的驱动向2.2系列上移植。Kernel最终将PCMCIA 的支持合并入正式版本中,这对于笔记本用户来说意义重大。值得批评的是,声卡在2.4中并没有得到很大的改善,相信只有等ALSA计划(www.alsa-project.org)的合并才能得到很大的改进了。

  此外在2.4版本中没有合并进去的计划有:

  Kernel Lever Encrypt Support (www.kerneli.org)

  Reiser日志文件系统(www.devlinux.com)

  ext3日志文件系统

  Linux Virtual Server (www.linuxvirtualserver.org)

  Linux 安全监测系统 (www.lids.org)

  Linux Virtual Server和Linux 安全监测系统都是由中国的年轻黑客领导的GNU计划。他们是章文嵩和谢华钢。希望他们早日成为把名字标记在内核中的第一批中国的Linux开发者。

  Linux 2.4 的发行日期目前还没有确定,相信是在今年的第三季度末。那时也将是Linux全面进入企业级市场和桌面市场吹响号角的时候。但是对于用户来说,并不一定能够立刻享受到2.4系列的内核。这还取决于各大Linux发行版厂商的速度了。毕竟每一次迁移对于Linux发行版厂商都是一个痛苦的过程。但最迟应该是今年年底就可以看到使用2.4系列内核的Linux发行版,让我们拭目以待吧!
推荐阅读
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 本文详细介绍了云服务器API接口的概念和作用,以及如何使用API接口管理云上资源和开发应用程序。通过创建实例API、调整实例配置API、关闭实例API和退还实例API等功能,可以实现云服务器的创建、配置修改和销毁等操作。对于想要学习云服务器API接口的人来说,本文提供了详细的入门指南和使用方法。如果想进一步了解相关知识或阅读更多相关文章,请关注编程笔记行业资讯频道。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
author-avatar
手机用户2502939795
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有