随笔分类 - Linux
摘要:主要从三个方面进行分析:1.事件处理模式2.并发模式一.事件处理模式1.Reactoor模式定义: 主线程只负责监听文件描述符上是否有事件发生,有的话立即将该事件通知工作线程,除此之外,主线程不做任何实质性的工作,读写数据,接受新的连接以及处理客户请求均在工作线程中完成样例: 使用同步IO模型epoll_wait为例实现Reactor模式的工作流程:1).主线程往epoll内核事件表中注册so...
阅读全文
摘要:/boot:这个目录是用来存放与系统启动相关的文件/root:root用户的家目录/bin:存放大部分的二进制的可执行文件,也就是大部分的linux命令。/tmp:这个文件目录一般是公共的,也就是说任何人任何用户登录该文件目录都可以对其操作(添加新目录.新文件.修改文件.删除文件等操作)。他是个临时存放数据的文件目录,因此有必要的时候,可对其施行T权限,增加该文件目录的安全性。/etc:它是用来存...
阅读全文
摘要:本文内容:1.进程通信的目的2.介绍Linux下进程间的4种通信方式:管道,消息队列,共享内存,信号量ps:套接字也可以用于进程间的通信,不过是不同物理机器上的进程通信,本章讨论是是同一台物理机器上的通信,套接字本章暂不讨论一.进程间通信的目的1)数据的传输2)数据的共享3)事件的通知4)资源的共享5)进程的控制二.进程间的通信方式1.管道概念:管道是一种两个进程间进行单向通信的机制,因为管道传递...
阅读全文
摘要:本文内容: 1.守护进程的定义 2.守护进程的作用 3.守护进程的创建过程 一.守护进程的定义 1.守护进程是脱离于终端并且在后台运行的进程 2.守护进程脱离终端是为了避免在执行过程中的信息在任何终端上显示,并且不被任何终端产生的终端信息所打断 3.守护进程通常在系统引导装入时启动 二.守护进程的作
阅读全文
摘要:本文内容:1.进程的结构2.程序转化为进程的过程3.进程的创建4.进程的结束背景知识:1.进程是计算机中处于运行的程序的实体2.进程是线程的容器3.程序本身只是指令,数据以及组织形式的描述,进程才是程序真正的运行实例4.多个进程可以与同一个程序关联,而每个进程则是以同步或者异步的方式独立运行一.Linux的进程结构Linux进程结构由三部分组成:代码段,数据段,堆栈段代码段:存放程序代码,如果多个...
阅读全文
摘要:本文内容:1.僵尸进程,孤儿进程的定义,区别,产生原因,处理方法2.wait函数,waitpid函数的分析,以及比较背景:由于子进程的结束和父进程的运行是一个异步的过程,即父进程永远无法预测子进程什么时候结,所以就产生了孤儿进程和僵尸进程定义:孤儿进程:即父进程退出后,它的一个或多个子进程还在运行,那么这些子进程叫做孤儿进程僵尸进程:如果子进程退出,但是父进程没有调用wait或waitpid获取子...
阅读全文
摘要:背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题? 通过多线程模拟多窗口售票为例: 分析:总票数只有20张,却卖出了23张,是非常明显的超买超卖问题,而造成这个问题的根本原因就是同时发生的各个线程都可以对ticket_sum进行读取和写入! ps: 1.在并发情况下,指令执行的先后顺序由
阅读全文
摘要:背景知识: 1.每次进程切换,都存在资源的保持和恢复动作,即上下文切换 2.进程的引入虽然可以解决多用户的问题,但是进程频繁切换的开销会严重影响系统性能 3.同一个进程内部有多个线程,这些线程共享的是同一个进程的所有资源 4.通过线程可以支持一份应用程序内部的并发,免去了进程频繁切换的开销 5.线程
阅读全文