【计算机科学概论】操作系统层
操作系统层
操作系统层负责将硬件和软件结合起来,负责计算机资源的分配
- 操作系统(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]]
- 固定分区法(fixed-partition technique): 把内存分成特定数目的分区以载入程序的内存管理方法
- ✨分页内存管理(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,另一个进程取代它时发生的寄存器信息交换
- 进程状态(process state): 在操作系统的管理下,进程历经的概念性阶段![[Pasted image 20240809233933.png]]
- CPU调度:确定哪个处于准备状态的进程移入运行状态
- [[CPU调度算法]]
- 非抢先调度(nonpreemptive scheduling): 当当前执行的进程自愿放弃了CPU时发生的CPU调度
- 先到先服务(FCFS)
- 最短作业优先(SJN)
- 抢先调度(preemptive scheduling): 当操作系统决定照顾另一个进程而抢占当前执行进程的CPU资源时发生的CPU调度
- 轮询法(RR)
- 时间片(time slice): 在CPU轮询算法中分配给每个进程的时间量
- 轮询法(RR)
- 周转周期(turnaround time): 从进程进入准备就绪状态到它最终完成之间的时间间隔,是评估CPU调度算法的标准
- 非抢先调度(nonpreemptive scheduling): 当当前执行的进程自愿放弃了CPU时发生的CPU调度
- [[CPU调度算法]]
- 软件分类
- 文件系统和目录
- 文件系统(file system): 操作系统为它管理的文件提供的逻辑视图
- 文件(file):数据的有名集合,用于组织二级存储设备
- 文本文件(text file): 包含字符(ASCII或Unicode字符集里的字符)的文件,使用文本编辑器便可以创建,查看和修改文本文件的内容
- 源文件: 高级语言编写的程序会被存储位文本文件
- 二进制文件(binary file): 包含特定格式的数据的文件,要求给位串一个特定的解释,得使用特定的解释器来阅读或修改二进制文件
- 文本文件(text file): 包含字符(ASCII或Unicode字符集里的字符)的文件,使用文本编辑器便可以创建,查看和修改文本文件的内容
- 文件类型(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): 通过指定逻辑记录编号直接访问文件中的数据方法
- [[文件保护]]
- 具体的可执行操作
- 文件(file):数据的有名集合,用于组织二级存储设备
- 文件系统(file system): 操作系统为它管理的文件提供的逻辑视图
- 目录(directory): 文件的有名集合、![[Pasted image 20240810015125.png]]
- 目录树(directory tree): 展示文件系统的嵌套目录组织的结构
- 根目录(root directory): 包含其他所有目录的最高层目录
- 工作目录(working directory): 当前活动的子目录
- 路径名
- 路径(path): 文件或子目录在文件系统中的位置的文本名字
- 绝对路径(absolute path): 从根目录开始,包括后面所有后继子目录的路径
- 相对路径(relative path): 从当前工作目录开始的路径
- 磁盘调度(disk scheduling): 决定先满足哪个磁盘I/O请求的操作
- 先到先服务磁盘调度法
- 最短寻道时间优先磁盘调度法
- SCAN磁盘调度法
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 焦糖酒的妙妙屋!