
操作系统
文章平均质量分 66
稚枭天卓
manu
展开
-
操作系统 内存管理(二)
地址空间:将源程序经过编译后得到的目标程序,存在于它所限定的地址范围内,这个范围称为地址空间。地址空间是逻辑地址的集合。存储空间:指主存中一系列存储信息的物理单元的集合,这些单元的编号称为物理地址存储空间是物理地址的集合。根据分配时所采用的基本单位不同,可将离散分配的管理方式分为以下三种:页式存储管理、段式存储管理和段页式存储管理。其中段页式存储管理是前两种结合的产物。原创 2015-07-24 13:35:35 · 1098 阅读 · 0 评论 -
操作系统 之 银行家算法
一.概念引入 银行家算法( banker's algorithm )由 Dijkstra于1965提出,关键是将死锁的问题演示为一个银行家贷款的模型,由于能用于银行系统的现金贷款而出名。一个银行家向一群客户发放信用卡,每个客户有不同的信用额度。每个客户可以提出信用额度内的任意额度的请求,直到额度用完后再一次性还款。银行家承诺每个客户最终都能获得自己需要的额度。所谓“最终”,是说银原创 2016-03-01 10:28:25 · 8591 阅读 · 0 评论 -
操作系统 进程间的通信 之 信号 消息队列 共享内存 浅析
本文从,进程通信的三种方法——信号与信号量,消息队列和共享内存入手,详细表述了信号量的数据结构与实现方式,PV操作的定义,细节与意义。其次,对消息队列和共享内存方式数据结构和性能给予了分述。最后,在文末给出实现的各种通信形式的源码链接。原创 2015-07-09 23:20:33 · 1821 阅读 · 0 评论 -
操作系统 之 库函数和系统调用
一. 概念系统调用(英语:system call),指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较差(几乎无移植性)。在linux下包含以下几种类型:进程控制(如:fork)、文件系统控制(如:write)、系统控制(如:reboo原创 2016-03-09 22:44:03 · 3162 阅读 · 0 评论 -
操作系统 之 fork 函数 典例篇
【1】不算main这个进程自身,到底创建了多少个进程啊?int main(int argc, char* argv[]){ fork(); fork() && fork() || fork(); fork();}【解析】只看这句, fork() && fork() || fork(); 结果有5个进程。第一句 ,fork 后进程加倍,所以执行 fork() && fo原创 2015-09-08 15:38:08 · 1152 阅读 · 1 评论 -
操作系统 之 临界区 浅析
什么是临界区? 每个进程中访问临界资源的那段程序称为临界区(临界资源是一次仅允许一个进程使用的共享资源)。每次只准许一个进程进入临界区,进入后不允许其他进程进入。 进程进入临界区的调度原则①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。②任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。③进入临界区的进程要在原创 2015-11-20 11:42:01 · 12532 阅读 · 0 评论 -
操作系统 时间片轮转调度算法
时间片轮转法(RR)算法描述:用于分时系统中的进程调度。每次调度时,总是选择就绪队列的队首进程,让其在CPU上运行一个系统预先设置好的时间片。一个时间片内没有完成运行的进程,返回到绪队列末尾重新排队,等待下一次调度。【例】进程A、B、C、D需要运行的时间分别为20ms、10 ms、15 ms、5 ms,均在0时刻到达。到达的先后次序为A、B、C、D。如果时间片分别为1 ms和5ms,计算各原创 2015-08-17 21:34:00 · 68654 阅读 · 5 评论 -
操作系统 之 fork 函数 概念篇
由fork创建的新进程被称为子进程(child process)。该函数被调用一次,但返回两次。两次返回的区别是子进程的返回值是0,而父进程的返回值则是新进程(子进程)的进程 id。将子进程id返回给父进程的理由是:因为一个进程的子进程可以多于一个,没有一个函数使一个进程可以获得其所有子进程的进程id。对子进程来说,之所以fork返回0给它,是因为它随时可以调用getpid()来获取自己的pid;也可以调用getppid()来获取父进程的id。(进程id 0总是由交换进程使用,所以,一个子进程的进程id不可原创 2015-09-07 22:17:00 · 3664 阅读 · 0 评论 -
操作系统 linux 内核的三种进程调度方法
1,SCHED_OTHER 分时调度策略;2,SCHED_FIFO 实时调度策略,先到先服务;3,SCHED_RR 实时调度策略,时间片轮转 。 实时进程将得到优先调用,实时进程根据实时优先级决定调度权值,分时进程则通过nice和counter值决定权值,nice越小,counter越大,被调度的概率越大,也就是曾经使用了 cpu 最少的进程将会得到优先调度。原创 2015-08-18 11:09:24 · 2848 阅读 · 1 评论 -
操作系统 之 哈希表 Linux 内核 应用浅析
1.基本概念 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。2. 常用的构造散列函数的方法 散列函数能使对一个数据序列的访问过程更加迅速有效,通过散列函数,数据元素将被更原创 2015-08-18 10:32:17 · 1249 阅读 · 4 评论 -
操作系统 内存管理(一)
内存管理主要包括虚地址、地址变换、内存分配和回收、内存扩充、内存共享和保护等功能。 本文主要从内存分配与回收,固定内存分区与动态内存分区,以及内存覆盖与交换着几个方面来讲述内存管理知识。原创 2015-07-24 12:01:38 · 1309 阅读 · 0 评论 -
操作系统 进程与线程 图解浅析
进程(process)和线程(thread)是操作系统的基本概念,但是它们比较抽象,不容易掌握。最近,我读到一篇材料,发现有一个很好的类比,可以把它们解释地清晰易懂。原创 2015-07-09 09:57:06 · 1372 阅读 · 1 评论 -
操作系统 进程调度算法 浅析
调度算法是指:根据系统的资源分配策略所规定的资源分配算法。1. 先来先服务 先来先服务调度算法。先来先服务(FCFS)调度算法是一种最简单的调度算法,该算法既可用于作业调度, 也可用于进程调度。FCFS算法比较有利于长作业(进程),而不利于短作业(进程)。由此可知,本算法适合于CPU繁忙型作业, 而不利于I/O繁忙型的作业(进程)。2. 短进程优先调度算法短作业(进原创 2015-07-23 22:12:56 · 1088 阅读 · 0 评论 -
Linux 下 rm-rf 和 mv 的区别
rm -rf 是强行删除指定文件,不会出现确认提示的。r参数是递归删除,删除目录及目录下的文件时使用的,f参数表示删除不询问,直接删除。而且可以删除非空目录。-rf参数即表示递归强制删除。mv 是移动文件,如果目标位置和要移动的文件在相同目录下, 那么就是给这个文件改名,图形下没有 mv 一说,剪切就是剪切,mv 就是代替图形下的移动文件和重命名文件。代码示例mv a.txt原创 2017-01-05 11:39:53 · 9623 阅读 · 0 评论