优质张咪资料推荐word版 16页.docx
- 文档编号:36706
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:15
- 大小:18.03KB
优质张咪资料推荐word版 16页.docx
《优质张咪资料推荐word版 16页.docx》由会员分享,可在线阅读,更多相关《优质张咪资料推荐word版 16页.docx(15页珍藏版)》请在冰豆网上搜索。
优质张咪资料推荐word版16页
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!
==本文为word格式,下载后可方便编辑和修改!
==
张咪资料?
篇一:
山大操作系统实验5
进程同步实验
张咪
软件四班
一、实验目的
总结和分析示例实验和独立实验中观察到的调试和运行信息,说明您对与解决非对称性互斥操作的算法有哪些新的理解和认识?
为什么会出现进程饥饿现象?
本实验的饥饿现象是怎样表现的?
怎样解决并发进程间发生的饥饿现象?
您对于并发进程间使用消息传递解决进程通信问题有哪些新的理解和认识?
根据实验程序、调试过程和结果分析写出实验报告。
二、实验要求
理发店问题:
假设理发店的理发室中有3个理发椅子和3个理发师,有一个可容纳4个顾客坐等理发的沙发。
此外还有一间等候室,可容纳13位顾客等候进入理发室。
顾客如果发现理发店中顾客已满(超过20人),就不进入理发店。
在理发店内,理发师一旦有空就为坐在沙发上等待时间最长的顾客理发,同时空出的沙发让在等候室中等待时间最长的的顾客就坐。
顾客理完发后,可向任何一位理发师付款。
但理发店只有一本现金登记册,在任一时刻只能记录一个顾客的付款。
理发师在没有顾客的时候就坐在理发椅子上睡眠。
理发师的时间就用在理发、收款、睡眠上。
请利用linux系统提供的IPC进程通信机制实验并实现理发店问题的一个解法。
三、实验环境
实验环境均为Linux操作系统,开发工具为gcc和g++。
四、实验思路
约束:
1.设置一个count变量来对顾客进行计数,该变量将被多个顾客进程互斥地访问并修改,通过一个互斥信号量mutext来实现。
count>20时,就不进入理发店。
7 然后等待申请沙发,用一个sofa信号量控制。 然后申请椅子。 3 count<3时,count++,顾客坐在椅子上等待理发。 2.只有在理发椅空闲时,顾客才能做到理发椅上等待理发师理发,否则顾客便必须等待;只有当理发椅上有顾客时,理发师才可以开始理发,否则他也必须等待。 可通过信号量empty和full来控制。 3.理发师为顾客理发时,顾客必须等待理发的完成,并在理发完成后理发师唤醒他,使用一个信号量finish来控制; 4.顾客理完发后必须向理发师付费,并等理发师收费后顾客才能离开;而理发师则需等待顾客付费,并在收费后唤醒顾客以允许他离开,这可分别通过两个信号量payment和receipt来控制。 初值: 计数intcount=0 信号量empty=3;full=0;room=13;sofa=4;finish=0;pay=0;receipt=0; mutex=1; 理发师进程 while (1) { wait(full);//等待理发椅上有顾客 剪头发 signal(finish);//通知顾客理发完成 wait(pay);//等待顾客付费 wait(mutex);//在任一时刻只能记录一个顾客的付款 收费 signal(mutex); signal(receipt);//通知顾客收费完毕 } 顾客进程 wait(mutex);//count既用于判断,也要修改,所以为临界资源,用mutex管理互斥if(count>20){//顾客大于20人 signal(mutex); 离开理发店 } else{//顾客小于20人 count=count+1;//进入理发店 if(count>7){//count>7,说明理发椅和沙发上都有人,需要到等待室等待 signal(mutex); wait(room);//申请进入等待室 在等待室等 wait(sofa);//申请沙发 signal(room);//释放等待室 坐在沙发上等 wait(empty);//等待理发椅为空 申请到理发椅 signal(sofa);//释放沙发 } elseif(count>3){//说明理发椅上都有人,需要坐到沙发上等待 signal(mutex); wait(sofa);//申请沙发 坐在沙发上等 wait(empty);//等待理发椅为空 申请到理发椅 signal(sofa);//释放沙发 } else{//count<3,可以坐到理发椅上等待 signal(mutex); wait(empty);//申请理发椅 } 坐在理发椅上等待理发 signal(full);//通知理发师开始理发 理发 wait(finish);//等待理发完毕 付款 signal(payment);//通知理发师已付款 wait(receipt);//等待理发师收款 理发师收费完成,顾客离开理发椅 signal(empty);//释放理发椅 wait(mutex);//对count临界资源操作,用mutex完成互斥count=count-1;//离开理发店 signal(mutex); } 七、调试及实验结果 1、创建makefile文件 hdrs=ipc.h opts=-g-c c_src=cons.cipc.c c_obj=cons.oipc.o p_src=bar.cipc.c p_obj=bar.oipc.o all: producerconsumer consumer: $(c_obj) gcc$(c_obj)-oconsumer cons.o: $(c_src)$(hdrs) gcc$(opts)$(c_src) producer: $(p_obj) gcc$(p_obj)-oproducer bar.o: $(p_src)$(hdrs) gcc$(opts)$(p_src) clean: rmconsbar*.o 2.执行make命令,结果出现了许多由于粗心造成的编译错误 3、修改程序后编译成功,打开两个终端,先运行producer.c,再运行 consumer.c 4、若按ctrl+c停止producer进程,则出现如下图结果。 沙发坐满后顾客将进入等候室等待 5、若再次执行producer进程,将陆续唤醒在等待的顾客,结果如下图 篇二: 南开15春《职业礼仪与形象设计》复习资料1【推荐】 南开15春《职业礼仪与形象设计》复习资料1 一、客观部分: (单项选择、多项选择、判断) 参看在线练习题。 二、主观部分: (一)案例分析: 指出案例中的不当之处并分析原因。 该题目需要参考相关课件内容,有针对性地指出错误并简要描述正确规范。 1、张咪是一位刚刚毕业的大学生,面对就业的压力她不轻易错过每一次应聘的机会。 一天,她去应聘一家公司的秘书职位,这时一家大公司,并且福利待遇都很好,而张咪觉得自身条件也不错,因此,她信心十足地去应聘了,但最后没想到就是一个小小的细节让她丢掉了这次绝好的机会。 那天,由于赶时间,张咪没有化妆就出门了。 到了公司后她看还有一些准备的时间,于是就在应聘办公室到外面简单地化了妆。 不巧这一幕正好被从里面走出来的主考官看见了,他觉得作为秘书连这点最起码的礼仪常识都不懂,又怎么能做好自己的本职工作呢? 因此,几句话就把张咪打发掉了。 张咪与机会擦肩而过,后悔已晚。 请分析张咪化妆礼节的不当之处并分析原因。 (参考第二讲“职业仪表礼仪”之化妆礼节与禁忌) 2、一位女推销员在北美工作时一直都穿着深色套装,提着一个男性化的公文包。 后来,当她调到阳光普 照的南加州工作时,仍然以同样的装束去推销商品,结果成绩总是不够理想。 后来,经专家建议,她改变了穿着,色彩淡雅的套装搭配一个女性化的皮包使她的形象有了亲切感,她的销售业绩也有了显著的提高。 一位年轻的女财税专家有良好的学历背景,在公司里的表现也一直很出色,但是每当她为客户提供咨询服务时,客户却总是很难接受她的建议,她的业务发展空间便受到很大限制。 原来,这位财税专家在着装方面有明显的缺憾: 她身高147厘米、体重43公斤,且喜爱着童装,这使得她的外表与所从事的工作相距甚远,经专家建议,她改变了穿着方式,深色的套装搭配对比色的丝巾和一副重黑边的眼镜,使客户对的态度有了较大的转变,她也很快成为了公司的董事之一。 请分析以上两位职业女性的着装礼节的不当之处并分析原因。 (参考第二讲“仪表礼仪”之服饰原则与规范) 3、英国某投资银行招聘数量分析员,刚从伦敦商学院毕业的迈克尔被猎头公司送去应试。 迈克尔是个性格热情、喜欢引人注目的人,他喜欢用那些颜色鲜艳的领带来展示自己的活力与个性。 面试那天,他认为自己的外表形象是无可挑剔的。 他穿着高质量的意大利阿玛尼西服,闪亮的新皮鞋,新剪的头发,戴着印有可爱小兔子的金光灿灿的黄领带和醒目的红白条纹衬衣。 他认为金融界的服装总是那么死气沉沉、毫无个性,他要在面试时带给他们一点朝气,以留下深刻的印象。 面试结束后,迈克尔由于多种原因没有得到这份工作。 篇三: 山大操作系统实验3 进程调度算法实验 张咪 软件四班 一、实验要求 设有两个并发执行的父子进程,不断循环输出各自进程号、优先数和调度策略。 进程初始调度策略均为系统默认策略和默认优先级。 当某个进程收到SIGINT信号时会自动将其优先数加1,收到SIGTSTP信号时会自动将其优先数减1。 请编程实现以上功能。 二、实验目的 加深对进程调度概念的理解,体验进程调度机制的功能,了解Linux系统中进程调度策略的使用方法。 练习进程调度算法的编程和调试技术。 三、实验环境 实验环境均为Linux操作系统,开发工具为gcc和g++。 四、实验思路 建立一个父进程和一个子进程,用signal系统调用,父进程收到ctrl+c的SIGINT信号时,执行优先级加一的函数,子进程收到ctrl+z的SIGSTP信号时,执行优先级减1的函数,我认为这样能更好的加深对进程调度概念的理解 。 当按下Ctrl+Z时,子进程做出响应,其优先级减1;当按下Ctrl+C时,父进程做出响应,父进程优先级加1.然后再输出各自进程号、优先数和调度策略。 通过for()语句循环,执行十次后退出进程。 五、实验过程 新建一个文件夹,在该文件夹中建立以下名为psched.c的C语言程序。 编写代码,保存。 输入gccpsched.c命令,生成默认的可执行文件a.out。 执行a.out: 。 执行并调试psched程序。 六、调试及实验结果 1、一开始对于父(子)进程获得ctrl+c(ctrl+z)信号后的处理只有一句 signal(SIGINT,(sighandler_t)ctrlc)或signal(SIGTSTP,(sighandler_t)ctrlz),认为不用声明对于ctrl+z(ctrl+c)的反应父(子)进程就不会对SIGTSTP(SIGINT)信号做处理,然而进程执 行结果一次ctrl+c后就退出了。 要想实现: 父进程获得Ctrl+C信号后进程优先号加一,对Ctrl+Z信号不作处理;子进程获得Ctrl+Z信号后进程优先号减一,对Ctrl+C信号不作处理。 要在父进程执行的代码中设置对SIGINT执行ctrlc()函数,对SIGTSTP执行nothing()函数(即不作为);在子进程执行的代码中对SIGINT执行nothing()函数(即不作为),对SIGTSPT执行ctrlz()函数。 2、编译成功后,却只能实现按ctrl+c优先数加一的功能,一直无法实现按ctrl+z优先数减一的功能。 未成功运行的结果: 经过多次修改调试代码始终无法实现将优先数减少的功能,查阅资料发现不是代码的问题,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 优质张咪资料推荐word版 16页 优质 资料 推荐 word 16