操作系统原理
OveRrIde丶
从入门到删库跑路✔
展开
-
【操作系统原理】19-关于fork以及进程同步
一、fork◆ fork系统调用是用于创建进程的◆ fork创建的进程初始化状态与父进程一样◆ 系统会为fork的进程分配新的资源◆ fork系统调用无参数◆ fork会返回两次,分别返回子进程id和0◆ 返回子进程id的是父进程,返回0的是子进程二、进程同步之共享内存进程默认是不能访问进程空间之外的内存空间的◆ 在某种程度上,多进程是共同使用物理内存的◆ 由于操作系统的进程管...原创 2020-04-05 09:37:59 · 335 阅读 · 0 评论 -
【操作系统原理】18-线程同步之条件变量
一、条件变量◆ 条件变量是一种相对复杂的线程同步方法◆ 条件变量允许线程睡眠,直到满足某种条件◆ 当满足条件时,可以向该线程信号,通知唤醒场景条件◆ 缓冲区小于等于0时,不允许消费者消费,消费者必须等待◆ 缓冲区满时,不允许生产者往缓冲区生产,生产者必须等待当生产者生产一个产品时,唤醒可能等待的消费者当消费者消费一个产品时,唤醒可能等待的生产者...原创 2020-04-05 09:37:46 · 106 阅读 · 0 评论 -
【操作系统原理】17-线程同步之读写锁
一、读写锁◆ 读写锁是一种特殊的自旋锁◆ 允许多个读者同时访问资源以提高读性能◆ 对于写操作则是互斥的原创 2020-04-05 09:37:30 · 101 阅读 · 0 评论 -
【操作系统原理】16-线程同步之自旋锁
一、自旋锁死循环等待锁被释放◆ 自旋锁也是一种多线程同步的变量◆ 使用自旋锁的线程会反复检查锁变量是否可用◆ 自旋锁不会让出CPU,是一种忙等待状态二、自旋锁与互斥锁区别◆ 自旋锁避免了进程或线程上下文切换的开销◆ 操作系统内部很多地方使用的是自旋锁◆ 自旋锁不适合在单核CPU使用...原创 2020-04-04 16:51:25 · 151 阅读 · 0 评论 -
【操作系统原理】15-线程同步之互斥量
一、原子性◆ 原子性是指一系列操作不可被中断的特性◆ 这一系列操作要么全部执行完成,要么全部没有执行◆ 不存在部分执行部分未执行的情况二、互斥量(互斥锁)◆ 两个线程的指令交叉执行◆ 互斥量可以保证先后执行◆ 互斥量是最简单的线程同步的方法◆ 互斥量(互斥锁),处于两态之一的变量:解锁和加锁◆ 两个状态可以保证资源访问的串行...原创 2020-04-04 16:49:39 · 478 阅读 · 0 评论 -
【操作系统原理】14-操作系统的设备管理
一、广义的IO设备对CPU而言,凡是对CPU进行数据输入的都是输入设备对CPU而言,凡是CPU进行数据输出的都是输出设备◆ 按使用特性分类◆ 按信息交换的单位分类◆ 按设备的共享属性分类独占设备 共享设备 虚拟设备◆ 按传输速率分类低速设备 中速设备 高速设备二、IO设备的缓冲区CPU与IO设备的速率不匹配◆ 减少CPU处理IO请求的频率◆ 提高CPU与IO设备之间...原创 2020-04-04 15:42:00 · 227 阅读 · 0 评论 -
【操作系统原理】13-Linux的文件系统
一、文件系统概览FAT◆ FAT(File Allocation Table)◆ FAT16、FAT32等,微软Dos/Windows使用的文件系统◆ 使用一张表保存盘块的信息NTFS◆ NTFS (New Technology File System)◆ WindowsNT环境的文件系统◆ NTFS对FAT进行了改进,取代了旧的文件系统EXT2/3/4◆ EXT(Extend...原创 2020-04-04 15:37:50 · 100 阅读 · 0 评论 -
【操作系统原理】12-Linux文件基本操作
一、Linux目录Linux一切皆文件相对路径绝对路径二、 Linux文件常用操作◆ (目录/文件)创建、删除、读取、写入三、 Linux文件类型原创 2020-04-04 15:33:29 · 100 阅读 · 0 评论 -
【操作系统原理】11-操作系统的文件管理
一、文件的逻辑结构1.逻辑结构的文件类型有结构文件文本文件 文档 媒体文件◆ 文件内容由定长记录和可变长记录组成◆ 定长记录存储文件格式、文件描述等结构化数据项◆ 可变长记录存储文件具体内容无结构文件二进制文件 链接库◆ 也称为流式文件◆ 文件内容长度以字节为单位exe文件 dll文件 so文件2.顺序文件◆ 顺序文件是指按顺序存放在存储介质中的文件◆ 磁带的存储特性...原创 2020-04-04 15:31:27 · 461 阅读 · 0 评论 -
【操作系统原理】10-Linux的存储管理
一、Buddy内存管理算法努力让内存分配与相邻内存合并能快速进行◆ Buddy算法是经典的内存管理算法◆ 算法基于计算机处理二进制的优势具有极高的效率◆ 算法主要是为了解决内存外碎片的问题页内碎片内部碎片是已经被分配出去(能明确 指出属于哪个进程)的内存空间大于 请求所需的内存空间,不能被利用的 内存空间就是内部碎片。页外碎片外部碎片是指还没有分配出去(不属 于任何进程),但是由...原创 2020-04-04 13:32:17 · 178 阅读 · 0 评论 -
【操作系统原理】09-存储管理之虚拟内存
一、 虚拟内存概述◆ 有些进程实际需要的内存很大,超过物理内存的容量◆ 多道程序设计,使得每个进程可用物理内存更加稀缺◆ 不可能无限增加物理内存,物理内存总有不够的时候◆ 虚拟内存是操作系统内存管理的关键技术◆ 使得多道程序运行和大程序运行成为现实◆ 把程序使用内存划分,将部分暂时不使用的内存放置在辅存二、 程序的局部性原理局部性原理 是指CPU访问存储器时,无论是存取指令 还是...原创 2020-04-04 13:09:15 · 165 阅读 · 0 评论 -
【操作系统原理】08-存储管理之段页式存储管理
一、页式存储管理◆ 字块是相对物理设备的定义◆ 页面则是相对逻辑空间的定义◆ 将进程逻辑空间等分成若干大小的页面◆ 相应的把物理内存空间分成与页面大小的物理块◆ 以页面为单位把进程空间装进物理内存中分散的物理块◆ 页面大小应该适中,过大难以分配,过小内存碎片过多◆ 页面大小通常是512B~8K◆ 页表记录进程逻辑空间与物理空间的映射多级页表现代计算机系统中,可以支持非常大的...原创 2020-04-04 13:06:53 · 1780 阅读 · 0 评论 -
【操作系统原理】07-存储管理之内存分配与回收
早期计算机编程并不需要过多的存储管理随着计算机和程序越来越复杂,存储管理成为必要◆ 确保计算机有足够的内存处理数据◆ 确保程序可以从可用内存中获取一部分内存使用◆ 确保程序可以归还使用后的内存以供其他程序使用一、内存分配的过程单一连续分配◆ 单一连续分配是最简单的内存分配方式◆ 只能在单用户、单进程的操作系统中使用固定分区分配◆ 固定分区分配是支持多道程序的最简单存储分配方式...原创 2020-04-04 12:56:02 · 967 阅读 · 0 评论 -
【操作系统原理】06-作业管理之死锁
死锁死锁是指两个或两个以上的进程在执行过程 中,由于竞争资源或者由于彼此通信而造成 的一种阻塞的现象,若无外力作用,它们都 将无法推进下去。此时称系统处于死锁状态 或系统产生了死锁,这些永远在互相等待的 进程称为死锁进程。一、死锁的产生1.竞争资源◆ 共享资源数量不满足各个进程需求◆ 各个进程之间发生资源进程导致死锁◆ 等待请求的资源被释放◆ 自身占用资源不释放2.进程调度顺序不当...原创 2020-04-04 12:43:32 · 360 阅读 · 0 评论 -
【操作系统原理】05-作业管理之进程调度
一、进程调度概述多道程序设计进程调度是指计算机通过决策决定哪个就绪进程可以获得CPU使用权◆ 保留旧进程的运行信息,请出旧进程(收拾包袱)◆ 选择新进程,准备运行环境并分配CPU(新进驻)机制◆ 就绪队列的排队机制将就绪进程按照一定的方式排成队列,以便调度程序可以最快找到就绪进程◆ 选择运行进程的委派机制调度程序以一定的策略选择就绪进程,将CPU资源分配给它◆ 新老进程的上下文...原创 2020-04-04 12:37:40 · 415 阅读 · 0 评论 -
【操作系统原理】04-Linux的进程管理
一、 Linux进程的相关概念◆ 进程的类型前台进程后台进程守护进程◆ 进程的标记进程ID操作系统提供fork函数接口创建进程◆ 进程ID是进程的唯一标记,每个进程拥有不同的ID◆ 进程ID表现为一个非负整数,最大值由操作系统限定◆ 父子进程关系可以通过pstree命令查看ID为0的进程为idle进程,是系统创建的第一个进程ID为1的进程为init进程,是0号进程的子进...原创 2020-04-03 21:07:30 · 172 阅读 · 0 评论 -
【操作系统原理】03-进程管理之进程同步
一、为什么需要进程间同步?有一群生产者进程在生产产品,并将这些产品提供给消费者进程进行消费,生产者进程和消费者进程可以并发执行,在两者之间设置了一个具有n可缓冲区的缓冲池,生产者进程需要将所生产的产品放到一个缓冲区中,消费者进程可以从缓冲区取走产品消费。单两者并发执行时就可能出差错有五个哲学家,他们的生活方式是交替地进行思考和进餐,哲学家们共同使用一张圆桌,分别坐在周围的五张椅子上,...原创 2020-04-03 20:58:19 · 332 阅读 · 0 评论 -
【操作系统原理】02-进程管理之五状态模型
1、就绪状态◆ 当进程被分配到除CPU以外所有必要的资源后◆ 只要再获得CPU的使用权,就可以立即运行◆ 其他资源都准备好、只差CPU资源的状态为就绪状态◆ 在一个系统中多个处于就绪状态的进程通常排成一个队列2、执行状态◆ 进程获得CPU,其程序正在执行称为执行状态◆ 在单处理机中,在某个时刻只能有一个进程是处于执行状态3、阻塞状态◆ 进程因某种原因如:其他设备未就绪而无法继续执...原创 2020-04-03 18:12:39 · 345 阅读 · 0 评论 -
【操作系统原理】02-进程管理之进程实体
一、为什么需要进程◆ 没有配置OS之前,资源属于当前运行的程序◆ 配置OS之后,引入多道程序设计的概念◆ 合理的隔离资源、运行环境,提升资源利用率多道程序设计◆ 进程是系统进行资源分配和调度的基本单位◆ 进程作为程序独立运行的载体保障程序正常执行◆ 进程的存在使得操作系统资源的利用率大幅提升二、进程的实体1.主存中的进程形态标识符唯一标记一个进程,用于区别其他进程状态...原创 2020-04-03 17:56:41 · 301 阅读 · 0 评论 -
【操作系统原理】01-操作系统概览
一、What&Why◆ 操作系统是管理计算机硬件和软件资源的计算机程序◆ 管理配置内存、决定资源供需顺序、控制输入输出设备等◆ 操作系统提供让用户和系统交互的操作界面◆ 从手机到超级计算机,操作系统可简单也可复杂◆ 操作系统的种类是多种多样的,不局限于计算机◆ 在不同的设备上,操作系统可向用户呈现多种操作手段管理硬件、提供用户交互的软件系统◆ 我们不可能直接操作计算机硬件...原创 2020-04-03 17:46:56 · 572 阅读 · 0 评论