自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

HiMark

不会写诗歌的马克吐温

  • 博客(11)
  • 收藏
  • 关注

原创 客户端与服务端通信(Server&Client)的消息队列实现

消息队列 提供从一个进程向另一哥进程发送一块数据的方法 每个数据块都被认为有一个类型,接收者进程收到的数据块可以有不同类型值 消息队列的最大长度,总字节数,消息队列的数都有上限comm.h#pragma once#include<stdio.h>#include<sys/types.h>#include<sys/ipc.h&g...

2018-05-15 19:32:06 3425

原创 客户端与服务端通信(client&server)的管道实现

管道特点: 只能用于具有共同祖先的进程之间进行通信 管道提供流式服务 一般而言进程退出,管道释放 一般而言内核会对管道操作进行同步与互斥 管道是半双工,数据只能向一个方向流动,双方通信需建立两个管道服务端serverpipe.c#include<stdio.h>#include<sys/types.h>#include...

2018-05-15 16:59:31 2444

原创 封装fork/wait等操作编写一个process_create函数

利用回调函数封装fork wait execvp 等函数, 编写一个process_create函数#include<stdio.h>#include<stdlib.h>#include<unistd.h>int process_create(int(*func)(), const char *file, char *argv[]){ in...

2018-05-15 15:20:04 213

原创 自主myshell的编写

#include<stdio.h>#include<sys/wait.h>#include<unistd.h>#include<stdlib.h>#include<string.h>int main(){ //初始化数组 char buf[102

2018-05-15 13:32:27 252

原创 popen/system, 理解这两个函数和fork的区别.

popen system fork 执行流程 system:在执行期间调用进程会一直等待shell命令执行完成 popen:无须等待shell命令执行完成就返回 (并行执行) popen后需要调用pclose防止子进程变成”僵尸”状态。 fork :执行期间父进程等待子进程的退出码信号处理 system:对SIGCHLD、SIGIN...

2018-05-15 10:12:33 510

原创 进程状态及PCB(task_struct)的介绍

描述进程-PCB 进程信息被放在进程控制块(PCB)的数据结构中, 可以理解为进程属性的集合。组织进程 所有运行在系统里的进程以task_struct链表的形式存在内核里task_struct内容分类标识符:描述进程的唯一标识符,区别其他进程。 状态: 任务状态,退出码,退出信号等 优先级:相对于其他进程的优先级 程序计数器:程序中即将被执行的下一...

2018-05-15 09:21:58 996

原创 进程的调度算法

时间片轮转调度算法 给每个进程固定的执行时间,根据到达的先后顺序, 在单位时间片内执行,执行完成后调度下一个进程执行, 不考虑进程等待时间和执行时间,属于抢占式调度。优点:兼顾长短作业 缺点:平均等待时间较长,上下文切换费时。 适用于分时系统先来先服务调度算法 根据进程到达的先后顺序执行, ...

2018-05-15 09:07:00 320

原创 数据结构:【二叉树】高度,叶子结点个数,结点个数,等常规操作

求二叉树的高度 求二叉树叶子结点的个数 求二叉树结点的个数 求二叉树第K层节点的个数 判断一个节点是否在一棵二叉树中 获取一个节点的双亲节点 获取一个节点的左孩子节点 获取一个节点的右孩子节点二叉树高度(递归)int Bitreedeep(Bitree *tree){ if (tree == NULL) { //非法 ret...

2018-05-12 10:58:44 2070

原创 数据结构:【二叉树】 先序,中序,后序,层序,递归实现!

* 二叉树的基本操作*递归实现先序 中序 后序 层序遍历 二叉树特点 : 每个节点最多有两个子树,二叉树不存在度大于2的节点 二叉树的子树有左右之分,其子树的次序不能颠倒二叉树的存储 A 顺式存储优点: 存储完全二叉树,简单省空间。缺点: 存储一般二叉树尤其单支树,存储空间利用不高。 B 链式存储...

2018-05-12 09:26:34 364

原创 Linux入门 【孤儿进程】模拟实现

孤儿进程的产生,危害,及其模拟实现。孤儿进程 父进程先退出,子进程就称为孤儿进程 。 孤儿进程被1号init进程领养,当然由init进程回收。孤儿进程危害 每当出现一个孤儿进程的时候,内核就把孤 儿进程的父进程设置为init,而init进程会循环地wait()它的已经退出的子进程。因此孤儿进程并不会有什么危害。孤儿进程的模拟实现...

2018-05-02 17:29:50 296

原创 Linux入门【僵尸进程】的模拟实现

僵尸进程 当子进程退出,并且父进程没有读取到子进程的返回状态码,就会产生僵尸进程。 僵尸进程的产生原因 a. 子进程结束后向父进程发出SIGCHLD信号,父进程默认忽略了它 b. 父进程没有调用wait()或waitpid()函数来等待子进程的结束 c. 网络原因有时会引起僵尸进程;僵尸进程的危害 僵尸状态(Z)不退出则需要一种用数

2018-05-02 17:09:02 770

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除