操作系统实验一报告
操作系统实验一报告
Y.xj
一,系统调用实验
- linux的中断向量号为0x80
- getpid系统调用号为20
二,并发实验
-
该程序的作用是:每秒钟输出一次所输入的参数
-
执行该命令cpu每秒运行4次,运行的顺序与输入顺序不同,为ACBD,因为当四个进程同时启动时,A先执行,然后BCD 同时等待,由cpu调度哪个进程先执行,可能会产生进程输出顺序的不同,之后的输出每隔一秒都按照第一次的顺序再来一遍
-
如果只执行./cpu的话由于没有输入参数会报错
三,内存分配实验
-
该程序的作用是输出进程号,然后每秒输出一个自增1的数
-
两个程序同时执行,会出现两个进程,进程内存地址并不相同,不共享同一块物理内存,因为各进程相加互不干扰,都会按次序增加。
四,共享的问题
- 本程序是创建了两个进程来同时执行循环操作,输出结果为循环两个循环共执行了多少次,当参数为1000时,共执行2000次,没有问题
- 当参数越来越大时,所执行的次数少于参数的2倍,可能是共享的参数在中断保存恢复时出现了问题,导致没有恢复成功,使得两个程序对loop值增加的叠加,导致程序提前结束。