本文档《当代操作系统实验》涵盖了现代操作系统的核心概念与实践操作,包括进程管理、内存分配及文件系统等内容,旨在通过实际案例和实验加深学生对理论知识的理解。
在Linux环境下编写一个应用程序,并将其命名为an_ch2_1b。这个程序会持续输出以下内容:Those output come from child, [系统时间]。
同时,创建另一个名为an_ch2_1a的应用程序。该程序将生成一个子进程来执行an_ch2_1b命令。此应用将持续显示如下信息:Those output come from child, [系统时间]。
观察并解释这个过程中的现象。
其次,在Linux环境中编写控制台应用程序,其中包含初始值为0的共享整型变量shared_var;创建一个新的线程使其与主线程并发执行,并且两个线程均不断循环输出shared_var 的数值。在每次迭代中,主线程将对shared_var进行加1操作,而新创建的线程则会减去该值。
最后,请实现一个名为“difftree”的命令,用于比较两个目录下的文件结构和信息内容。当执行 “difftree ” 命令时,它将检查目录 dir1 和 目录 dir2 是否具有相同的结构,并进一步对比相同名称的文件内容。
理发师问题描述如下:一个拥有 n 张椅子的等待室和一张工作椅的理发店;当没有顾客时,理发师会休息。第一个到达的顾客需要唤醒正在睡觉中的理发师。如果新来的顾客发现还有空位,则可以坐下等候服务;若无座位可坐则离开而不接受服务了。在处理完所有排队等候的服务后且未有新的客人到来的情况下,理发师又开始进入睡眠状态。
请实现上述描述的功能,并观察和解释程序运行时的现象。