• 操作系统OS第3次实验报告.doc,进程和线程同步和互斥

    1.生产者消费者问题(信号量) 参考教材中的生产者消费者算法,创建5个进程,其中两个进程为生产者进程,3个进程为消费者进程。一个生产者进程试图不断地在一个缓冲中写入大写字母,另一个生产者进程试图不断地在缓冲中写入小写字母。3个消费者不断地从缓冲中读取一个字符并输出。为了使得程序的输出易于看到结果,仿照的实例程序,分别在生产者和消费者进程的合适的位置加入一些随机睡眠时间。 可选的实验:在上面实验的基础上实现部分消费者有选择地消费某些产品。例如一个消费者只消费小写字符,一个消费者只消费大写字母,而另一个消费者则无选择地消费任何产品。消费者要消费的产品没有时,消费者进程被阻塞。注意缓冲的管理。 2.用线程实现睡觉的理发师问题,(同步互斥方式采用信号量或mutex方式均可) 理发师问题的描述:一个理发店接待室有n张椅子,工作室有1张椅子;没有顾客时,理发师睡觉;第一个顾客来到时,必须将理发师唤醒;顾客来时如果还有空座的话,他就坐在一个座位上等待;如果顾客来时没有空座位了,他就离开,不理发了;当理发师处理完所有顾客,而又没有新顾客来时,他又开始睡觉。 3.读者写者问题

    0
    138
    214KB
    2023-11-13
    0
  • 操作系统OS第2次实验报告.doc,实验二:进程和线程的创建

    实验二:进程和线程的创建 1. 在linux下编写一个应用程序,命名为an_ch2_1b。这个程序不断地输出如下行: Those output come from child,[系统时间] 另外写一个应用程序,命名为an_ch2_1a。这个程序创建一个子进程,执行an_ch2_1b。这个程序不断地输出如下行: Those output come from child,[系统时间] 观察程序运行的结果,并对你看到的现象进行解释。 2. 在linux环境下编写一个控制台应用程序,程序中有一个共享的整型变量shared_var,初始值为0;创建一个线程并使其立即与主线程并发执行。新创建的线程与主线程均不断地循环,并输出shared_var 的值。主线程在循环中不断地对shared_var 进行加1操作,即每次循环shared_var 被加1;而新创建的线程则不断地对shared_var 进行减1 操作,即每次循环shared_var 被减1。观察程序运行的结果,并对你看到的现象进行解释。 3.提交源代码以及实验报告。

    0
    147
    188KB
    2023-11-13
    0
  • 操作系统实验报告,观察Linux的行为、SHELL编程

    实验一:观察Linux的行为、SHELL编程 1.实验目的 了解Linux proc文件系统; 加深对Linux系统的理解; 增强Linux系统管理知识。 熟悉linux常用命令,为以后的实验打下良好基础; 熟悉vi编辑器的使用; 了解Shell程序的语法规则,能编写简单的Shell程序。 2.实验内容 在Linux中,proc文件系统提供了一套在用户态检查内核状态和系统特征的机制。proc文件系统将进程的地址空间、系统的硬件信息、系统相关机制(中断、I/O)等内容全部设置为虚拟的Linux文件,为访问系统内核数据的操作提供接口。 (1) 以root登录系统,并进入/proc目录,键入ls命令,查看/proc下的内容,同时查看每个文件的读写权限。 (2) 根据/proc下的信息,回答:CPU的类型和型号、当前Linux版本、从启动到当前时刻所经过的时间、当前内存状态。 (3) 使用常用的Linux命令,主要包括如下命令: date, man, ls, cat, mv, grep, tail, head, cp, wc, pwd, who等;

    0
    307
    1.01MB
    2023-11-13
    0
上传资源赚积分or赚钱