首页 > 解决方案 > PintOS 用户程序不打印

问题描述

我正在尝试遵循本指南,即有关用户程序的部分。显然,我能够成功地将程序从 ubuntu 传递到 Pintos 文件系统,因为我可以通过运行看到该文件pintos -q ls

pintos -q ls 的输出

运行时:

pintos-mkdisk filesys.dsk --filesys-size=2
pintos -f -q
pintos -p ../../examples/echo -a echo -- -q
pintos -q run 'echo x'

我只得到这个,没有打印:

在 pintos 中运行 echo 程序

知道为什么看不到输出吗?我也尝试过使用“hellopintos”文件,它只是一个像这样的 hello world:

#include <stdio.h>
#include <syscall.h>

    void main(){
       printf("Hello pintos\n");

    }

标签: operating-systemkernelpintos

解决方案


问题是系统调用处理程序未在 userprog/syscall.c 上实现。在实现它并处理写入/打印案例后,问题得到解决。


推荐阅读