本次实验目的是完成一个简单的shell程序,解析命令行参数,理解并使用(fork,execve,waitpid)常见的多进程函数,了解linux进程组,以及前台进程和后台进程的相关概念,理解linux的信号机制(包括发送信号,接受信号,阻塞信号等)。实验提示以及详情请阅读CMU的实验指导:http: ...
分类:
移动开发 时间:
2018-10-07 15:34:39
阅读次数:
1824
进程通信的目的 数据传输 一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几M字节之间 共享数据 多个进程想要操作共享数据,一个进程对共享数据 通知事 一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。 资源共享 多个进程之间共享同样的 ...
分类:
系统相关 时间:
2018-10-06 16:36:59
阅读次数:
247
第1节 程序、进程、守护进程的区别 程序:c/php/java,代码文件,静态的,放在磁盘里的数据。 进程:正在内存中运行的程序,进程是动态的,会申请和使用系统资源,并与操作系统内核进行交互。 进程运行:系统把程序放在内存里执行。 守护进程:在内存持续保持运行着的程序。 第2节 多任务与CPU 第3 ...
分类:
系统相关 时间:
2018-09-30 20:41:41
阅读次数:
163
ps -eLf|grep -c pid top -H -p pid ...
分类:
系统相关 时间:
2018-09-17 19:46:41
阅读次数:
153
Linux进程的退出 linux下进程退出的方式 正常退出 从main函数返回return 调用exit 调用_exit 异常退出 调用abort 由信号终止 _exit, exit和_Exit的区别和联系 _exit是linux系统调用,关闭所有文件描述符,然后退出进程。 exit是c语言的库函数 ...
分类:
系统相关 时间:
2018-09-17 15:25:31
阅读次数:
281
execve系统调用 execve系统调用 我们前面提到了, fork, vfork等复制出来的进程是父进程的一个副本, 那么如何我们想加载新的程序, 可以通过execve来加载和启动新的程序。 x86架构下, 其实还实现了一个新的exec的系统调用叫做execveat(自linux 3.19后进入 ...
分类:
系统相关 时间:
2018-09-15 10:59:24
阅读次数:
252
内核线程 为什么需要内核线程 Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。 内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。 内核线程就是内核的分身,一个分身可以处理一件特定事情。内核线程的调度由内核负责,一个内核线程处于阻塞状态时不 ...
分类:
编程语言 时间:
2018-09-14 18:22:21
阅读次数:
181
概述 机器负载是否正常,经常需要监控的指标有如下4个: <1> cpu <2> memory <3> IO <4> network 关于cpu的监控 a. load average,cpu的负载 linux进程的状态分类可以粗略地分为 blocking process, runnable proce ...
分类:
其他好文 时间:
2018-09-08 20:03:48
阅读次数:
182
进程间通信的目的 1. 数据交换 2. 状态同步 3. 事件通知 4. 资源共享 5. 进程控制 一般来将进程之间的通信根据内容可以划分为两种,一种是传输控制信息,另一种是传输大量的数据。一般控制信息只有一个或几个字节,用来达到进程控制操作的高速执行(比如利用信号量实现进程同步);大量数据的传输一般 ...
分类:
系统相关 时间:
2018-09-04 16:58:20
阅读次数:
201
Linux内核通过一个被称为进程描述符的 结构体来管理进程,这个结构体包含了一个进程所需的所有信息。它定义在 文件中。 谈到 结构体,可以说她是linux内核源码中最复杂的一个结构体了,成员之多,占用内存之大。 进程状态 5个互斥状态 状态 | 描述 |: : TASK_RUNNING | 表示进程 ...
分类:
系统相关 时间:
2018-09-01 00:05:56
阅读次数:
287