操作系统层

操作系统层负责将硬件和软件结合起来,负责计算机资源的分配

  • 操作系统(operating system,OS):管理计算机资源并为系统交互提供界面的系统软件![[Pasted image 20240809203501.png]]
    • 软件分类
      • 应用软件(application software): 帮助我们解决现实世界问题的程序
      • 系统软件(system software): 管理计算机系统并与硬件进行交互的程序
    • 多道程序设计(multiprogramming): 同时在主存中驻留多个程序,由它们竞争CPU的技术
    • [[操作系统发展史]]
      • [[批处理]]
      • [[分时]]
        • 虚拟机(virtual machine)
    • [[内存管理(memory management)]]–[[计算机科学概论原书第5版.pdf#page=235|计算机科学概论10.2内存管理]]
      • 主存:所有程序在执行时都存储在主存中.这些程序的数据也都存储在主存中,以便程序能够访问它们
        • 逻辑地址(logical address):对一个存储值的引用,是相对于引用它的程序的
        • 物理地址(physical address): 主存设备中的真实地址
        • 地址联编(address binding):逻辑地址和物理地址间的映射
      • 单块内存管理(single contiguous memory management): 把应用程序载入一段连续的内存区域的内存管理方法![[Pasted image 20240809224200.png]]
      • 分区内存管理![[Pasted image 20240809224601.png]]
        • 固定分区法(fixed-partition technique): 把内存分成特定数目的分区以载入程序的内存管理方法
          • 适合最先匹配和最佳匹配
        • 动态分区法(dynamic-partition technique): 根据容纳程序的需要对内存分区的内存管理方法
          • 适合最差匹配
        • 基址寄存器(base register): 存放当前分区的起始地址的寄存器
        • 界限寄存器(bounds register): 存放当前分区的长度的寄存器
        • 分区选择法
          • 最先匹配:把第一个足够容纳程序的分区分配给程序
          • 最佳匹配:把最小的能够容纳程序的分区分配给它
          • 最差匹配:把最大的能够容纳程序的分区分配给它
          • ![[Pasted image 20240809225318.png]]
      • ✨分页内存管理(paged memory technique): 主存被分成小的大小固定的存储块(帧),进程被划分成页–[[计算机科学概论原书第5版.pdf#page=238|计算机科学概论10.2.3页式内存管理]]![[Pasted image 20240809231833.png]]
        • 帧(frame): 大小固定的小部分主存,用于存放进程页
        • 页(page): 大小固定的一部分进程,存储在内存帧中
        • ✨页映射表(Page Map Table, PMT): 操作系统用于记录页和帧直接的关系的表 –[[计算机科学概论原书第5版.pdf#page=239|计算机科学概论【页映射表】]]
        • 请求分页(demand paging): 页式内存管理法的拓展,只有当页面被引用(请求)时才会被载入内存
          • 页面交换(page swap): 把一个页面从二级存储设备载入内存,通常会使另一个页面从内存中删除
          • 虚拟内存(virtual memory); 由于整个程序不必同时处于内存而造成的程序大小没有限制的假象
          • 系统颠簸(thrashing): 频繁的页面交换照成的低效处理
    • 进程管理(process management): 管理每个进程使用CPU的时间
      • 进程状态(process state): 在操作系统的管理下,进程历经的概念性阶段![[Pasted image 20240809233933.png]]
        • 创建
        • 准备就绪:等待使用CPU
        • 运行:正在使用CPU
        • 等待:等待资源(处理CPU以外的资源)
        • 终止:进程硬件完成它的执行
      • [[进程控制块(process control block, PCB)]]: 操作系统管理进程信息使用的数据结构
        • 上下文切换(context switch): 当一个进程移出CPU,另一个进程取代它时发生的寄存器信息交换
    • CPU调度:确定哪个处于准备状态的进程移入运行状态
      • [[CPU调度算法]]
        • 非抢先调度(nonpreemptive scheduling): 当当前执行的进程自愿放弃了CPU时发生的CPU调度
          • 先到先服务(FCFS)
          • 最短作业优先(SJN)
        • 抢先调度(preemptive scheduling): 当操作系统决定照顾另一个进程而抢占当前执行进程的CPU资源时发生的CPU调度
          • 轮询法(RR)
            • 时间片(time slice): 在CPU轮询算法中分配给每个进程的时间量
        • 周转周期(turnaround time): 从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准
  • 文件系统和目录
    • 文件系统(file system): 操作系统为它管理的文件提供的逻辑视图
      • 文件(file):数据的有名集合,用于组织二级存储设备
        • 文本文件(text file): 包含字符(ASCII或Unicode字符集里的字符)的文件,使用文本编辑器便可以创建,查看和修改文本文件的内容
          • 源文件: 高级语言编写的程序会被存储位文本文件
        • 二进制文件(binary file): 包含特定格式的数据的文件,要求给位串一个特定的解释,得使用特定的解释器来阅读或修改二进制文件
      • 文件类型(file type):文件中存放的关于类型的信息
      • 文件拓展名(file extension):文件名中说明文件类型的部分(只是说明,改变文件拓展名不会改变文件中的数据或它的内部格式)
      • ![[Pasted image 20240810011448.png]]
      • [[计算机科学概论原书第5版.pdf#page=251|操作系统为不同文件类型根据文件拓展名匹配相应的解释器]]![[Pasted image 20240810011908.png]]
      • 文件操作
        • 具体的可执行操作
          • 创建文件
          • 删除文件
          • 打开文件
          • 关闭文件
          • 从文件中读取数据
          • 把数据写入文件
          • 重定位文件中的当前文件指针
          • 把数据附加到文件结尾
          • 删减文件(删除它的内容)
          • 重命名文件
          • 复制文件
        • 操作系统维护两个表
          • 一个表说明哪些内存块是空的(也就是说可以用的)
          • 为每个目录维护一个表,以记录该目录下的文件的信息
        • 文件指针
          • 读指针(地址)
          • 写指针(地址)
        • [[文件访问(file access)]]![[Pasted image 20240810014048.png]]
          • 顺序文件访问(sequential file access): 以线性方式访问文件中的数据的方式
          • 直接文件访问(direct file access): 通过指定逻辑记录编号直接访问文件中的数据方法
        • [[文件保护]]
  • 目录(directory): 文件的有名集合、![[Pasted image 20240810015125.png]]
    • 目录树(directory tree): 展示文件系统的嵌套目录组织的结构
    • 根目录(root directory): 包含其他所有目录的最高层目录
    • 工作目录(working directory): 当前活动的子目录
  • 路径名
    • 路径(path): 文件或子目录在文件系统中的位置的文本名字
    • 绝对路径(absolute path): 从根目录开始,包括后面所有后继子目录的路径
    • 相对路径(relative path): 从当前工作目录开始的路径
  • 磁盘调度(disk scheduling): 决定先满足哪个磁盘I/O请求的操作
    • 先到先服务磁盘调度法
    • 最短寻道时间优先磁盘调度法
    • SCAN磁盘调度法