随笔分类 -  操作系统

摘要:1. 虚拟内存有什么用?为什么要有虚拟内存? 虚拟内存:操作系统为每一个进程分配一个独立的地址空间,就是虚拟内存。虚拟内存与物理内存存在映射关系,通过页表寻址完成虚拟地址和物理地址的转换。 为什么要用虚拟内存:因为早期的内存分配方法存在以下问题: (1)进程地址空间不隔离。会导致数据被随意修改。 ( 阅读全文
posted @ 2021-08-09 12:25 holmes_now 阅读(1172) 评论(0) 推荐(1)
摘要:分页和分段有什么区别(内存管理)? 段式存储管理是一种符合用户视角的内存分配管理方案。在段式存储管理中,将程序的地址空间划分为若干段(segment),如代码段,数据段,堆栈段;这样每个进程有一个二维地址空间,相互独立,互不干扰。段式管理的优点是:没有内碎片(因为段大小可变,改变段大小来消除内碎片) 阅读全文
posted @ 2021-08-09 12:12 holmes_now 阅读(2811) 评论(0) 推荐(0)
摘要:1). 死锁的概念 通俗的讲,就是两个或多个进程无限期的阻塞、相互等待的一种状态。 2). 死锁产生的四个必要条件 互斥:至少有一个资源必须属于非共享模式,即一次只能被一个进程使用;若其他申请使用该资源,那么申请进程必须等到该资源被释放为止; 占有并等待:一个进程必须占有至少一个资源,并等待另一个资 阅读全文
posted @ 2021-08-09 12:11 holmes_now 阅读(746) 评论(0) 推荐(0)
摘要:系统调用:进程管理、内存管理、设备管理、文件管理、提供用户接口 进程管理: 进程管理的主要作用就是任务调度,在单核处理器下,操作系统会为每个进程分配一个任务,进程管理的工作十分简单;而在多核处理器下,操作系统除了要为进程分配任务外,还要解决处理器的调度、分配和回收等问题 内存管理:内存管理主要是操作 阅读全文
posted @ 2021-08-08 23:40 holmes_now 阅读(408) 评论(0) 推荐(0)
摘要:缓冲区溢出缓冲区溢出的定义:指当计算机向缓冲区内填充数据时超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上 缓冲区溢出的危害:程序崩溃导致拒绝服务、跳转并且执行一段恶意代码 缓冲区溢出的原因:程序中没有仔细检查用户输入的参数 阅读全文
posted @ 2021-08-08 23:35 holmes_now 阅读(337) 评论(0) 推荐(0)
摘要:互斥:指某一个资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的同步:是指在互斥的基础上(大多数情况下),通过其它机制实现访问者对资源的有序访问。大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多 阅读全文
posted @ 2021-08-08 23:32 holmes_now 阅读(373) 评论(0) 推荐(0)
摘要:进程同步 进程同步的主要任务:是对多个相关进程在执行次序上进行协调,以使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。 同步机制遵循的原则: (1)空闲让进; (2)忙则等待(保证对临界区的互斥访问); (3)有限等待(有限代表有限的时间,避免死等); (4)让权等待 阅读全文
posted @ 2021-08-08 23:29 holmes_now 阅读(70) 评论(0) 推荐(0)