操作系统实验一报告

操作系统实验一报告

Y.xj

一,系统调用实验

  • linux的中断向量号为0x80
  • getpid系统调用号为20
    操作系统实验一报告
    操作系统实验一报告操作系统实验一报告

二,并发实验

  • 该程序的作用是:每秒钟输出一次所输入的参数

  • 执行该命令cpu每秒运行4次,运行的顺序与输入顺序不同,为ACBD,因为当四个进程同时启动时,A先执行,然后BCD 同时等待,由cpu调度哪个进程先执行,可能会产生进程输出顺序的不同,之后的输出每隔一秒都按照第一次的顺序再来一遍

  • 如果只执行./cpu的话由于没有输入参数会报错
    操作系统实验一报告
    操作系统实验一报告

三,内存分配实验

  • 该程序的作用是输出进程号,然后每秒输出一个自增1的数

  • 两个程序同时执行,会出现两个进程,进程内存地址并不相同,不共享同一块物理内存,因为各进程相加互不干扰,都会按次序增加。
    操作系统实验一报告
    操作系统实验一报告

四,共享的问题

  • 本程序是创建了两个进程来同时执行循环操作,输出结果为循环两个循环共执行了多少次,当参数为1000时,共执行2000次,没有问题
  • 当参数越来越大时,所执行的次数少于参数的2倍,可能是共享的参数在中断保存恢复时出现了问题,导致没有恢复成功,使得两个程序对loop值增加的叠加,导致程序提前结束。

操作系统实验一报告

五,此实验代码github地址(https://github.com/Yxj-yxj/OS/tree/master/Lab1)