- 博客(17)
- 资源 (1)
- 收藏
- 关注
转载 磁盘调度算法剖析(FIFO、SSTF、SCAN、CSCAN、FSCAN)
常见的磁盘调度算法有以下几种:1.FIFO:先来先服务算法;2.SSTF: 最短寻道时间算法;3.SCAN:电梯调度算法;(这样命名很形象)4.CSCAN: 循环扫描算法5.FSCAN:分步电梯调度算法(分两个队列)下面详细说一下各个算法的主要思想:首先是FIFO算法,也就是先来先服务算法。这种算法的思想比较容易理解。假设当前磁道在某一位置,依次处理服务队列里的每一个磁道,这样做的
2018-01-10 12:30:49
1191
转载 实例分析首次适应算法、最佳适应算法、最差适应算法
关于首次适应算法、最佳适应算法和最差适应算法,先看一下百度百科的解释,已经说出了三者的最大区别。首次适应算法(first-fit): 从空闲分区表的第一个表目起查找该表,把最先能够满足要求的空闲区分配给作业,这种方法的目的在于减少查找时间。 最佳适应算法(best-fit):从全部空闲区中找出能满足作业要求的,且大小最小的空闲分区,这种方法能使碎片尽量小。 最差适应算法(wors
2018-01-03 16:11:30
8983
原创 实验楼OS实验一 熟悉实验环境
实验一:熟悉环境 1. 解压hit-oslab 进入到工作目录tar zxvf hit-oslab-linux-20110823.tar.gz 2. 进入到oslab下的linux-0.11文件下编译内核 命令:makeall“makeclean”是删除上一次编译生成的所有中间文件和目标文件,确保是在全新的状态下编译整个工程.3.返回oslab文件夹,运行内核命令: make all “
2018-01-01 11:19:30
2635
原创 《计算机操作系统》总结三(处理机调度与死锁)
2.7 处理机调度:调度的概念、时机、切换、过程以及调度方式和基本准则调度的概念1. 调度的基本概念在多道程序系统中,进程的数量往往多于处理机的个数,进程争用处理机的情况就在所难免。处理机调度是对处理机进行分配,就是从就绪队列中,按照一定的算法(公平、髙效)选择一个进程并将处理机分配给它运行,以实现进程并发地执行。处理机调度是多道程序操作系统的基础,它是操作系统设计的核心问题。2. 调度的层次
2017-12-20 14:44:48
644
原创 int型的数到底最大值是多少?
刚才在百度知道上看见一个网友问int型的数最大能存多少。这个问题其实计算机系统结构里有讲解,首先,我们要知道在计算机里怎么存储数字的。在计算机里,对数字编码有3种方式:原码、补码、反码。原码其实就是10进制数直接转2进制数的结果。比如:十进制的18,在二进制里是10010。那这里的10010就是原码。我们可以sizeof一下我们自己的电脑上int型占几个字节。我的是4个字节,也就是说只有32个位。如
2017-12-02 22:38:50
11575
1
原创 解决临界区(互斥)的软件方法-Dekker算法和Peterson算法
Dekker算法初步设想【保证了互斥】:让两个进程共享一个全局变量turn,【其初值为0或1】。如果turn==i,那么进程Pi允许在其临界区内执行。 —为了控制两个进程互斥进入临界区,可以让两个进程轮流进入临界区。 —当一个进程正在临界区执行时,另一个进程就不能进入临界区,而在临界区外等待。 1.为何是“强制交替”? Turn=0时,无论CS空闲与否,即使P1就绪想要进入CS也【不会成
2017-11-29 00:16:43
5940
3
转载 临界区算法:Peterson算法与Dekker算法
[原文连接](http://blog.youkuaiyun.com/spadgerz/article/details/53040734)当时老师在课上讲的时候就没搞懂现在要写作业了果然还是得靠自己学明白啊=_=下面的概念都来自于《操作系统概念》这本书首先说一下临界区问题(Critical Section Problem)临界区的问题的解答必须满足以下三个条件:1) 互斥:如果进程Pi在其临界区内
2017-11-28 23:09:29
1856
原创 用户级线程和内核级线程
1 .内核级线程:切换由内核控制,当线程进行切换的时候,由用户态转化为内核态。切换完毕要从内核态返回用户态;可以很好的利用smp,即利用多核cpu。windows线程就是这样的。用户级线程内核的切换由用户态程序自己控制内核切换,不需要内核干涉,少了进出内核态的消耗,但不能很好的利用多核Cpu,目前Linux pthread大体是这么做的。线程的实现可以分为两类:用户级线程(User-Level
2017-11-27 11:05:02
450
原创 操作系统中长期调度、中期调度和短期调度之间的区别
在写操作系统作业查找资料时,发现有个博客关于长期、中期、短期调度的解释十分清晰明了,所以决定转载一下,分享给大家。 在许多进程或线程都准备使用CPU进行任务处理时,就会存在资源竞争和分配的问题。一般都会将进程或线程先放在一个缓冲池中,等待合适的时机调度程序从中选择一个进程或线程进行交给CPU进行处理。 如上图所示,在调度中,分为长期、中期和短期三种。 长期调度,又称为作业调度或高级调度
2017-11-27 10:52:26
2711
转载 C语言 fread()与fwrite()函数说明与示例
1.作用 读写文件数据块。2.函数原型 (1)size_t fread ( void * ptr, size_t size, size_t count, FILE * stream ); 其中,ptr:指向保存结果的指针;size:每个数据类型的大小;count:数据的个数;stream:文件指针 函数返回读取数据的个数。 (2)size_t fwrite ( co
2017-11-20 22:22:10
522
转载 关键字static、Const、Volatile的作用是什么
关键字static的作用是什么?在C语言中,关键字static有三个明显的作用:1).在函数体,一个被声明为静态的变量在这一函数被调用结束后不释放其存储空间。定义为static的局部变量的存储在全局区(静态区)而一般的局部变量存储在栈中。2).在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3).在模块内,一个被
2017-11-20 17:30:15
2175
转载 scanf,fscanf,sscanf的区别----整理
fread :以字节位计算长度,按照指定的长度和次数读取数据,遇到结尾或完成指定长度读取后停止.fscanf :格式化读取,按照指定的格式串进行读取数据,并将数据初始化为指定的格式.所以在文本方式下才能有效的判断数据内容.fgets :整行读取,遇到回车换行或结尾停止.在文本方式时使用.其实文本和二进制的差别就在于读取的数据,文本方式会默认为是ASCII码,二进制方式则原样将数据读出.所以文本时
2017-11-20 16:42:31
957
转载 fscanf()函数详解
原文连接 http://blog.youkuaiyun.com/liangxanhai/article/details/8026496以前解析有规律的文件的时候要么用正则表达式,要么就是傻傻的自己写程序来解析有规律的文件。今天突然发现c的库函数中有一个现成的可以解析有规律的文件的函数,就是fscanf()函数。哎 以前自己做了这么多无用功,在这里详细解析一下fscanf函数:fscanf()函数(有点像正则表
2017-11-20 16:20:26
1913
转载 fopen()、fwrite()、fread()函数使用说明与示例
fopen()函数:1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针。2.函数原型:[cpp] view plain copy print?FILE * fopen(const char * path,const char * mode); – path: 文件路径,如:”F:\Visual Stdio 2012\test.txt” – m
2017-11-18 16:07:20
998
原创 Android基础小知识
【eclipse中的自动补全】 http://jingyan.baidu.com/article/0964eca23deecd8284f5366d.html http://jingyan.baidu.com/album/b24f6c822858b986bfe5dae2.html?picindex=2 【几个重要的文件】 AndroidManifest.xml 清单文件【加activity、
2016-07-16 11:23:46
397
原创 安卓Activity学习笔记
【eclipse中的自动补全】http://jingyan.baidu.com/article/0964eca23deecd8284f5366d.htmlhttp://jingyan.baidu.com/album/b24f6c822858b986bfe5dae2.html?picindex=2【几个重要的文件】 AndroidManifest.xml 清单文件【加activity
2016-07-16 11:07:44
710
一种基于点模式匹配的指纹识别方法.pdf
2017-11-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人