linux嵌入式求答案

linux嵌入式求答案,第1张

第一题

*** 作系统控制和管理计算机系统内各种软件和硬件资源、合理有

效地组织计算机系统的工作,为用户提供一个使用方便可扩展的工作环境,从而起到

连接计算机

第二题

内核提供最基本最核心的 *** 作:

进程管理(process management)、定时器(timer)、中断管理(interrupt management)、内存管理(memory management)、模块管理(module management)、虚拟文件系统接口(VFS layer)、文件系统(file system)、设备驱动程序(device driver)、进程间通信(inter-process communication)、网络管理(network management)、系统启动(system init)等 *** 作系统功能的实现。

当核外系统需要内核协助时,通过一套接口对内核发出调用请求

内核特点是 *** 作系统具有良好的灵活性,是 *** 作系统内部结构简单清晰,程序代码维护非常方便,但是他与外部程序之间难以进行良好优化

第三题

。。。。。

楼主悬赏分太低了吧 咱们是同学,采纳我

*** 作系统的某些代码可以简化。例如,一个调度器可以同等地对待进程和线程,在调度时不需要特别的代码来区分进程与线程。

这个是对的

LINUX在进程和线程都是通过task结构体来定义的。

只是不同进程使用的是不同的进程空间,而同一个进程的不同线程 使用的是相同的进程空间

#include <stdio.h>

#include <sys/types.h>

#include <unistd.h>

#include <signal.h>

#include <ctype.h>

/* 允许建立的子进程个数最大值 */

#define MAX_CHILD_NUMBER 10

/* 子进程睡眠时间 */

#define SLEEP_INTERVAL 2

int proc_number=0/* 子进程的自编号,从0开始 */

void do_something()

main(int argc, char* argv[])

{

/* 子进程个数 */

int child_proc_number = MAX_CHILD_NUMBER

int i, ch

pid_t child_pid

pid_t pid[10]={0}/* 存放每个子进程的id */

if (argc >1) /* 命令行参数第一个参数表示子进程个数*/

{

child_proc_number = atoi(argv[1])

child_proc_number= (child_proc_number >10) ? 10 :

child_proc_number

}

for (i=0i<child_proc_numberi++) {

child_pid = fork()

proc_number = i

do_something()

pid[i]=child_pid

}

/* 让用户选择杀死进程,数字表示杀死该进程,q退出 */

while ((ch = getchar()) != 'q') {

if (isdigit(ch)) {

kill(pid[ch-'0'],SIGTERM)

}

}

/* 在这里填写代码,杀死本组的所有进程 */

kill(0,SIGKILL)

return

}

void do_something() {

for() {

printf("This is process No.%d and its pid is %d\n",

proc_number, getpid())

sleep(SLEEP_INTERVAL)/* 主动阻塞两秒钟 */}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/9021566.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-24
下一篇 2023-04-24

发表评论

登录后才能评论

评论列表(0条)

保存