Post

Operating System,OS

Operating System,OS

第一章:计算机系统概述

1.1 操作系统的基本概念

1.1.1 操作系统的概念

  • 操作系统是系统资源的管理者
  • 向上层提供接口和环境
  • 是最基本的系统软件,最接近硬件的软件

image-20240120202331861

对于计算机,提供的功能有(向下):

  • 1.存储器管理【打开应用程序】
  • 2.文件管理【把需要运行的程序放入内存】
    • 执行一个程序前需要将该程序放到内存中,才能被CPU处理
  • 3.处理机管理【进程被CPU进行处理】
  • 4.设备管理【调用相应的设备】

对于用户提供的服务(向上)

  • GUI

  • 命令接口

    • 联机命令接口(交互式命令接口) 一句

    • 脱机命令接口(批处理命令接口) 一堆

​ 对于应用程序

  • 系统调用(程序接口):通过程序间接使用

操作系统的作用

image-20240120203624116

image-20240120203712061

1.1.2 操作系统的四个基本特征

1.并发(Concurrence)

概念:指两个或多个事件在同一时间间隔内发生

  • 这些事件在宏观上是同事发生的
  • 在微观上是交替发生的

并行

同一时刻同时进行两个或多个事件

image-20240120204413758

2.共享(Sharing)

即资源共享,系统中的资源可以供内存中多个并发执行的进程共同使用。

两种资源共享方式

互斥共享

概念: 一个时间段内只允许一个进程访问该资源

  • 如调用摄像头,只能一个时刻给一个进程

同时共享

概念:允许一个时间段内多个进程“同时”进行访问

  • 这里的同时往往是宏观上的
  • 微观上,这些进程可能是交替进行资源访问
  • 如同时使用qq和微信发送同一个文件,宏观上是同时的,但是在微观上是交替进行的。

image-20240122181937275

3.虚拟技术(Virtual)

是指把一个【物理的实体】变为若干个【逻辑上】的对应物。

  • 时分复用技术
    • 处理器的分时交替共享
  • 空分复用技术
    • 虚拟存储器

没有并发性,就谈不上虚拟性

4.异步(Asynchronism)

概念:在多道程序环境下,允许多个程序的并发执行,但是由于资源有限,进程的执行不是一贯到底的,是走走停停的,以【不可预知 的速度向前推进】,这就是 进程的异步性。

只有系统拥有并发性,才会导致异步性


end.

image-20240122192857986

1.2 操作系统的发展与分类

image-20240122193441621

1.2.1 手工操作阶段

image-20240122193815384

1.2.2 批处理阶段

  1. 单通道批处理系统
    1. 引入脱机输入/输出技术(磁带)
    2. 【监督程序】负责控制作业的输入、输出 ==【操作系统的雏形】==

image-20240122194832523

  1. 多道批处理系统
    1. ==操作系统正式诞生==

image-20240122195305730

1.2.3分时操作系统

  1. 计算机以==时间片==为单位==轮流==为各个用户/作业服务
  2. ==用户的请求可以被及时响应,解决了人机交互的问题==

image-20240122201258811

1.2.4 实时操作系统

image-20240122201451374

1.2.5 其他操作系统

  1. 网络操作系统

  2. 分布式

  3. 个人计算机操作系统


end.

image-20240122201717275


1.3 操作系统运行机制

1.3.1 处理器的运行模式

CPU常执行两种不同性质的程序,一种是操作系统内核程序,一种是用户自编的程序(应用程序)。

内核程序和应用程序

内核程序:负责实现操作系统,简称“内核(Kernel)

  • 内核是操作系统最重要、最核心、最接近硬件的部分

    eg. Docker 仅需要Linux内核

  • 操作系统的功能未必都在内核中,如GUI界面

  • 可以使用特权指令 【eg. 内存清零指令】

  • image-20240122202859478

应用程序:只能执行非特权的指令

image-20240122203010891

内核态、用户态的切换

image-20240122203515241

end.

image-20240122203552598


1.3.2 中断和异常

1.中断的作用

”中断“ 会使CPU由用户态变为内核态,使操作系统重新夺回对CPU的控制权 ==也是唯一途径==

如果没有中断机制,就没有办法实现”并发“

  • 内核态 -> 用户态 : 执行一条特权指令,==修改PSW寄存器==

  • 用户态 -> 内核态 : ”中断“触发,==硬件自动完成变态的过程==

2.中断的类型

  • 内中断:与当前执行的指令有关,中断信号==来源于CPU内部==
  • 如:程序异常,指令非法,==陷入指令【系统调用,但非特权指令】==

  • 外中断:与当前执行的指令无关,中断信号==来源于CPU外部==
  • 如:时钟中断【控制并发运行】,IO设备【打印机服务】

image-20240130150457215

  • ”中断“特指侠义的中断,即外中断
  • ”内中断“一般称为”异常“
  • trap:由陷入指令引发,是程序故意引发的

  • fault:由错误条件引起,可能会被内核程序修复。修复后会将CPU使用权归还【如:缺页故障】
  • abort:由致命错误引起,内核程序无法修复,直接终止该应用程序。【如:整数/0,非法使用特权指令】

3.中断机制的基本原理

image-20240130151218707

end.

image-20240130151242626


1.3.3 系统调用

image-20240130151421862

1.什么是系统调用

image-20240130151804529

2.系统调用和库函数的区别

image-20240130151829375

3.系统调用的必要性

操作系统内核对共享资源进行统一的管理,并向上提供”系统调用”,用户使用资源,只能向操作系统内核发出请求.==内核会对各个请求进行协调处理.==

4.系统调用(按功能分类)

image-20240130152621838

5.

This post is licensed under CC BY 4.0 by the author.