一言
征服可能会受挫,但好奇从未停息。——2001太空漫游
操作系统笔记:第一章-操作系统导论
本文最后更新于 498 天前,其中的信息可能已经有所发展或是发生改变。

1.1.1什么是操作系统?(操作系统的基本概念)

操作系统:(本质还是软件)

  • 是系统资源的管理者(安全高效的管理)

    • 文件管理

    • 处理机管理

    • 存储器管理

    • 设备管理(硬件)

  • 向上层提供服务

    • 把下层一些丑陋的功能封装成一些接口,向上对用户提供方便的服务

    • GUI接口

    • 命令接口

      1. 联机命令接口(交互式)→给用户直接使用

      2. 脱机命令接口(批处理命令接口)→给用户直接使用

      3. 程序接口:系统调用功能(例如c语言的printf() →给软件/程序员用的

  • 向下接近硬件

20230714135348

1.1.2操作系统的特征

1.并发:宏观上是同时发生,微观上是交替进行(并行是多个事件同时发生)

  • 操作系统的并发性:计算机系统中存在着多个运行着的程序。

    p.s. 描述cpu 几核,就是可以允许几个程序并行运行。

2.共享性:指系统中的资源可供内存中多个并发执行的进程共同使用。

并发和共享是互为存在条件的。

3.虚拟性:虚拟cpu技术:把物理上的一个实体分为逻辑上的若干对应物

空分复用技术:比如一个软件运行需要的内存是4gb,但是用户看来,打开的软件所占内存不止4gb→虚拟存储器技术。

时分复用技术→1核的cpu可以处理多个软件。处理机在各个微小的时间内交替为各个进程服务

4.异步性:进程的执行是走走停停的,因为资源有限,当一个进程在使用该资源时,另一个进程就会

暂时停止

1.2操作系统的发展和分类

1.手工操作阶段

用户手动输入(打纸袋)→处理器远远比用户输入的快:

  • 缺点:一个时间段只能为一个用户提供服务,人机速度矛盾。资源利用率低

2.批处理阶段

单道批处理系统

  • 脱机输入(磁带)→外围机→监督程序→输出

  • 缺点:不具有并发的特点。一次只能执行一个程序

    多批道批处理系统:

  • 向内存中输入多道程序→具有了并发的特性

    *缺点:没有人机交互的功能,只能看最后的输出结果,2.响应时间长

3.分时操作系统

  • 计算机以时间片为单位轮流为用户服务:解决了人机交互问题

  • 缺点:对每个用户分配的时间都是公平的,不能处理一些紧急要求。

4.实时操作系统:

  • 在接收到紧急信号后进行处理。并且在严格的时间内将事件处理完成
  • 特点:及时性和可靠性

    分类:

    • 硬实时:不接受时间规定,必须严格执行→导弹武器

    • 软实时:偶尔接受。→12306

5 其他操作系统

20230714135408

1.3.1操作系统的运行机制和体系结构

1.两种cpu状态、两种指令、两种程序是一一对应的。

两种指令:

  • 特权指令

  • 非特权指令

    两种状态:

  • 用户态(目态)

  • 核心态(管态)

两种程序:

  • 内核程序
  • 应用程序

20230714135421

2.操作系统的内核

操作系统:

1、非内核功能

2、内核功能:最接近硬件的底层软件,是操作系统最基本最核心的部分→1.[时间管理,中断处理,原语]这三部分是最接近硬件的。2. 对系统资源管理的功能(例如任务管理器)。有些操作系统并不会将资源管理器归为内核功能,所以由此引出了大内核和微内核

大内核:将主要功能模块都运行在核心态

  • 优点:高性能

    -缺点:结构混乱,不易于维护

微内核:只将主要功能保留在核心态,

  • 优点:功能少,结构清晰,易于维护
    -缺点:要频繁在用户态和核心态直接切换,性能低

1.3.2中断和异常→

中断是cpu从用户态改为内核态的唯一方式

cpu上会运行操作系统内核程序和应用程序

在合适情况下,cpu的控制权会交给应用程序(用户态),在一定情况下,中断会将cpu的使用权从新给内核程序,从用户态变为内核态。

中断:

内中断(也称异常、例外):由cpu内部发出的一个指令,引发内中断→

  1. 陷入、程序自己抛出的

  2. 故障:出故障了,还能调节

  3. 终止→致命错误:一般会被直接终止。

外中断(也称“中断”):来源cpu外部

  1. 例:时钟中断

  2. I/O中断——由输入输出设备发来的信号

1.3.3 系统调用

系统调用就是操作系统为应用程序和程序员提供的调用系统的接口

用到系统调用的地方:

例如设备管理、文件管理等等(资源共享之类的操作)

过程:

传参→陷入指令→系统内核进行调用→return

1.4操作系统的体系结构:

大内核→1.3.1

微内核→1.3.1

分层结构:

一层接一层,每一层只能调用自己的下一层,从第一层开始,接触硬件

  • 优点:容易debug。-
  • 缺点:
    1.难以很清晰的划分界限,
    2.效率低

模块化

  • 将内核分为各个模块

  • 内核=主模块(核心功能)+可加载模块

  • 优点:各个模块可以相互调用

  • 缺点:难debug,因为可以互相调用

外核

内核只负责和硬件资源分配无关的工作。这些工作交给外核

外核可以给用户进程分配未经抽象的硬件资源(如果用户进程他有要求一片连续的内存空间,他就可以分配。实在物理上实实在在存在的。)

  • 优点:

    可以直接分配"不虚拟,不抽象"的硬件资源。

    减少了操作系统在分配内存时进行的虚拟映射。提升效率

  • 缺点

    降低了一致性,是系统更加复杂(有的内存是虚拟映射的,有的是实实在在的)

    1.5虚拟机

    虚拟机管理程序:

  • 第一类直接运行在硬件上(学校机房的电脑)

    • 性能更好

    • 资源分配方式不抽象,直接控制分配物理资源

    • 可迁移性差

    • 相同硬件可以资源可以支持更多虚拟机

    • 运行权限高

20230714135437

暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇