太懒了,来学习一下计算机操作系统吧!学习视频来源于: 王道考研计算机操作系统

# 计算机操作系统概述

# 概念

  1. 用户
  2. 应用程序
  3. 操作系统
  4. 纯硬件

Operating System 就是指控制与管理整个计算机系统的硬件和软件资源,并合理组织调度计算机工作和资源的分配;供用户和其他软件方便的接口和环境。

# 功能与目标

  • 提供的功能

    1. 处理及管理
    2. 存储器管理
    3. 文件管理
    4. 设备管理
  • 目标

    1. 安全
    2. 高效率
  • 提供给的服务

    1. GUI
    2. 联机命令接口(交互式命令接口)
      • 相当于用户说一句,系统就执行一次
    3. 脱机命令接口(批处理命令接口)
      • 相当于用户说一堆,系统就执行 N 次
    4. 程序接口
      • 普通用户不能直接使用,需要通过代码间接使用

总结:
总结

# 特征

# 并发

# 概念

两个或多个事件在同一个时间间隔内发生,宏观上是同时的,但微观行是交替发生的。
说白就是看着是,其实不是

与之相比的并行是两个概念。

例如:我和一号女朋友约会,然后再和二号女朋友约会,这就是并发,而我同时和一号二号约会这才叫并行

再比如:计算机中同时运行多个程序,这些程序从宏观上来看是一起运行的,但是微观来说是交替运行的。

  • 单核 cpu 只能同一时刻执行一个程序,多个程序只能并发执行
  • 多核 cpu 是同时执行多个程序,但是超过那么必定会采用并发处理

例如:我电脑 4 核,运行着 world、qq、微信、chrome,如果此时又第五个程序想运行,比如打开网易云想听歌,这时将会停掉一个程序用于处理网易云。但是你 chrome 也想用,这是将会使用并发执行这五个程序

# 共享

# 概念

指的是系统中的资源可以供内存中多个并发执行的进程共同使用,而且与共享性有关,共享性可供资源为内存中多个并发执行的进程共同使用。
如果系统没有并发性,则共享性就失去了意义。
反过来,如果没有了共享性,那么并发就不可能实现。

所以也可以说并发性和共享性是互为存在条件。也是操作系统的最基本的特征。

并且存在两种共享方式。

  1. 互斥共享

    • 可以给多个进程使用,但是一个时间段只允许一个进程访问该资源。
  2. 同时共享

    • 允许一个时间段内多个进程 “同时” 对他们进行访问
    • 这里的同时只是在宏观上,看着就是但其实不是微观上这些进程可能是交替对该资源进行访问,即为:分时共享

可以举个例子:

  1. 互斥共享:当你使用微信和 qq 同时打视频时,同一个时间内只能分配其中一个用,另一个就会发现摄像头正在使用。

  2. 同时共享:比如我微信给你发了一个文件,QQ 也发了同样的文件,看着就是同时读取着我的硬盘文件发送,但是从读数据来说,这两货是交替访问硬盘来发送文件的。也就是说他们也是并发性的。

# 注意

并不是所有都是微观不是,宏观是。其实也有两都是的情况的。
比如:你打着游戏又听着歌,耳机中同时播放着游戏的声音,也在播放着音乐,这就是同时发生的,所以并不绝对。

# 虚拟

# 概念

就是把一个物理上的实体变成若干个逻辑上的对应物,实体是实际存在,逻辑上是用户感受 TA 存在的。

例如:我电脑只有 4GB 内存,现在我要玩 GTA,它说要 4GB 运行内存才可以,现在我也要上 qq 吹牛逼,而 qq 又要 300MB 内存,还不行我还要上迅雷下片,迅雷也要 300MB,那么我内存只有 4GB,这是就要用到虚拟技术的中的空分复用技术

# 复用技术

不仅有空分复用技术还有时分复用技术

  • 时分复用共享

    1. 多个程序或用户想使用同一个资源时采用的策略,每个程序或用户需要按照一定的顺序来依次使用
    2. 例:CPU 的时间片,多个程序在 CPU 中以一段时间间隔内进行的轮转,每个程序依次执行一段时间,宏观上时同时执行,其实内部就是每时处理一个程序。
    3. 例:打印机在打印多个任务时,会缓存起来,然后依次打印。
  • 空分复用共享

    1. 多个程序或用户同时的使用一个资源的不同部分
    2. 例:为了让 CPU 视线多程序并发,将多个程序放入内存中,这些程序拥有不同的内存块,互不影响。
    3. 例:磁盘同时保存多个不同的文件。

除了上述这些还包括了:频分 / 时分 / 波分 / 码分多路复用

# 异步

# 概念

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

例如:

我拿着一百块和两个女孩约会

  1. 第一个女孩安排:
    • 安排 A: 陪我吃饭
    • 安排 B:把一百块钱给我
  2. 第二条女孩安排:
    • 安排 A:陪我吃饭
    • 安排 B:把一百块钱给我

当和第一、第二个女孩约会时 = 两道并发程序

这一百块钱就是有限的系统资源。

当一号女孩问我要走了 100 块时,二号又同时问我要一百块,而我没有,则需要暂时堵塞二号这条指令,等待一号女孩把一百块还给我,我才可以执行继续给二号 100 块。

由此可见:

这些程序都是争抢着使用有限的资源,因此进程执行时并不是一贯的,而是走走停停,以不可预知的速度向前推进。如果失去了并发性,那么每个程序就会一贯到底的执行到底,所以系统只能串行的允许各个程序,只有系统拥有并发性,才会可能导致异步性。

# 操作系统的发展与分类

# 单道批处理

缺点:内存仅有一道程序运行,只有结束才可以进行下一道程序,cpu 利用率很低,存在大量的空闲等待 I/O 完成。

# 多道批处理系统

优点:多道程序并发执行,共享计算机资源,利用率大幅提升

缺点:用户响应长没有人机交互功能。(用户提交作业后,只能等待计算机处理完成,中间不能控制自己的作业执行;无法调试或无法在程序运行过程输入一些参数。)

因此也引入了一些其他的复用技术:

# 典型多路复用方法

# 频分多路复用(frequency division multiplexing-FDM)

工作原理

  1. 频率划分:首先,传输介质的可用频谱被划分为若干个不重叠的频带(子信道)。每个频带都有一定的带宽,用于传输一个独立的信号。
  2. 信号调制:每个信号通过调制技术(如调幅、调频或调相)被转换到相应的频带上。调制后的信号在频域上占据特定的频带,而在时域上则与其他信号同时存在。
  3. 信号传输:所有调制后的信号被叠加在一起,通过同一传输介质(如电缆、光纤或无线电波)进行传输。
  4. 信号解调:在接收端,通过滤波器将不同频带的信号分离出来,然后通过解调技术恢复原始信号。

优点

  • 高效利用频谱:FDM 允许在同一介质上同时传输多个信号,提高了频谱的利用率。
  • 灵活性:可以根据需要分配不同的带宽给不同的信号,适应不同的传输需求。

应用

  • 广播电视:不同频道的电视信号通过不同的频率传输。
  • 无线通信:如 AM/FM 广播、移动通信系统中的频分复用。
  • 有线通信:如电话系统中的载波系统,多个电话信号通过不同的频率传输。

缺点

  • 频谱效率:由于需要为每个信号分配一定的保护带宽,以防止相邻频带之间的干扰,因此频谱效率可能不如时分多路复用(TDM)高。
  • 设备复杂性:需要复杂的调制和解调设备,以及精确的滤波器来分离不同频带的信号。

总结

频分多路复用是一种通过将不同信号分配到不同频率带宽上来实现多路信号同时传输的技术。它在广播、电视、无线通信和有线通信等领域有着广泛的应用,尽管存在一些缺点,但其高效利用频谱的特性使其成为一种重要的通信技术。

# 时分多路复用(time division multiplexing-TDM)
  • 工作原理
    • 时间片划分:计算机的处理时间被划分为若干个等长的时间片。每个时间片用于处理一个用户的作业。

    • 轮流服务:计算机按照预定的顺序轮流为每个用户提供服务,每个用户在其时间片内获得计算机的全部处理能力。

    • 用户交互:用户可以通过终端与计算机进行交互,提交任务、查询状态等。

  • 优点
    • 及时响应:用户请求可以被及时响应,解决了人机交互问题。
    • 多用户支持:允许多个用户同时使用一台计算机,用户对计算机的操作相互独立,感受不到其他用户的存在。
    • 资源共享:提高了计算机的利用率,多个用户共享计算资源。
  • 缺点
    • 优先级问题:不能优先处理一些紧急任务。所有用户的作业按照时间片轮流处理,无法为紧急任务提供优先服务。
    • 时延:由于每个用户只能在特定的时间片内获得服务,可能会引入一定的时延。

总结

时分多路复用(TDM)在计算机系统中的应用,通过将处理时间划分为多个时间片,轮流为各个用户作业服务,解决了人机交互问题,允许多个用户同时使用一台计算机,并提高了资源利用率。然而,它不能优先处理紧急任务,且可能会引入一定的时延。

# 波分多路复用(wavelength division multiplexing-WDM)

工作原理

  1. 波长划分:首先,光纤的可用波长范围被划分为若干个不重叠的波长(或频率)带宽。每个波长带宽用于传输一个独立的光信号。
  2. 信号调制:每个光信号通过调制技术(如强度调制、相位调制等)被转换到相应的波长上。调制后的光信号在光域上占据特定的波长,而在时域上则与其他光信号同时存在。
  3. 信号传输:所有调制后的光信号被叠加在一起,通过同一光纤进行传输。
  4. 信号解调:在接收端,通过波长分光器(如光栅、滤波器等)将不同波长的光信号分离出来,然后通过解调技术恢复原始信号。

类型

  • 密集波分多路复用(Dense Wavelength Division Multiplexing,DWDM):在较窄的波长范围内传输多个光信号,波长间隔较小,通常在 0.8 纳米或更小。适用于高容量、长距离的光纤通信系统。
  • 粗波分多路复用(Coarse Wavelength Division Multiplexing,CWDM):在较宽的波长范围内传输多个光信号,波长间隔较大,通常在 20 纳米或更大。适用于低成本、短距离的光纤通信系统。

优点

  • 高效利用光纤带宽:WDM 允许在同一光纤上同时传输多个光信号,提高了光纤带宽的利用率。
  • 高容量传输:通过增加波长数量,可以显著提高光纤的传输容量,适用于高带宽需求的应用。
  • 灵活性:可以根据需要分配不同的波长给不同的信号,适应不同的传输需求。

应用

  • 长途光纤通信:如跨洋光纤通信、洲际光纤通信等。
  • 城域网(MAN):用于城市范围内的光纤通信网络。
  • 数据中心互连:用于连接数据中心内部或数据中心之间的光纤通信。

缺点

  • 设备成本:需要复杂的波长分光器和解调设备,设备成本较高。
  • 波长管理:需要精确的波长管理和控制,以防止相邻波长之间的干扰。

总结

波分多路复用是一种通过将不同光信号分配到不同波长上来实现多路光信号同时传输的技术。它在长途光纤通信、城域网和数据中心互连等领域有着广泛的应用,尽管存在设备成本和波长管理等缺点,但其高效利用光纤带宽的特性使其成为一种重要的光纤通信技术。

# 码分多路复用(code division multiplexing-CDM)

工作原理

  1. 码序列分配:每个用户被分配一个唯一的码序列(扩频码),通常是一个伪随机序列。这个码序列用于对用户的信号进行扩频处理。
  2. 信号扩频:用户的原始信号通过与其对应的码序列相乘(或异或)进行扩频处理。扩频后的信号在频域上占据更宽的带宽,但在时域上保持不变。
  3. 信号传输:所有用户的扩频信号被叠加在一起,通过同一频带进行传输。由于每个用户的码序列是唯一的,接收端可以通过相应的码序列将不同用户的信号分离出来。
  4. 信号解扩:在接收端,通过与发送端相同的码序列对叠加后的信号进行解扩处理,恢复原始信号。

优点

  • 频谱效率:CDM 允许在同一频带和同一时间内传输多个信号,提高了频谱的利用率。
  • 抗干扰能力强:由于信号被扩频处理,CDM 具有较强的抗干扰能力,能够抵抗多径衰落和窄带干扰。
  • 安全性:由于信号被扩频处理,CDM 具有较高的安全性,不易被窃听。

应用

  • 移动通信:如 3G(第三代移动通信)系统中的 CDMA2000 和 WCDMA。
  • 卫星通信:用于卫星通信系统中的多用户接入。
  • 无线局域网(WLAN):如 Wi-Fi 中的某些扩频技术。

缺点

  • 复杂性:需要复杂的扩频和解扩处理,增加了系统的复杂性。
  • 同步要求:发送端和接收端需要严格的同步,以确保码序列的正确匹配。

总结

码分多路复用(CDM)是一种通过为每个用户分配唯一的码序列来实现多用户在同一频带和同一时间内传输信号的技术。它在移动通信、卫星通信和无线局域网等领域有着广泛的应用,尽管存在复杂性和同步要求等缺点,但其频谱效率、抗干扰能力和安全性使其成为一种重要的通信技术。

# 实时操作系统

特点:

  1. 硬实时性,在规定时间内完成,避免系统故障或其他后果
  2. 优先级调度,确保高优先级优先执行。
  3. 确定性,执行时间与响应时间是可预测的
  4. 低延迟、快速响应中断和任务切换。

应用:

  1. 工业控制,如机器人、自动化生产线
  2. 航空航天,如飞行控制系统,卫星控制系统
  3. 医疗设备,如起搏器、手术机器人
# 实时操作系统

特点:

  1. 软实时性,仅希望在规定时间内完成存在一定延迟,及时未完成也不会导致系统故障。
  2. 优先级调度,与硬实时不同,它允许低优先级在某些情况运行
  3. 非确定性,执行时间和响应时间不可预测
  4. 较高延迟,操作系统的响应时间和任务切换速度可能较低。

应用:

  1. 多媒体系统,如视频流处理,音频播放等
  2. 网络通信,如 VoIP、视频会议
  3. 嵌入式系统,如智能家居,消费电子产品。

# 操作系统的运行机制

# 简单运行原理

  1. 高级程序语言编写代码,编译成二进制机器指令
  2. 机器执行二进制机器指令

# 两类程序

  1. 内核程序

    • 操作系统的核心部分

    • 负责管理系统资源,提供基本服务和控制硬件设备

    • 直接与硬件进行交互,并为上层应用程序提供服务。

    • 由很多内核程序组成了内核(Kernel)

  2. 应用程序

    • 运行在操作系统之上的软件

    • 为用户提供特定功能与服务

    • 依赖于操作系统的接口和资源来完成任务

    • 而我们在使用或编写的程序就叫应用程序

# 两类指令

  1. 特权指令
    • 只能在操作系统内核模式上执行的命令
    • 通常涉及系统资源的直接控制和管理,如内存管理、设备控制,进程调度。
    • 如果在用户模式下执行通常会导致系统异常与错误
  2. 非特权指令
    • 在用户模式下执行的命令
    • 通常用于执行应用程序的常规操作,如算术运算、数据传输、逻辑操作
    • 非特权指令不涉及系统资源的直接控制和管理,因此需要用户在安全模式下执行。

# 两种处理器状态

  1. 内核态
    • 当处于内核态时,就只能运行特权指令
  2. 用户态
    • 当处于用户态时,就只能运行特权指令
  3. 区分
    • 受程序状态字存寄器(PSW)控制,里面有个二进制位,1 表示内核态,0 则表示用户态
    • 当然这种二进制位时不固定的。

# 内核态和用户态的切换

  1. 系统调用切换
    • 用户态:程序执行系统调用指令(如:Syscall 或 Int),出发中断 / 异常
    • 中断 / 异常:处理器捕捉到,保存处理器状态字(PSW)中的模式标志位
    • 模式切换:处理器将从用户态切换成内核态,并更新处理器状态字(PSW)中的模式标志位
    • 内核态:操作系统处理系统调用请求,执行特权操作
    • 返回用户态:内核态处理完成后,恢复用户态的上下文,更新 PSW 中的模式标志位,使得处理器返回用户态,继续执行用户程序。
  2. 中断切换
    • 中断触发:一般是外部触发,也有内部触发,可分为内中断和外中断
    • 中断处理:处理器捕捉到,更新 PSW
    • 模式切换:完成切换,并更新 PSW
    • 内核态:干活
    • 返回用户态:恢复用户态上下文,更新 PSW,继续执行用户程序
  3. 异常切换
    • 异常触发:一般是程序执行过程发生异常
    • 异常处理:处理器捕捉,保存用户态上下文
    • 模式切换:内核态启动,更新 PSW
    • 内核态:干活
    • 返回用户态:扔给用户态干活
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

𝙍𝙥𝙒𝙣 微信支付

微信支付

𝙍𝙥𝙒𝙣 支付宝

支付宝

𝙍𝙥𝙒𝙣 贝宝

贝宝