自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

leap的博客

Talk is cheap,show me the code!

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

原创 Linux守护进程

首先,我们在Linux的shell下面运行一条指令ps -ajx,其中 ps是查看当前系统进程状态的指令,-a显示由其它用户所拥有的进程的状态,-x显示没有控制终端的进程的状态,-j显示与作业相关的信息。我们在图中看到,图中所列举的这些都是与控制终端无关的进程,在Linux中我们称这些进程为守护进程,也叫做精灵进程,今天我们就来谈一谈Linux下面的守护进程把。什么是守护进程?守护进程也被称为精灵进

2017-02-26 17:00:16 811

原创 Linux作业控制

前面我们学习了进程,线程,信号等相关内容,今天我们要引入一个新的概念——作业,那么什么是作业呢?当我们在Linux的shell中运行程序时,这个程序就可以看成是一个作业了,可以这么说shell控制的是作业,而不是进程,而且shell还可以分前后台对作业进行控制,所以,今天我们就来谈一谈Linux下面的作业控制。什么是进程组要弄明白作业这个概念,首先我们必须要了解进程组,那么什么是进程组呢? 熟

2017-02-25 20:24:03 2259

原创 Linux信号处理

大家应该都了解当我们在Linux下面运行程序时,如果程序跑飞了,那我们可以通过Ctrl-C来终止掉跑飞的程序,其实,当我们按下Ctrl-C时,涉及到了信号的相关处理工作,所以,今天我们就来谈一谈Ctrl-C被后的信号处理吧。什么是信号信号其实是一种软件中断,它为程序提供了一种处理异步事件的方法,所谓的异步事件就是事件的发生在任何事件都有可能,很多重要的程序都需要对信号进行处理。在Linux中一共有多

2017-02-24 14:01:48 2028

原创 例说读者写者模型

前面我们学习了生产者和消费者模型,想了解一下的可以去看看这篇客: http://blog.csdn.net/bit_clearoff/article/details/55805884什么是读者写者模型读者和写者模型是操作系统中的一种同步与互斥机制,它与消费者和生产者模型类似,但也有不同的地方,最明显的一个特点是在读者写者模型中,多个多者之间可以共享“仓库”,读者与读者之间采用了并行机制;而在消费者

2017-02-20 16:22:08 2854

原创 例说生产者和消费者模型

什么是生产者和消费者模型什么是生产者消费者模型?生产者和消费是操作系统中一种重要的模型,它描述的是一种等待和通知的机制,如下图。 生产者和消费者模型必须具有的条件用一句话概括,生产者消费者模型必须具有的条件是三种关系,两类角色,一类交易场所。 一类交易场所:交易场所指的是生产者和消费者之间进行数据交换的仓库,这块仓库相当于一个缓冲区,生产者负责把数据放入到缓冲区中,消费者负责把缓冲区中的数据

2017-02-19 17:14:29 6655 3

原创 Linux下的线程控制

首先大家可以看看这篇文章,这篇文章对进程和线程的关系做了生动的讲解: http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html什么是进程前面我们学习了进程的相关知识,现在我们先来做以下回顾。 进程:进程是指在系统中能够独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成,并且每一个进程都有一个进程控制

2017-02-18 17:55:56 1399

原创 动态链接和静态链接

什么是库库从本质上来说是一种可执行的二进制文件,可以被加载到内存中运行,而根据链接时期的不同,库又可以分为静态库和动态库。链接链接就是将不同部分的代码和数据收集和组合成一个单一文件的过程,也就是把不同目标文件合并成最终可执行文件的过程,注意:这个过程不涉及内存,链接按时期的不同可以分为三种形式,分别是: 1. 编译时链接:这个其实就是我们常说的静态链接过程; 2. 装载时链接; 3. 运

2017-02-18 15:05:16 1241

原创 Linux 进程通信IPC对象之信号量

什么是信号量信号量与其他IPC对象不同,它是一个计数器,用于多个进程对共享数据对象的访问,它的本质是一种数据操作锁,它不像消息队列和管道那样具有数据交换的功能,而是通过控制其他的通信资源(文件,外部设备)来实现进程间通信。如何通过信号量来控制进程间通信为了获得共享资源,进程需要执行下列操作: (1)、测试控制该资源的信号量; (2)、若此信号量为正,则进程可以使用该资源,在这种情况下进程会将信号

2017-02-16 16:59:28 1251

原创 Linux进程通信(一)——pipe管道

本章内容采用pipe管道如何进行进程之间的通信pipe管道进程通信的规则和限制Linux中pipe管道的实现机制和管理pipe管道的结构体什么是进程通信进程通信就是两个进程之间进行数据交换,在Linux中有好几种可以进行进程通信的方式,在这篇文章中我们主要介绍最基本的进程通信方式——pipe管道。进程通信的途径进程之间交换信息的唯一途径就是传送打开的文件。管道(pipe)管道是一种最古老也是

2017-02-14 20:30:29 12632 2

原创 浅析shell的工作原理

本章我们的内容将会介绍Linux中的命令解释器shell的工作原理我们还会编写一个简单的shell什么是shell?Linux系统的shell相当于操作系统的“一层外壳”,它是命令语言解释器,它为用户提供了使用操作系统的接口,它不属于内核,而是在内核之外以用户态方式运行。它的基本功能是解释并执行用户打入的各种命令,实现用户与Linux内核的接口。 在启动Linux系统后,内核会为每个终端用

2017-02-13 22:33:51 6581

原创 进程管理之程序替换

exec函数族在Linux中,exec是一个函数族,它一共有6个函数,如下: #include <unistd.h> int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const ch

2017-02-13 18:43:47 1154

原创 C++对象模型和多态

什么是多态?多态是C++三大特性之一,它可以简单的概括为“一个接口,多种方法”,程序在运行时才能通过基类指针指向的对象的类型来决定调用那个函数,今天我们就要谈谈多态的底层的实现。虚函数C++多态是通过虚函数来实现的,所谓的虚函数,就是在类的成员函数返回值类型前面加上virtual关键字来定义的,在C++中允许派生类对基类的虚函数进行重写,一旦派生类对基类的虚函数进行重写,那么在派生类中,基类的虚函数

2017-02-10 16:07:26 654

原创 C语言结构体的内存对齐

什么是结构体?学过C语言的大家应该都学到过结构体,结构体是一种聚合数据类型,它可以把不同类型的数据存储在一起,我们把结构体中存储的数据叫做结构体成员。结构体的内存对齐了解了结构体后,我们来谈一谈结构体在计算机系统中是如何存储的,首先,我们来看看下面这段代码:struct A{ char a; int b; char c;};int main(){ struct

2017-02-02 15:30:15 579

空空如也

空空如也

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

TA关注的人

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