1. 计算机组成和操作系统概要¶
为不是计算机毕业的同学介绍一下基本的理论,只选取必要的内容进行介绍。
1.1. 计算机的四代发展¶
- 第一代计算机(1946-1957)电子管时代
- 第二代计算机(1958-1964)晶体管时代
- 第三代计算机(1965-1971)中小规模集成电路时代
- 第四代计算机(1972-现在)超大规模集成电路时代
1.2. 计算机的功能部件¶
- 输入设备
- 输出设备
- 存储器
- 运算器
- 控制器
1.3. 计算机软件的分类¶
- 系统软件
- 应用软件
1.4. 三个级别的语言¶
- 机器语言(运行最快)
- 汇编语言
- 高级语言(运行最慢)
1.5. 计算机工作的流程¶
计算机先将程序和数据装入主存储器中,然后从程序的起始地址运行程序,用程序的的首地址从存储器中取出一条指令,经过译码、执行步骤等控制计算机的各个功能部件协同运行,完成这条指令,并计算下一条指令的地址。用新得到的地址继续读出第二条指令并执行,重复这个步骤,直到程序结束。
1.6. 操作系统的一些基本概念¶
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织和调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境的程序集合。
1.7. 操作系统的特征¶
- 并发
- 共享
- 虚拟
- 异步
1.8. 操作系统的职责¶
- 处理机管理
- 存储器管理
- 文件管理
- 设备管理
1.9. 操作系统的发展¶
- 人工操作阶段(此阶段无操作系统)
- 批处理阶段(操作系统开始出现)
1.10. 操作系统的分类¶
- 分时操作系统
- 实时操作系统
其中,分时操作系统是指把处理器的运行时间分为很短的时间片,按时间片轮流把处理器分配给各联机作业使用。我们家用电脑一般是分时操作系统。
而实时操作系统则要求接受到外部信号后要及时处理,并且要在严格的时间限制内处理完接收的事件。如飞行器的飞行控制系统。
1.11. 操作系统的体系架构¶
- 宏内核
- 微内核
宏内核的操作系统将主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。因为各模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势。这种内核的代表有Unix和Linux。
而微内核的结构则将内核中最基本的功能如进程管理留在内核,而将那些不需要在核心态运行的功能移到用户态执行,从而降低了内核的设计复杂性,这种结构有效的分离了内核与服务,服务与服务,使得他们之间接口更清晰,维护代价大大降低,各部分可以独立的优化和演进,从而保证了操作系统的可靠性,不过这种结构的最大问题是性能问题,因为需要在内核态和用户态之间不断切换,操作系统的执行开销偏大。目前市面上还未有严格意义上的微内核操作系统。
1.12. 进程与线程¶
为了使参加并发执行的程序和数据能够独立地运行,必须为之配备一个专门的数据结构,成为进程控制块(Process Control Block)。系统利用PCB来描述进程的基本情况和运行状态,从而控制和管理进程。
相应的,由程序段、相关数据和PCB三部分构成了进程映像(进程实体)。所谓的创建进程,实质上就是创建进程映像中的PCB,而撤销进程,实质上是撤销进程的PCB,进程映像是静态的,而进程是动态的。
而线程呢,是进程中的一个实体,是被系统独立调度和分配的基本单位,线程不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可以和同属一个进程的线程共享所有资源,同一进程之中的多个线程可以并发执行。
好,我们关于计算机组成和操作系统中的一些概念做了基本的介绍,如果想深入学习可以参考计算机专业的课本《计算机组成》和《操作系统》。