操作系统课程设计-linux系统下实现PV操作精选.docx

操作系统课程设计-linux系统下实现PV操作精选.docx

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统课程设计-linux系统下实现PV操作精选

计算机科学与通信工程学院操作系统课程设计报告题目:linux系统下实现PV操作班级:软件工程1401 姓名: 学号:3指导老师:2016年12月27日实验题目Linux 系统简单使用认识Linuxubuntu安装终端的简单使用python3.5.2源码安装多线程和多进程同步方法解决水果分配问题:水果分配的问题:桌上有一只盘子,每次只能放入5只水果。爸爸专放苹果,妈妈专放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果.用P,V操作实现爸爸、妈妈、儿子、女儿进程的同步控制。补充:设有两个篮子,分别有若干个苹果或橘子,爸爸和妈妈将每次从水果篮子中拿出一个水果放入水果盘中,儿子女儿则挑选各自喜欢的水果。分析问题,写出伪代码线程实现进程实现实验目的和要求认识和学会使用linux系统:Linux 是一种可以在PC机上执行的类似UNIX的操作系统,是一个完全免费的操作系统。1991年,芬兰学生Linus Torvalds开发了这个操作系统的核心部分,因为是Linus 改良的minix系统,故称之为Linux.理解线程和进程的互斥和同步原理:同步是操作系统级别的概念,是在多道程序的环境下,存在着不同的制约关系,为了协调这种互相制约的关系,实现资源共享和进程协作,从而避免进程之间的冲突,引入了进程同步。进程互斥是间接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进程才会解除阻塞状态。使用信号量和互斥量解决问题:通过设置一个表示资源个数的信号量S,通过对信号量S的P和V操作来实现进程的的互斥。通过设置一个表示资源个数的信号量S,通过对信号量S的P和V操作来实现进程的的互斥。P和V操作分别来自荷兰语Passeren和Vrijgeven,分别表示占有和释放。P V操作是操作系统的原语,意味着具有原子性。P操作首先减少信号量,表示有一个进程将占用或等待资源,然后检测S是否小于0,如果小于0则阻塞,如果大于0则占有资源进行执行。V操作是和P操作相反的操作,首先增加信号量,表示占用或等待资源的进程减少了1个。然后检测S是否小于0,如果小于0则唤醒等待使用S资源的其它进程。环境配置安装ubuntu下载系统镜像,ubuntu-16.04.1-desktop-amd64.iso制作启动U盘,使用Ultraiso软件将系统镜像写入U盘开机进入BIOS界面,从U盘启动。对磁盘分区,等待安装结束。设置root密码,sudo passwd root 命令后输入两遍密码。熟悉ubuntu的使用常用命令:su命令,切换用户pwd命令,打印当前工作目录的绝对路径ls命令,打印当前目录下的文件cd命令,切换工作目录mv命令,移动文件或目录rm命令,删除文件或目录shutdown命令,关闭计算机reboot命令,重启电脑tar命令,解压命令安装vim编辑器在终端下运行apt-get install –y vim即可。安装结束后,输入vim命令,显示如下图就说明安装成功:Figure 1安装vim后输入vim显示的结果源码安装python3.5.2因为linux内置的python的版本为2.7.5,所以为了程序设计的方便,使用3.5.2版本的。终端下输入python即可进入python交互模式。安装前:Figure 2内置python运行结果安装步骤:进入下载目录,tar –zxvf Python-3.5.2.tar.gz 解压到当前目录下进入解压目录,cd Python-3.5.2验证系统配置,./configure编译和安装,make make install建立软链接,在/usr/bin目录下生成python3的软链接文件安装结果:Figure 3python3安装结果设计思路题目分析:father、mather、son、daughter是四个线程或进程。盘子plate是它们共享的变量,对盘子的操作要互斥。Father和daughter要对apple同步。Mother和son要对orange同步。伪代码:father:while(True):p(empty)p(mutex)put applev(mutex)v(apple)mother:while(True): p(empty) p(mutex) put orange v(mutex) v(orange)son:while(True): p(orange) p(mutex) get orange v(mutex) v(empty)daughter:while(True): p(apple) p(mutex) get apple v(mutex)

您可能关注的文档

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档