Linux内核分析:(一)操作系统概念

一、 处理机状态及特权指令

处理机状态:

  • 核态:Kernel Mode, CPU运行操作系统程序时;
  • 管态:Supervisor Mode, 不能修改CPU状态;
  • 用户态:User Mode, 不能直接使用系统资源,并且只能访问用户程序所在的存储空间。

特权指令:

核态可以使用所有指令:

  • 允许和禁止中断;
  • 进程间切换处理机;
  • 存取用于内存保护的寄存器;
  • I/O操作;
  • 暂停CPU。

下列情况下,用户态->核态:

  • 用户程序要求操作系统服务,发生系统调用;
  • 发生中断;
  • 用户程序产生了错误;
  • 用户程序企图执行一条特权指令。

核态->用户态:

  • 这也是特权指令,一般是中断返回指令。

二、 操作系统发展:

1 手工操作

没有操作系统。用户直接操作,编程用机器语言,通过一些插板的硬连线控制。

2 批处理系统

(1)单道批处理系统:监控程序(软件)。用户:把程序、数据和对程序的控制意图写入卡片或磁带,以作业形式交给计算机操作员;操作员:把这些作业按顺序组织成一批,并将整批作业放在输入设备上,交给监控程序;监控程序:按顺序一个个作业调入内存执行,一直到这批作业处理完毕。特征:自动性、顺序性、单道性。

(2)多道程序系统:实现了资源管理,监控程序变成了操作系统。在内存中同时存放多个程序,它们都处于运行态。CPU和外设可以同时运行,大大提高了CPU利用率。特征:多道、宏观上并行、微观上串行。

(3)多道批处理系统:采用多道程序设计技术,这样CPU和外设可以同时运行。特征:多道、无序性、调度性。无交互能力。

3 分时系统

分时技术:把处理机的运行时间分成多个很短的时间片,轮流分配给多个联机程序。特征:

  • 交互性;
  • 多用户同时性:一台计算机可以连接多个终端,多个用户可以通过时间片轮转共享计算机资源;
  • 独立性:各个用户通过自己的终端独立使用计算机,感觉自己一个人独占计算机单元;
  • 及时性。

4 实时系统

能及时响应随机发生的外部事件,并且快速处理。专门用途:用于生产控制、武器控制、实时信息控制等。

分类:

  • 实时控制系统:例如导弹控制;
  • 实时信息处理系统:飞机票预定、航班查询等。特征:即时响应、高可靠性。
系统 多路性 独立性 及时性 交互性 可靠性
批处理系统 不能同时为多个用户服务 不独立 不够及时 不能 可靠
分时系统 为多个用户服务 人能接受的等待时间 可靠
实时系统 为多个对象服务 规定时间 人与系统交互存在一定限制 高度可靠

5 个人操作系统

联机的交互式的单用户操作系统。实时(用户可接受的时间)多任务。例如:MS-DOS、UNIX、Linux、OS/2、Windows、MAC。

由于是个人专用,在多用户和分时所要求的处理机调度、存储保护简单得多。GUI友好。

6 网络操作系统

与处理机操作系统没有本质区别。需要网络接口控制器及一些底层软件来驱动它。还要远程登录、远程文件访问程序。

7 分布式操作系统

分布式要求一个统一的操作系统,实现系统操作的统一性。引入一个高级操作系统,各个处理机有自己的似有操作系统。高级操作系统有两种实现形式:(1)在各处理机的私有操作系统之外独立存在,私有操作系统可以识别和调用它;(2)在各个私有操作系统之上加以扩展。

对于各个物理资源的管理,高级操作系统和各私有操作系统之间不允许明显的主从管理关系。

系统的透明性:操作系统同一调度,提供统一用户界面。实际操作在哪一台计算机运行、调用哪一台计算机资源,由操作系统决定,对用户是透明的。计算机网络,用户需要明确指定使用哪一台计算机。

基础是网络。

8 嵌入式操作系统

使用固化软件,即固件(firmware)。

软硬件专门用途,量体裁衣,去除冗余,实时高速(软件存在存储器芯片或者单片机中,而非磁盘),低功耗。

 

三、 操作系统功能:

1. 进程管理

2. 存储管理

3. 设备管理

4. 文件管理

5. 用户接口

 

四、操作系统基本特征:

并发性:程序(进程)并发运行。并发:单处理机,多个事件在同一时间间隔发生;并行:多处理机,多个事件同一时刻发生。

共享性:共享系统资源。互斥共享:如打印机;同时访问:如磁盘I/O。

不确定性:操作系统的随机性。

 

五、操作系统结构

1. 模块组合结构

任何模块间可以任意调用,没有任何数据封装和隐藏。高效率,难扩展和升级。

例如:CP/M、MS-DOS.

2. 层次结构

分层,下层模块封装内部细节,上层模块通过接口调用下层模块。

操作系统调用功能时,要从上而下穿越很多层,效率较低。

例如:UNIX,Linux,VAX/VMS,MULTICS.

模块组合结构和层次结构称为宏内核操作系统,包括了各种可能需要的功能。

3. 微内核结构

优点:可扩展性高,可靠性高,可移植性高,提供了分布式系统的支持,融入了面向对象技术。

缺点:需要多次上下文切换,效率低于早期操作系统。

例如:MACH、MacOS、Windows.

4. 虚拟机结构

 

六、Linux特点

内核结构

Linux内核分析:(一)操作系统概念_第1张图片

 

你可能感兴趣的:(Linux)