systems-programming

    1热度

    2回答

    最初检查ARGV [0]是否是文件或目录时,它工作正常,结果准确。然后进一步下到子文件我再试一次,它不会返回任何东西。这可能看起来像一个小小的愚蠢问题,但我是一名学生,并且在周末编程的帮助很少。有时一套新的眼睛可以帮助。提前感谢。 #!/usr/bin/perl -w my %hash; my $args = @ARGV; my $dh = $ARGV[0]; if (-f $dh)

    0热度

    1回答

    让我首先说这是为了学校,但我真的不需要帮助,我只是因为我得到的一些结果而感到困惑。 我有一个简单的程序,使用辛普森的规则逼近pi,在一个任务中,我们必须通过产生4个子进程来完成此任务,现在在这个任务中我们必须使用4个内核级线程。我已经这样做了,但是当我计划使用子进程的时候,运行速度似乎更快(我得到的印象我应该会看到相反的结果)。 下面是使用并行线程的程序: #include <stdio.h>

    0热度

    1回答

    有人可以告诉我,如果我这样做的权利? typedef struct { int *stk; int *sp; } StackType; 我应该定义一个StackType

    0热度

    1回答

    这是我为代码的评估函数,这是主要的调用。 void eval(char *cmdline) { char *argv[MAXARGS]; /* argv for execve() */ int bg; /* should the job run in bg or fg? */ pid_t pid; /* process id */ bg = parseline(cmdline

    0热度

    2回答

    我有一个主要从命令行参数运行程序。命令行程序分叉并在子进程中运行。当SIGINT发送时,我想抓住它并要求用户确认他/她想要退出。如果是的话,父母和孩子都结束,否则孩子会继续跑步。 我的问题是,我不能让孩子开始跑回来,当用户说不。 我试过SIGSTOP & SIGCONT,但这些实际上只是导致进程停止。 #include <stdio.h> #include <stdlib.h> #includ

    4热度

    1回答

    在系统软件的过程中,我有这个学期,我们都被教导汇编器和其他系统软件。虽然整个过程中读书,我碰到的文字的话题。 有文字和立即操作数之间的比较,所述它们之间的唯一区别是,文字未组装作为指令的一个部分,而立即操作数是。 我们为什么一定要用文字,如果我们可以用立即数?这是什么使他们不同?换句话说,何时使用文字以及何时使用立即操作数?

    -1热度

    2回答

    我有一个关于如何进行实际系统调用的问题。我知道系统调用的魔力(如读取等)在C库中完成,但不明白确切的机制。我的主要问题是 c库例程在用户地址空间;那么它怎么能得到中断服务例程的地址。中断服务程序是否在物理内存中预定义(在启动时)? 即使以某种方式调用了ISR例程,地址空间如何改变?我的意思是在我们开始执行ISR之前,'页表基址寄存器'如何改变为指向内核的页表。如果'C'例程执行它,那么它如何知道内

    0热度

    1回答

    在C,我试图连接到使用以下功能的服务器: int clientConnect() { //1. Set up connection address and port char *ipAddress = SMSA_DEFAULT_IP; int port = SMSA_DEFAULT_PORT; //1a. Set up a sockaddr_in struct as described

    0热度

    1回答

    我可以创建proc文件。我想用proc读取函数来学习图形卡信息。我该如何做? 我不是故意在终端学习这些信息(通过编写lspci vs)。 你知道哪个文件将图形卡信息存储在/ proc目录中的路径吗? #include <linux/init.h> #include <linux/module.h> #include <linux/proc_fs.h> // read proc functi

    1热度

    1回答

    什么行为定义了一个写得很好的Linux守护进程?我读了关于双叉,关闭标准文件描述符等,但我想知道是否有人在写这些东西的经验可以让我低下来。