- 博客(11)
- 资源 (20)
- 收藏
- 关注
原创 有名信号量实现读者-写者问题(公平读写)
/* 名称:有名信号量实现读者-写着问题(公平读写) 说明:本实验实现的是公平算法的读者写者问题。即读者写者在访问文件之前都得排队等待。 基本的实现:对于读者和写者在P、V操作上基本相同,都是先等待queue信号量,然后再等待rw。 稍微不同的是由于读者可以同时访问文件,若有读者已经在访问文件,其他的读者不用在申请rw信号量。*/读者:#include <s
2017-08-28 22:59:26 3023
原创 有名信号量实现读者-写着问题(写者优先)
/* 名称:有名信号量实现读者-写着问题(写者优先) 说明:本实验实现的是写者优先的读者写者问题。和读者优先类似,写者优先是当读者写者在同时申请访问文件时(如果有写者正在写入文件),那么其他写者能更容易的访问到文件(因为“它不用排队”,即在本实验中不用等待queue信号量)。 打个不确切的比方,就像是“读者”和“写者”两个人去买票,本应该老老实实都该排队。但如果“写者”
2017-08-27 20:50:27 1294
原创 有名信号量实现读者-写者问题(读者优先)
/* 名称:有名信号量实现读者-写着问题(读者优先) 说明:本实验实现的是读者优先的读者写者问题,即若有读者正在访问文件,而且还有读者和想要申请访问文件,则对于读者可以直接访问,对于写者必须等待所有的读者访问完毕(包括正在访问的和正在申请访问的读者),没有读者时,才能访问文件进行写入。 基本的算法很简单,就不说了。要提到一点的是,本实验花了好几天时间才弄出来,原因是C掌
2017-08-24 23:23:17 1451
原创 无名信号量实现哲学家问题
/* 名称:无名信号量实现哲学家问题 说明:本实验是利用无名信号量实现哲学家问题。 总体的思路是不让左右相邻的哲学家同时申请同一个筷子,即奇数号哲学家先申请位于其 左边的筷子,然后再申请其右边的筷子;偶数号科学家先申请右边的筷子,然后在申请左边的筷子。以达到同步的目的。 程序整体的流程是:主程序申请了N个无名的信号量,然后把它们映射到共享内存中(因为无
2017-08-21 22:53:39 279
原创 有名信号量实现消费者生产者问题
/* 名称:有名信号量实现消费者生产者问题 说明:本实验实现的是进程同步中经典的消费者生产者的问题。在本实验中解决的是生产者消费者在多个缓冲区中涉及的同步和互斥问题。 对于一个缓冲区还是多个缓冲区的问题,其主要区别在于解决方案中是不是该包括互斥部分。 对于一个缓冲区,不需要包括互斥部分,因为只有一个缓冲区,生产者和消费者同步连续运行,不会涉及到
2017-08-20 23:15:28 548
原创 无名信号量实现相关进程同步
/* 名称:无名信号量实现相关进程同步 说明:此处使用的是实现相关进程同步的实验程序(改编自教材)。 有几点需要强调下 1.两个进程之间有不同的地址空间(即使是用fork生成的相同的进程,它们中的内容相同但是,但是地址空间是不同的)。虽然使用了posix的的sem_init声明了一个共享的信号量sem ,但是当两个进程执行不同的操作
2017-08-20 23:07:12 810
原创 ARM学习之时钟体系结构
今天在宿舍学习的是S3C2440的系统时钟体系,这部分的难点不是很多,所以相对来说轻松点,但还是把感悟记录下来吧。1.S3C2440的的时钟体系有哪些?它们分别有什么作用? 答:以前一直有个小疑问,你说,这CPU运行那么快,外部的设备运行的就比较慢,那它们的时钟源怎么匹配呢?哦,今天算是差不多弄清楚了。因为它们有不同的时钟源。就S3C2440来说, 它有三种时钟源: (1)FCLK:用
2017-08-20 22:59:34 501
原创 ARM学习之中断体系结构
今天下午和晚上研究了一直在研究s3c2410中断体系结构,虽然以前老师上课也接触过,考试也考过,但仔细研究起来,还是有不少收获的。现记述如下:1.什么是中断? 答:中断是CPU保证并发程序的一种机制。它使得CPU在执行程序的时候能够响应异常的情况发生。 其实,在CPU在运行的过程中,如何知道各类外设发生了某些没预期的事,比如说串口接受到了数据、USB接口中插入了设备、按下了某个按键...
2017-08-20 22:57:18 689
原创 ARM学习之Nand FLash控制器
今天学习了Nand Flash的一些内容。在此做下回忆和总结:1.什么是Nand Flash? 答:Nand FLash是一种非易失性的存储性介质,一般用于保存嵌入式系统运行所必需的操作系统、应用程序、用户数据等,地位和PC上的硬盘类似。一般来说,它的接口引脚不像SDRAM那样多(SDRAM有20多根),一般也就是十几根。以三星公司的K9F1208U0M为例,如下所示。 正因为它的数据引脚较少,
2017-08-13 14:30:46 540
原创 ARM学习之GPIO实现流水灯
今天在学习MMU时的时候,写了一个流水灯程序。虽然很简单,但是不怕大家笑话,由于学C语言的时候没学位运算操作,再加上硬件实验做的少,所以实现这个也费了不少力气呢。/* * leds.c: 循环点亮4个LED * 属于第二部分程序,此时MMU已开启,使用虚拟地址 */ #define GPFCON (*(volatile unsigned long *)0x56000050)
2017-08-06 21:18:14 7785
原创 ARM学习之内存管理单元(MMU)
今天在学习MMU时,学到了不少知识。现总结如下,一是加深印象;二是写出来希望能和大家交流学习。1.MMU是什么? 答:MMU是内存管理单元。如果MMU开启的话,它会把CPU发出的虚拟地址转化为物理地址,然后对实际的物理地址进行相应的读写操作。当然,它还有其他的作用,包括内存权限检查、Cache等。2.虚拟地址是什么?为什么会出现虚拟地址? 答:虚拟地址是CPU所“看到”的地址。它的所有与地址相关
2017-08-06 20:54:17 782
HelloOs相关资源
2020-08-15
PlayerTest.zip
2019-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人