
个人见解
老夫运维全靠一把梭
放飞梦想,放飞自我。
展开
-
初试博客(hello world!)
#include int main(){ printf("hello world!"); return 0;}今天第一次开博客,也是第一次在网上码代码,比较紧张,毕竟大牛很多,萌新瑟瑟发抖*——*原创 2017-07-10 20:36:46 · 363 阅读 · 0 评论 -
文件系统编程—系统调用与标准IO
首先需要明白的是,所有的操作系统都提供多种服务的入口点,程序由此向内核请求服务。这些可直接进入内核的入口点被称为系统调用。 在Linux中,为了更好地保护内核空间,程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数原创 2017-08-08 20:35:38 · 370 阅读 · 0 评论 -
进程控制1之初识进程
1.首先我们要区分进程与程序之间的区别。程序是可执行的文件,它就躺在我们的磁盘里;而进程则是运行的程序,进程的内存由一系列段组成(代码段,初始化数据段和为初始化数据段)。2.进程的状态(进程有三个状态) 执行状态:占用着cpu, 就绪状态:等待分配cpu, (阻塞)等待状态:不能占用cpu,若等待的事件发生则可将其唤醒。3.每一个进程都有一个id(为整数),每一个进程都有一个创建它的进程,叫父原创 2017-08-10 11:04:43 · 232 阅读 · 0 评论 -
进程控制2—进程编程
紧接着上一篇,我们来写写关于进程的编程。获取ID通过man getpid这个命令我们可以在Linux终端上获取到这个函数详细的讲解#include <sys/types.h>#include <unistd.h>//头文件//获取本进程IDpid_t getpid(void)//获取父进程IDpid_t getppid(void)下面通过一段代码来看看查找进程ID#include <stdio原创 2017-08-10 15:31:27 · 257 阅读 · 0 评论 -
进程控制3—父子进程の恩怨情仇
子进程比父进程先退出:僵尸进程 僵尸进程指的是那些虽然已经终止的进程,但仍然保留一些信息,等待其父进程为其收尸。 如何产生? 如果一个进程在其终止的时候,自己就回收所有分配给它的资源,系统就不会产生所谓的僵尸进程了僵尸进程产生的过程: 1. 父进程调用fork创建子进程后,子进程运行直至其终止,它立即从内存中移除,但进程描述符仍然保留在内存中(进程描述符占有极少的内存空间)。子进程的状态变原创 2017-08-10 17:12:21 · 438 阅读 · 0 评论 -
栈和队列的区别
首先,栈和队列都是线性表的重要家族成员,栈(stack)是一种只在表尾进行插入或删除的线性表,又称作后进先出(LIFO)的线性表;队列则相反,它是一种先进先出的线性表,即只允许一端进行插入,一端进行删除,有点类似超市里的排队。栈的一些基本代码思想: 基本操作: InitStack(&S) 操作结果:构造一个空栈S。 Destroy原创 2017-08-07 10:10:52 · 1877 阅读 · 0 评论 -
进程间通信1
管道通信 管道是单向、先进先出的,他把一个进程的输出和另一个进程的输入连在一起。两个程序之间传递数据的一种简单方法是使用popen和pclose。#include <stdio.h>FILE *popen(const char *command, const char *type);int pclose(FILE *stream);popen函数允许一个程序将另一个程序作为新进程来启动,并可以原创 2017-08-14 20:35:36 · 278 阅读 · 0 评论