操作系统
TimChen666
持续学习的渣渣
展开
-
操作系统基础——01 概述
定义: 1. 操作系统是一个控制程序 一个系统软件 控制程序执行过程,防止错误和计算机的不当使用 执行用户程序,给用户程序提供各种服务 方便用户使用计算机系统 2. 操作系统是一个资源管理器 应用程序与硬件之间的中间层 管理各种计算机软硬件资源 提供访问计算机软件硬件资源的高效手段 解决资源访问冲突,确保资源公平使用 地位 组成 Kernael(内核)组成 C...转载 2019-04-24 15:34:58 · 145 阅读 · 0 评论 -
操作系统基础——02 启动、中断、异常、系统调用
启动 BIOS将Bootloader从硬盘的引导扇区加载到内存中去, 然后Bootloader会将OS和数据从硬盘加载到内存中,跳转到OS的起始地址,此后CPU被OS接管。 中断、异常、系统调用 中断 硬件 设置中断标记【CPU初始化】 将内部、外部事件设置中断标记 中断事件的ID 软件(操作系统) 保存当前处理状态 中断服务程序处理 清除中断标记 恢复之前保存的处...转载 2019-04-24 16:08:31 · 109 阅读 · 0 评论 -
操作系统基础——03 内存
内存分层体系 操作系统内存管理 内存分为2类,一个是物理内存,一个是逻辑内存。 一般一个程序的逻辑内存是连续的,物理内存是非连续的。 逻辑内存可以比物理内存大。 常用的内存管理方式: 重定位 分段 分页 虚拟内存 ...转载 2019-04-24 16:33:51 · 116 阅读 · 0 评论 -
操作系统基础——04 连续内存分配与碎片整理
概述 分区的动态分配 什么时候需要提供连续空间的分配? 当一个程序准许运行在内存中时,需要分配给程序一个连续区间; 当运行的程序需要访问数据时,需要给数据分配一个连续区间。 动态分区的分配策略 最先分配(First-fit) 最优分配(Best-fit) 最差分配(Worst-fit) 最先分配 为了分配N字节,使用第一个比N字节大的空闲块。 譬如现在我们需要分配400...转载 2019-04-24 16:58:16 · 444 阅读 · 0 评论 -
操作系统基础——05 非连续内存分配
背景 段式存储管理 程序的分段地址空间 分段寻址方案 分段可以实现更好的分离和共享数据。 物理地址和逻辑地址的关系如下图: 可以看出来,逻辑地址是连续的,但物理地址是非连续的。 再来看一下,一些相关的概念。 寻址过程如下图所示: 页式存储管理 分页地址空间 页寻址方案 分页也类似于分段,有页号和页的偏移量。 它们主要的区别是,分段里的偏移量是可变的,而分页...转载 2019-04-24 17:51:47 · 144 阅读 · 0 评论 -
操作系统基础——06 虚拟内存
产生原因 程序规模的增长速度远远大于存储器容量的增长速度。 理想中的存储器: 更大、更快、更便宜的非易失性存储器。 实际中的存储器: 地址空间: 如果内存不够用怎么办? ...转载 2019-04-29 14:27:01 · 93 阅读 · 0 评论 -
操作系统基础——07 进程
概念 组成 特点 进程和程序 联系 区别 进程控制块 使用 组成 组织方式 生命周期 进程创建 进程运行 进程等待 进程抢占 进程唤醒 进程结束 状态变化模型 挂起进程模型 ...转载 2019-04-29 15:04:02 · 105 阅读 · 0 评论 -
操作系统基础——08 线程
背景 概念 线程是进程的一部分,描述指令流执行状态。 它是进程中的指令执行流的最小单元,是CPU调度的基本单位。 单线程&多线程 线程&进程 ...转载 2019-04-29 15:30:28 · 120 阅读 · 0 评论 -
操作系统基础——09 同步互斥
背景 独立进程&并发进程 进程并发执行的好处 进程并发执行出现异常的例子 再来看看程序实际运行的情况 由于在程序运行的时候进行了上下文切换,进程一保存的Reg1是100,所以最后进程一next_pid是101。 进程二也是一样,获取到的next_pid也是101。 原子操作 为了解决上面可能出现的异常问题,我们需要原子操作。 临界区 进程中访问临界资源的一段需要互斥执...转载 2019-04-29 17:55:19 · 137 阅读 · 0 评论