读书-程序员的自我修养-链接、封装与库(2: 第一章:温故而知新 [一些基础概念]计算机硬件结构,操作系统历史)

1. 计算机硬件基本结构的演进

1.1 早期计算机硬件结构

1. 计算机的三个关键部件:
CPU、内存、I/O控制芯片
2. 早期状况:
早期的计算机没有复杂的图形功能,CPU核心频率也不高,跟内存一样,他们都是直接连接在同一个总线Bus上的。而I/O设备如显示器,键盘,磁盘等与cpu和内存相差慢很多,为了协调就有一个相应的 I/O控制器 连接。
在这里插入图片描述

1.2 如今的计算机硬件结构框架

1. 发展:
后来随着cpu核心频率的提升,导致内存跟不上cpu的速度,于是产生了与内存频率一致的系统总线,而cpu通过 倍频方式 与系统总线进行通信。
2. 图形化OS:
在后来对着图形化OS的普及,特别是3D游戏和多媒体的发展,使得图形芯片需要与内存之间交换数据,慢速的I/O总线已经不能满足此需求。
3. 北桥芯片
所以为了协调内存,cpu和图形设备,设计了一个高速的北桥芯片,以便他们之间可以高速交换数据。
4. 南桥芯片:
相对低速的设备由南桥芯片处理,由南桥芯片将他们数据汇总到北桥芯片上。
5. 摩尔定律和SMP:
SMP多对称处理器,每个处理器所处的位置和功能是一样的。
由于cpu在过去50年里从几十kHz到现在的4GHz,由于摩尔定每18个月就提升一倍,后来由于制造工艺的限制CPU频率没有发生质的提高。目前一直在4GHz的天花板。
于是人们从另外一个角度进行提升,就是增加cpu的数量。
摩尔定律: 当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。
在这里插入图片描述

2. 中间层

2.1. 计算机分层结构:

计算机系统软件体系结构采用一种层的结构
从下到上依次是:硬件,OS内核,运行库与应用程序和开发工具。
名言:计算机科学领域的任何问题都可以通过增加一个间接的中间层来解决。
在这里插入图片描述

2.2. 接口、API、系统调用接口:

接口: 每个层都需要相互通信,既然通信就必须有一个通信协议,我们一般将其称为接口(Interface),接口的下面层是接口的提供者。
API: 运行库提供的接口称为:应用程序编程接口API
如:Linux 下的Glic库提供POSIX的API;Wdindows提供的运行库是windows API;32位Windows提供的API又被称为win32。
系统调用接口: 操作系统提供的接口称为系统调用接口。

3. 操作系统历史演进

3.1 早期:多道程序

定义: 早期人们为计算机系统编写的一个监控程序:当某个程序暂时无需使用cpu时,监控程序就把另外正在等待的程序启动,使得cpu运行起来。这就叫做多道程序。
优点: 原始,但是当时确实提升了cpu 的利用率
缺点: 调度太粗糙

3.2 改进:分时系统

定义: 每个程序运行一段时间后,主动让出cpu给其他程序,使得一段时间内每个程序都有机会运行一小段时间。这就叫做分时系统。
优点: 早期操作系统的雏形
缺点: 存在霸占cpu 的程序;任何一个程序循环都会导致程序司机

3.3 多任务系统

定义: 操作系统接管所有硬件资源,并且本身运行在一个受硬件保护的级别。所有的应用程序都以进程的方式运行在比OS权限更低的级别,每个进程都有自己独立的地址空间,使得进程之间的地址空间相互隔离。CPU由OS统一分配,每个进程根据优先级获得cpu,并且通过抢占式剥夺超时或者给它认为需要的进程使用。

4. 驱动

4.1 定义:

驱动定义: OS用来管理,控制硬件的代码
广义理解: 添加到OS中的一小块包含硬件信息的代码,OS通过其与设备进行通信。

4.2 抽象

当成熟的OS出现以后,硬件被抽象成了一系列概念。
windows中,图形硬件被抽象成GDI;声音和多媒体被抽象成了DirectX对象;磁盘被抽象成了普通文件系统。
Unix中,硬件设备的访问形式跟访问普通文件形式一样。

5. 硬盘/磁盘结构

硬盘的基本存储单位为扇区
硬盘一般有两个盘面,每个面按照同心圆划分为若干个磁道,每个磁道划分为若干个扇区,每个扇区512字节。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值