第一章-系统概述

1.1操作系统基本概述

1.1.1OS的概念和功能

操作系统是【控制和管理整个计算机系统的硬件和软件资源,合理组织,调度计算机工作与资源的分配】是一个程序集合,是最基本的系统软件,注意用户和操作系统在应用程序中有一个间隙,因为【用户可以直接使用操作系统】
image

操作系统作用:

1.是系统资源管理者
补充:执行一个程序前,需要将该程序放到内存中,才能被CPU处理。

用视屏聊天的例子,上述4个步骤分别对应了一个操作系统作为资源管理者的功能。

2.向上层提供方便易用的服务
【封装】的思想,只让用户上层看到简单易用的服务
例子:GUI(图形界面),早期OS提供联机命令接口(交互式命令接口),以及脱机命令接口(批处理命令接口),程序接口等。
如何理解程序接口:系统调用组成程序接口,意思就是只能通过代码来使用这些接口,用户不能直接使用。
【区分】:

  • 这些服务是给谁使用的:GUI和命令接口是给用户使用的,而程序接口时给软件或者程序员使用的。
  • 联机命令接口是【说一句做一句】,脱机命令接口是【说一堆做一堆】。

理解操作系统的功能和目标:实现了对硬件机器的拓展,将硬件联系了起来,合理组织,让各种硬件能相互协调配合,实现更多复杂功能。

下图是导图:

1.1.2操作系统特征

4个特征:并发,共享,虚拟,异步
并发,共享为最基本的两个特征

并发:两个或者多个事件在同一个时间间隔内发生。这些事【在宏观上是同时发生的】但是【在微观上是交替发生的】。
并行:两个或者多个事件在同一时刻同时发生。
例子:和两个女朋友【同时】约会(并行),以及在【不同时间段】和不同女朋友约会(并发)。

1.操作系统并发性:

2.操作系统共享性:

两种方式:互斥和同时

3.为什么说并发和共享互为存在条件:

3.操作系统的虚拟

指的是把一个物理上的实体变为多个逻辑上的对应物,前者实际存在,而后者是逻辑上感受到的。
比如一个单CPU机器上用户打开了很多软件,他们都正常运行着,这在用户看来是好几个CPU在同时运行这些软件,但是其实只是一个CPU在对这些程序并发执行。
可以分为:【空分复用】,【时分复用】
image

4.异步性

指的是在多道程序环境下,允许多个程序并发执行,但是由于资源有限,进程的执行不是【一贯到底】的,而是【走走停停】,以不可知的速度向前推进,进程互相争抢使用资源,如果进程得不到资源,就阻塞。

下面是导图:

1.1.3操作系统发展分类

知识总览

1.手工操作阶段

2.单道批处理技术

3.多道批处理技术

4.分时操作系统

解决了不能人机交互的问题,但是无法先执行优先级高的任务。

5.实时操作系统

1.1.4操作系统运行机制

知识总览

1.内核程序和应用程序

普通的程序都是应用程序,而内核程序是【OS开发程序员写的程序】,这些程序组成了【操作系统内核】,是OS中最重要最核心的部分。应用程序只能使用【非特权指令】,如加减法指令,内核可以执行【特权指令】,如内存清零等影响重大的指令。

2.内核态和用户态(对应管态和目态)

操作系统可以分清楚哪些是特权指令,哪些是非特权的,但是如何分清楚哪一条指令是应用程序发出的,哪一条是内核发出的呢?
两种状态:内核态和用户态,处于内核态时,说明现在【正在运行内核程序,可以执行特权指令】,处于用户态时则只能运行非特权指令。PSW寄存器标明了此时CPU是在哪一个态。

  • 如何切换内核,用户态?
    image
    image
    【内核态->用户态】:执行一条特权指令--修改PSW标志位。
    【用户态->内核态】:由中断引发,硬件自动完成变态过程,除法中断信号意味着OS将强行夺回CPU使用权。

总结:

1.1.5中断和异常

知识总览:

中断

中断是让OS夺回CPU使用权的唯一途径,要是没有中断,一旦应用程序上CPU运行,CPU就会一直运行这个程序,那么就没有【并发性】
可言了。

内中断(又叫‘异常’)

中断来自CPU内部,和当前执行的指令有关,特殊情况--【陷入指令】
这类中断是CPU执行指令的时候检查是否有异常发生。
image
image
image

外中断(也叫‘中断’)

由外部发出的信号,如:【时钟信号】,【I/O中断】
这类中断是CPU每执行完一条指令都会检查是否有外中断信号需要处理。
image

中断背后的基本原理

通过查询中断向量表来判断应该执行哪一个中断程序

知识点回顾

1.3.3系统调用

系统调用是什么,作用

是操作系统提供给应用程序使用的接口,是一种给程序员调用的特殊函数
各层的关系:

什么功能会用到系统调用?系统调用功能

只要是对共享资源的访问,就会用到系统调用,【打印机例子】

系统调用的过程

在系统调用之前应用程序要先向寄存器中传递一些参数,指明希望进行哪一种系统调用。
image
高级语言代码的例子:

知识点回顾

1.4.1操作系统体系结构

内核的功能

原语:只能一次执行完,不能中断。

大内核和小内核

image
image
内核部分重点
image

1.5.1操作系统引导

简单来说就是开机的时候如何让OS运行起来
4步骤:
image

1.6虚拟机

image

posted on 2022-09-21 22:54  Laurance  阅读(331)  评论(0)    收藏  举报