计算机科学与通信工程学院

操作系统课程设计报告

题目:linux系统下实现PV 操作

班级: 软件工程1401

姓名: 吴帅帅

学号: 3140608020

指导老师: 牛德姣

2016 年12 月27

目录

一、 实验题目 1

二、 实验目的和要求 2

三、环境配置 3

四、设计思路 5

五、代码实现 7

六、 总结 17

一、 实验题目

1. Linux 系统简单使用

(1)认识Linux

(2)ubuntu 安装

(3)终端的简单使用

(4)python3.5.2 源码安装

2. 多线程和多进程同步方法解决水果分配问题:

水果分配的问题:

桌上有一只盘子,每次只能放入5 只水果。爸爸专放苹果,

妈妈专放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃

盘子中的苹果.用P,V 操作实现爸爸、妈妈、儿子、女儿进程的同步

控制。

补充:设有两个篮子,分别有若干个苹果或橘子,爸爸和妈妈将

每次从水果篮子中拿出一个水果放入水果盘中,儿子女儿则挑选各自

喜欢的水果。

(1) 分析问题,写出伪代码

(2) 线程实现

(3) 进程实现

1

二、 实验目的和要求

1. 认识和学会使用 linux系统:

Linux 是一种可以在PC 机上执行的类似UNIX 的操作系统,是一个完

全免费的操作系统。1991 年,芬兰学生Linus Torvalds 开发了这个操作系统

的核心部分,因为是Linus 改良的minix 系统,故称之为Linux.

2. 理解线程和进程的互斥和同步原理:

同步是操作系统级别的概念,是在多道程序的环境下,存在着不同的制

约关系,为了协调这种互相制约的关系,实现资源共享和进程协作,从而

避免进程之间的冲突,引入了进程同步。

进程互斥是间接制约关系。当一个进程进入临界区使用临界资源时,

另一个进程必须等待。只有当使用临界资源的进程退出临界区后,这个进

程才会解除阻塞状态。

3. 使用信号量和互斥量解决问题:

通过设置一个表示资源个数的信号量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

资源的其它进程。

2

三、 环境配置

1. 安装ubuntu

(1) 下载系统镜像,ubuntu-16.04.1-desktop-amd64.iso

(2) 制作启动U 盘,使用Ultraiso 软件将系统镜像写入U 盘

(3) 开机进入BIOS 界面,从U 盘启动。

(4) 对磁盘分区,等待安装结束。

(5) 设置root 密码,sudo

python操作系统课程设计_操作系统课程设计.pdf相关推荐

  1. java闹钟程序设计_JAVA课程设计_闹钟的设计与实现项目-报告_附源代码.doc

    JAVA课程设计_闹钟的设计与实现项目-报告_附源代码 第2章 MACROBUTTON AcceptAllChangesInDoc [双击此处键入1级标题] PAGE 2 - PAGE 1 - .. ...

  2. python人工智能课程设计_中小学课程设计:以计算思维培养为核心的人工智能课程设计与实践...

    面对国际日趋紧张的科技竞争,发展新一代人工智能已成为各国的重要国家战略.人工智能人才的梯队建设是我国发展人工智能技术和推动产业应用的重要基础. 01存在问题 近年来教育部和各省市教育主管部门发布了一系 ...

  3. flex如何做响应式设计_响应式设计-您做错了!

    flex如何做响应式设计 Responsive design is not just about the web that automatically adjusts to different scr ...

  4. 小型蘑菇定向切片机设计_鲜枣去核机的设计_玉米脱粒机的设计_振动式马铃薯收获机的设计_谷物干燥机的设计_锤片式饲料粉碎机的设计_山楂去核机的设计_萝卜切丝机设计_板栗去皮机设计_锤式破碎机设计……

    棉花打包机的设计[说明书(论文)+CAD+solidworks] 毕业设计_气动四自由度机械手结构设计(设计说明书+CAD图纸)    套类零件自动上下料机构 玉米脱粒机的设计(说明书+cad图纸+p ...

  5. 壁行式起重机设计_玉米播种机的设计_残疾人轮椅设计_破冰除雪机设计_单转子可逆式锤式破碎机设计_全液压升降机设计_振动压路机振动轮设计_旋转型灌装机设计_搬运机械手及其控制系统设计……

    组合机床主轴箱及夹具设计(论文+DWG图纸) 机械毕业设计-玉米播种机的设计(开题报告+任务书+说明书+CAD图纸+答辩PPT) 机械毕业设计-残疾人轮椅设计(含全套CAD图纸)    残疾人轮椅的设 ...

  6. dcdc模块降额设计_模块电源应用设计的可靠性和注意事项

    我们在选择电源上,常常把重心放在参数与性能上,容易忽视这是通用型设计.电源模块本身的可靠性很重要,但事实上,由于电源系统工作环境的复杂性,如果没有可靠的系统应用设计,电源最终会失效.下面介绍电源系统应 ...

  7. 操作系统饥饿现象_操作系统心得体会

    一.操作系统 1.基本概念 操作系统简称OS,是配置在计算机硬件上的第一层软件,它能够有效的组织和管理计算机系统中的硬件和软件资源,合理的组织计算机工作流程,控制程序的执行,并向用户提供各种服务功能. ...

  8. ddd领域驱动设计_领域驱动设计(DDD)理论启示

    过去几年通天塔一直处于快速的业务能力建设和架构完善的阶段,以应对不断增长的业务需求和容量.高可用等技术需求,现在通天塔平台已经能满足集团主站的大部分活动.频道搭建和运营能力,主流程的新需求越来越少,个 ...

  9. 动态网站的制作与设计_动态网站设计要注意那些细节

    细节部分如页面的访问速度,客户的使用反馈和交流,内容的更新等都对于用户来说能够起到不小的作用.客户在浏览网页时,很少会进入需要等候的网页,在网络上的三秒的等候时间都显得久了.网站在进行设计时应该留有用 ...

最新文章

  1. “打脸”世界杯:AI界没有预测比赛的章鱼保罗
  2. SAP MM 采购申请中的物料组字段改成Optional
  3. 权限系统设计模型分析(DAC,MAC,RBAC,ABAC)
  4. [C#(WebForm)] - 利用递归遍历文件夹和文件存入TreeView
  5. Struts初步知识
  6. 命令行里对SAP Spartacus执行命令ng test core
  7. redis3.2.8 linux集群安装
  8. IDEA报错: Port already in use: 2100
  9. Deformable 3D shape registration based on local similarity transforms
  10. python列表推导式生成随机数_Python:列表推导式/生成器推导式
  11. STM32F429HAL库ADCDMA学习笔记
  12. 软件编程常用数据类型打印print
  13. 论文阅读-可变形卷积v2: More Deformable, Better Results
  14. Python3.x:pyodbc调用sybase的存储过程
  15. XML(1)——shema约束之命名空间
  16. 增值电信业务经营许可证是什么?怎么办理?
  17. getSharedPreferences()与getSharedPreferences()与getDefaultSharedPreferences()的区别
  18. 上海电机学院计算机类分数,2021年上海电机学院投档线及各省最低录取分数线统计表...
  19. 基于51单片机的数字频率计设计
  20. Selenium Grid 分享

热门文章

  1. PageAdmin建站系统模板制作教程1:Razor简介
  2. 2018-11-17 js的this引起的血案
  3. maven 多模块项目
  4. CentOS Linux解决Device eth0 does not seem to be present【转】
  5. C语言指向结构体的指针的例子
  6. Python打印到文件
  7. 未来五年程序员应当具备的十项技能
  8. oracle添加序列器,Oracle 建表,添加主外键,序列,触发器
  9. python如何监听toast提示信息_python 怎样获取toast?
  10. 微型计算机系统的工作过程是不断地,微型计算机原理及应用基本学习要求2017-2(1)...