XJTLU 24-25 CPT104-Operating Systems Concepts Week1 笔记

        目录


操作系统简介

  • 目的:用户与硬件之间的接口——一个“环境架构”
  • 功能
    • 允许方便使用:隐藏繁琐内容;
    • 允许高效使用:并行活动,避免浪费周期;
    • 提供信息保护;
    • 为每位用户提供资源的一部分;
    • 充当控制程序。
  • 特点
    • 时间共享 - 允许多个用户同时与单个计算机系统交互:
      • 时间共享操作系统通过将 CPU 时间划分为短时间片,轮流分配给多个用户程序,使每个用户感觉自己独占计算机资源,尽管实际上是快速切换实现的并发使用。
    • 多进程 - 通过共享内存进行通信的紧密耦合系统。通过组合多个现成处理器来提高速度。
    • 分布式系统 - 通过消息传递进行通信的松散耦合系统。
      • 一般是由多台独立的计算机通过网络连接组成的系统。这些计算机协同工作,共同完成一个或多个任务。优点包括资源共享、加速、可靠性、通信。
    • 实时系统 - 快速响应时间是主要特性。用于需要快速响应刺激的控制应用中。
  • 最常执行的操作
    • 进程管理
      • 启动和停止程序;
      • 为它们分配系统资源(内存等) / 使它们共享系统资源(文件、DLL等)。
    • 内存管理
    • 文件系统管理
    • I/O 系统管理
    • 保护和安全。

进程简介

  • 定义:进程 = 正在执行中的程序;
  • 与我们的联系:一个进程对应一个用户作业或应用程序(实际上,一个 APP 可由多个进程协作组成
  • 进程与程序的区别
    • 一个进程被视为一个“活跃”实体,
    • 一个程序被视为一个“被动”实体(存储在磁盘上,比如可执行文件);
    • 程序被加载到内存中时成为进程。
  • 内存中的进程
  • 进程的状态
    • 随着进程的执行,它会改变状态。进程的状态部分由该进程当前的活动定义。
    • 状态一览
      • 新:正在创建此过程
      • 运行:指令正在执行
      • 等待:进程正在等待某个事件发生
      • 准备:进程正在等待分配给 CPU
      • 终止 terminated:进程已执行完毕
    • 进程状态的流程图

进程控制块 Process Control Block (PCB)

  • 定义:进程控制块是用于存储有关进程的信息的数据结构。
  • 别名:上下文。
  • 特点:每个进程都有其自己的 PCB。
  • 位置
    • 每个进程的 PCB 驻留在主内存中。
    • 所有进程的 PCB 都在一个链表中。
  • 重要性:在多程序环境中很重要,因为它捕获了与同时运行的进程数量相关的信息。
  • 内容
    • process number 即 PID (Process identifier Unique number)

进程调度

  • (进程)执行流程:进程执行由 CPU 执行和 I/O 等待交替组成。
  • (进程)调度流程:从内存中选择准备执行的进程,并将 CPU 分配给其中一个。
  • 进程调度队列
    • 作业队列 Job queue - 系统中所有进程的集合
    • 就绪队列 - 所有准备好并等待执行的进程的集合
    • 设备队列 - 等待 I/O 设备的进程的集合
  • 调度程序
    • 长期调度程序 / 作业调度程序 Long-Term Scheduler / Job Scheduler:
      • 负责控制处于就绪状态的进程的数量;
    • 短期调度程序 / CPU 调度程序 Short-Term Scheduler:
      • 负责从就绪进程中选择一个进程并将其调度到运行状态;
    • 中期调度程序 Medium-term scheduler:
      • 负责进程在主存和辅存之间的交换。
  • 调度级别
  • 排队图
    • 功能:排队图表示队列、资源、流。
    • 调度的排队图
  • 上下文(PCB)切换
    • 流程:当 CPU 切换到另一个进程时,系统必须:
      • 保存旧进程的状态;
      • 通过上下文(PCB)切换加载新进程的保存状态。
    • 图例

进程操作

  1. 进程创建
    1. 流程:父进程创建子进程,子进程又创建其他进程,形成一个进程树
    2. 资源共享选项
      1. 父进程和子进程共享所有资源
      2. 子进程们共享父进程资源的子集
      3. 父进程和子进程不共享任何资源
    3. 执行选项
      1. 父进程和子进程并发执行
      2. 父进程等待,直到子进程们结束
  2. 进程终止
    1. 释放
      1. 会从所有队列中移除(包括 Job Queue)
    2. 流程
      1. 进程执行最后一条语句,然后使用 exit() 系统调用,请求操作系统删除它。
      2. 状态数据将会从子进程返回到父进程;
      3. 进程的资源由操作系统释放;
      4. 父进程可能等待“终止子进程”的执行。
    3. 线程
      1. 所有子线程都会终止。

进程间通信

  • 进程分类(按与其他进程的关系):
    • 独立进程 INDEPENDENT PROCESSES - 
      • 特点:既不影响其他进程,也不受其他进程的影响。
    • 协作进程 COOPERATING PROCESSES:
      • 特点:可以影响其他过程或受到其他过程的影响。
      • 意义
        • 信息共享 - 需要访问同一文件的进程;
        • 计算加速 - 如果问题可以分解为可以同时解决的子任务,则可以更快地解决该问题;
        • 模块化 - 将系统分解为协作模块。(例如,具有客户端-服务器架构的数据库。)
        • 便利性 - 甚至单个用户可能在多任务处理,例如在不同窗口中编辑、编译、打印和运行相同的代码。
  • 通信模型
    • (a) Message passing
      • 特点
        • 通信通过协作进程之间交换的消息进行;
        • 消息传递设施提供至少两种操作:送信和收信;
        • 消息大小是固定的或可变的
      • 消息的缓冲队列
        • 选项
          • 零容量。链接中不能有任何消息在等待;
          • 有限容量。队列的长度是有限的 n;
          • 无限容量。队列的长度可能是无限的。
      • 实现“链接、送信和收信”的方法:
        • 直接通信:
          • 特点:
            • 进程明确命名彼此:
            • 进程使用特定的进程标识符来命名;
            • 很难提前识别发送者。
        • 间接通信:
          • 流程:
            • 创建一个新的邮箱(端口)
            • 通过邮箱发送和接收消息:
            • 销毁邮箱
        • 同步通信(阻塞式):
          • 阻塞发送 -- 发送者进程在消息被接收之前被阻塞;
          • 阻塞接收 -- 接收方进程在消息可用之前被阻塞。
        • 异步通信(非阻塞式):
          • 非阻塞发送 -- 发送者发送消息并继续干自己的事。
    • (b) Shared memory
      • 特点:
        • 一块内存区域被协作进程共享;
        • 进程通过读取和写入数据到共享区域来交换信息。
      • 共享内存中缓冲区的类型:
        • 无界缓冲区:对缓冲区的大小没有实际限制;
        • 有界缓冲区:假设存在一个固定的缓冲区大小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值