内核中的操作系统三大功能是什么?()
A . 进程管理;
B . 内存管理;
C . 文件系统;
D . 中断管理;
(2)多选题linux系统调用,执行int 0x80后需要压入哪些信息?()
A . 用户ss;
B . 用户esp;
C . cs;
D . eip;
(3)单选题僵尸进程是由什么状态的进程调用do_exit()函数后所处的状态?()
A . Task_ZOMBIE;
B . TASK_RUNNING 正在运行;
C . TASK_RUNNING 就绪态;
D . Task_INTERRUPTIBLE;
(4)单选题进程父子关系是通过什么数据结构连接起来的?()
A . 单向链表;
B . 数组;
C . 双向链表;
D . 队列;
(5)单选题在linux源代码中进程控制块使用什么数据结构来表示()?
A . struct task_struct;
B . struct tcb;
C . struct pcb;
D . struct task;
(6)单选题linux系统调用system_call的SAVE_ALL对输入参数寄存器压栈,其中下列哪一个不是SAVE_ALL压栈的寄存器?()
A . %es;
B . %eax;
C . %ebp;
D . %esp;
(7)判断题父进程调用fork系统调用后,fork系统调用在父进程和子进程各返回一次。
(8)判断题下面的代码,只会有一个判断输出,要么是子进程,要么是父进程: #include <stdio.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char * argv[]) { int pid; /* fork another process */ pid = fork(); if (pid < 0) { /* error occurred */ fprintf(stderr,"Fork Failed!"); exit(-1); } else if (pid == 0) { /* child process */ printf("This is Child Process!\n"); } else { /* parent process */ printf("This is Parent Process!\n"); /* parent will wait for the child to complete*/ wait(NULL); printf("Child Complete!\n"); } }
(9)判断题linux系统中调用fork系统调用后,在子进程中fork的返回值为0。
获取标准答案请阅读全文