操作系统课程设计-线程和进程的同步与互斥

这篇博客介绍了操作系统课程设计中如何使用线程和进程同步方法解决水果分配问题。通过分析问题、编写伪代码,然后利用Python的threading和multiprocessing模块实现了线程和进程的同步控制。实验目标包括理解线程和进程的互斥同步原理,以及使用信号量和互斥量。最后,博主分享了环境配置、代码实现和实验总结。
摘要由CSDN通过智能技术生成

操作系统的课程设计

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

水果分配的问题:

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

妈妈专放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果.用P,V操作实现爸爸、妈妈、儿子、女儿进程的同步控制。

补充:设有两个篮子,分别有若干个苹果或橘子,爸爸和妈妈将每次从水果篮子中拿出一个水果放入水果盘中,儿子女儿则挑选各自喜欢的水果。

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

(2) 线程实现

(3) 进程实现

python3.5.2 threading 和multiprocessing模块

一、 实验题目... 3

二、 实验目的和要求... 3 

三、 环境配置... 4

四、 设计思路... 6 

五、 代码实现... 7

六、 总结... 17

 

一、    实验题目

1.      Linux 系统简单使用

(1)认识Linux

(2)ubuntu安装

(3)终端的简单使用

(4)python3.5.2源码安装

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

水果分配的问题:

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

妈妈专放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果.用P,V操作实现爸爸、妈妈、儿子、女儿进程的同步控制。

补充:设有两个篮子,分别有若干个苹果或橘子,爸爸和妈妈将每次从水果篮子中拿出一个水果放入水果盘中,儿子女儿则挑选各自喜欢的水果。

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

(2) 线程实现

(3) 进程实现

二、    实验目的和要求

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资源的其它进程。

三、    环境配置

1. 安装ubuntu

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

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

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

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

(5)    设置root密码,sudo passwd root 命令后输入两遍密码。

2. 熟悉ubuntu的使用

常用命令:

(1)    su命令,切换用户

(2)    pwd命令,打印当前工作目录的绝对路径

(3)    ls命令,打印当前目录下的文件

(4)    cd命令,切换工作目录

(5)    mv命令,移动文件或目录

(6)    rm命令,删除文件或目录

(7)    shutdown命令,关闭计算机

(8)    reboot命令,重启电脑

(9)    tar命令,解压命令

3. 安装vim编辑器

在终端下运行apt-get install –y vim即可。

安装结束后,输入vim命令,显示如下图就说明安装成功:

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值