计算机的内部工作:不同的层次结构

B.3. 计算机的内部工作:不同的层次结构

计算机时常被视作一种内部实现远复杂于外部接口的抽象机器. 这种复杂性来源于组成计算机的各个层次,不过每个层只与其直接相连的上下层有交互,从而隐藏内部实现的复杂性.

用户在并不了解具体细节的情况下可以正常使用计算机完成几乎所有的工作. 当报告一个问题产生,例如网络不通,首先要做的便是确认问题源于哪一层。是网卡(硬件)问题还是系统(软件)问题.Linux内核能查看到相关信息吗,网络参数正确配置了吗.所有这些问题精确定位出问题起源的那一层.


B.3.1. 最底层:硬件

让我们简单回顾一下计算机的组成,首先,最重要的是一堆硬件.通常包括主板,一个或多个处理器,一些RAM(Random Access Memory,随机存储器),设备控制器,和 为其他设备控制器预留的可选拓展插槽。最值得留意的便是IDE(Parallel ATA),SCSI和Serial ATA,这些控制器被用来连接硬盘之类的存储设备.其他的控制器 包括USB(可以连接多种多样的设备,摄像头到各种传感器,从键盘到家用自动化系统)和IEEE 1394 (Firewire).这些控制器通常能连接多个设备,所以这些设备通常作为一个子系统由一个被称之为"bus"(总线)的控制器掌控. 可选卡包括显卡(负责显示器的输出内容),声卡,网络接口卡等,但是一些主板内置这些特性从而不需要这些可选卡.

实践 检查硬件的工作情况

  • 检查硬件的使用情况是复杂的,但是有时使他们不能正常工作却很简单. 一个硬盘驱动器由可旋转的的盘片和可移动的磁头组成.当一个磁盘驱动器处于通电状态,盘片马达发出特有的声音.发声和发热一样都会消耗能量.当然,当不再供电时,硬盘驱动器处于冷却安静的状态.
  • 网卡一般带有一个显示连接状态的LED灯.如果一个网络缆线被插入集线器或者交换机,至少一个LED被点亮.如果一个LED都没亮,网卡,缆线或者与之相连的网络设备中至少有一个存在问题.下一步就要分别检查各个设备了.
  • 个别可选卡,尤其是 3D图形卡 带有冷却装置(散热器或者风扇).如果设备卡通电而风扇没有启动,一个合理的解释就是芯片过热.这也同样适用于主板上的主处理器.

B.3.2. 启动器: BIOS / UEFI

就硬件自身而言,在没有相应的软件驱动的情况下是不足以完成有用的任务的.硬件的控制和交互正是操作系统和应用程序存在的意义.这些软件的运行同时有需要各种功能的硬件正常运行作为支撑. 软硬件间的依存关系并不是由他们自身建立的,计算机通电后有一些初始化工作要做.充当这角色的是BIOS/UEFI(嵌入在主板里的一小段代码,在主板通电后自动执行).它的主要任务就是搜寻它能交付控制权的软件. 在BIOS的情况下,这项工作包括查看硬盘的MBR(Master Boot Record,第一个扇区),加载引导扇区,并运行.直到下一次引导,BIOS将不再被执行. 在UEFI的情况下,这项工作包括搜索磁盘中的包含EFI应用程序的EFI分区.

Setup BIOS/UEFI配置工具

  • BIOS/UEFI还包含一个配置计算机各项参数的工具叫做Setup.它允许选择优先作为引导项的设备(例如,软盘,光盘,U盘等),设置系统时钟等.启动Setup通常需要在计算机通电后快速按一个键,一般是 Del 或 Esc,有时也可能是 F2 或 F10.引导过程中的大多数时间,这些选项会从屏幕上闪过.

引导扇区包含另一段被称为 BootLoader 的程序,该程序用于寻找并运行一个操作系统.由于BootLoader不是固化在主板里,而是从硬盘载入,所以会比BIOS更加智能些,这也解释了为什么BIOS不自行加载操作系统.BootLoader(在Linux上时常是Grub)可以列出可使用的操作系统供用户选择.通常会有超时未操作时的默认选项存在.有时用户还可以修改内核启动时的参数等.最后,找到并加载进内存并执行一个内核.

注记UEFI 一个更现代化的BIOS替代方案 UEFI是一个相对较新的开发环境.大多数较新的计算机都支持这种启动方式,而且同时支持BIOS以向后兼容为支持UEFI的老式操作系统. 新式操作系统得以免除某些BIOS引导的限制:得益于EFI分区,BootLoaderi不必再绞尽脑汁精简到可以放在MBR里.一个合适的内建Linuxe内核使得UEFI可以在没有中间引导器的情况下直接引导内核. UEFI还是 Secure Boot 的基础,Secure Boot 是一种确保用户只运行操作系统提供商认定软件的技术.

BIOS/UEFI还负责检测和初始化一些设备.显然,这包括IDE/SATA设备(一般是硬盘或光盘驱动器),还有PCI(Peripheral Component Interconnect,外设部件互连标准)驱动器.被检测到的设备在引导被i显示在屏幕上.如果闪现的过快, Pause 键可以是它停留更长的时间以供阅读. PCI设备安装但未显示是厄兆,最坏的情况下是设备损坏,最好的情况下是设备与BIOS或a主板版本不兼容.PCI标准在不断发展,旧的主板不能保证新PCI设备的运行.

##B.3.3. 内核 BIOS/UEFI和BootLoader都只运行短暂的几秒,现在我们进入第一个长时间运行的软件--操作系统内核.内核就如同乐队的指挥一样确保软硬件协调.这个角色负责着多个任务:驱动硬件,管理进程,管理进程、用户、权限、文件系统等.内核为系统上的其他程序提供一个公共的基础.

B.3.4. 用户空间

尽管所有内核外的所有操作都可以划归到用户空间名下,但是我们时常将它分到软件层. 它们的交互比之前更加复杂,分类也不再那么简单.一个应用程序通常包含一些涉及内核的库,而且进程间通信使得多个程序和多个库之间可以相互调用.

转载于:https://my.oschina.net/u/3022832/blog/1832056

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值