![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux
马竞名宿托雷斯
努力吸取营养
展开
-
Linux---进程间通信方式
进程间通信时什么?在Linux下每一个进程都拥有自己的虚拟的值空间, 因此进程与进程之间都是相互独立的, 所以当两个进程之间想要进行数据交互的时候, 他们自身是没有办法完成的, 所以操作系统为进程之间提供了进程间的通信方式, 也就是为进程之间提供了一个公共的媒介.进程间通信所完成的任务进程间数据传输数据共享进程控制事件通知进程间通信方式管道(命名管道/匿名管道)管道在...原创 2019-10-24 20:39:05 · 92 阅读 · 0 评论 -
Linux---线程池
**线程池是一个线程的使用模式, 当线程创建过多的时候,会带来调度开销, 而当处理短时时间任务比较多的时候, 者中调度开销,可能会影响程序执行的性能, 而线程池维护着多个线程, 它等待着用户向他分配并发可执行任务,当没有任务到来的时候, 线程池中的线程不会退出,而是进行等待, 并且线程池中也包含一个任务队列, 用户只需要将处理的任务放在任务队列中, 而线程会自己去想任务队列中拿去任务进行处理 **...原创 2019-10-18 18:52:19 · 156 阅读 · 0 评论 -
Linux---进程间信号
信号的概念信号就是一个中断 : 它通知一个事件的发生(打断当前的操作(选择合适的时机),去处理信号)而进程的信号就是一个软件(应用程序)的中断信号的种类在Linux下,使用 kill -l 命令查看信号的种类一共有62种信号1~31号信号是Linux继承Unix而来的31种事件信号,当系统发生对应的时间的时候,就会发送对应的信号34~64号信号是没有指定具体事件的,当我们用户需要...原创 2019-10-15 11:17:44 · 106 阅读 · 0 评论 -
Linux---五种IO模型
概念说明用户空间与内核空间同步与异步进程的阻塞阻塞与非阻塞缓存IO1. 用户空间与内核空间对于32位操作系统而言,它的寻址空间(虚拟地址空间)为4G,操作系统的核心是内核, 他独立于其他的应用程序, 既可以访内存空间,也可以访问外部的硬盘, 为了保证内核的安全, 使用户进程不能直接访问内核对于Linux操作系统而言, 将寻址空间的高1G个字节置为内核空间, 将低3G字节的空间置为...原创 2019-10-10 22:38:52 · 103 阅读 · 0 评论 -
Linux---TCP/IP协议栈中网络层与链路层--实现与特性
网络层作用 : 负责地质管理与路由选择在网络通信中, 通信的两端称为主机, 而在两个主机之间会存在着许许多多的有路由器组成的复杂网络. 每一个主机都配有IP地址, 而主机与主机之间的协议主要就是IP协议IP协议字段4位版本 : 指定当前的协议是哪一个版本, 有创建socket是所传的地址域决定.4位首部长度 : 标志了IP协议的头部长度8位TOS服务类型 : 3位弃用,一位保留, 四...原创 2019-10-04 16:05:39 · 458 阅读 · 0 评论 -
Linux---线程安全中的死锁问题以及其他锁的探究
死锁的产生是由于 : 多个线程对多个锁资源进行争抢, 但是因为推进顺序不当而造成了互相等待, 使程序流程无法继续向下进行死锁的四个必要条件互斥条件 : 一个资源只能被一个执行流使用不可剥夺条件 : 一个执行流已经获得的资源, 在没有使用完之前, 不能被强行剥夺走请求与保持条件 : 一个执行流因请求资源而陷入阻塞的时候, 对已将获得的资源保持不放环路等待条件 : 若干个执行流之间形成一...原创 2019-09-26 18:35:59 · 96 阅读 · 0 评论 -
Linux---消费者与生产者模型
什么是消费者与生产者模型消费者与生产者模型是通过一个容器来解决两者的前耦合问题 , 生产者生产出一个产品之后,将其放到这个容器中, 消费者消费的时候在从容器中拿到这个产品, 这个容器就相当于一个缓冲区.总结来说就是:一个场所,两个角色,三种关系生产者与生产者之间是互斥关系消费者与消费者之间是同步关系生产者与消费者之间是同步与互斥的关系消费者与生产者模型的优点在于解耦合,支持并发,...原创 2019-09-24 10:51:31 · 111 阅读 · 0 评论 -
Linux---TCP/IP协议栈中应用层与传输层常见协议--实现与特性
1. 应用层应用层主要用于负责应用程序之间的数据沟通应用层的协议一般有用户自己制定, 但也不缺乏一些有大佬制定出来,被人们广泛认可的知名协议私有协议—网络版计算器假如要实现一个网络版计算器客户端 : 将两个数字和一个运算符号传给服务端服务端 : 服务端对接受到的数据进行解析,运算,之后将运算的结果返回给客户端假设有约定 : 我们将两个数字与一个运算符用一个结构体保存起来,发送数据时将...原创 2019-09-24 10:23:15 · 1257 阅读 · 0 评论 -
Linux---TCP套接字编程
三次握手协议基于TCP协议的网络编程的特点是 : 面向连接, 可靠传输, 提供字节流服务, 由于TCP协议的特性, 因此哎客户端与服务端进行数据通信时, 需要两端先建立连接建立连接时 , 首先由客户端向服务端发起建立连接的请求, 确定服务端是否在线, 服务端在线的话就会对客户端做出回复, 但是为了避免客户端发起请求后进下线, 因此服务端在进行回复的信息中也会加上向客户端的请求,确定客户端是否能...原创 2019-09-21 13:46:01 · 177 阅读 · 0 评论 -
Linux---UDP套接字编程
UDP与TCP网络通信网络通信在传输层进行的,他实现了两台主机之间通过网络从而达到了通信. 在传输层的典型协议有两个,UDP与TCP, 他们各自拥有各自的特点UDPUDP称为用户数据报协议, 他的特点是 : 无连接, 不可靠, 面向数据报. 意为用户在利用UDP协议进行通信的时候, 不关心对端用户是否在线, 直接发送数据, 同时对数据的安全性能要求没有TCP协议那样的高, 但他要求实时性高...原创 2019-09-16 09:45:40 · 203 阅读 · 0 评论 -
Linux---网络基础
网络的发展在计算机刚出现的时代 , 每一台计算机相对于其他的计算机都是独立的 , 也就是他们只能处理单机的任务 , 但是在许多大项目或者大工程的实现的时候, 往往需要多人协同完成开发 , 每一个人实现项目的一部分 , 在通过磁盘拷贝将一台计算机上的程序与另一台计算机上的程序结合起来 . 但这种方式是十分的不科学的, 因此就有了路由器的诞生 , 一个路由器可以连接多台主机 , 这些主机通过路由器...原创 2019-09-12 19:28:40 · 121 阅读 · 0 评论 -
Linux---线程安全
线程安全就是多个线程对临界资源进行访问, 是数据产生二义性临界资源 : 多个执行流都能够访问的资源称为临界资源 , 多个执行流会对这个资源进行竞争实现线程安全的方式为同步与互斥互斥互斥的意为线程对临界资源的访问为同一时间只有一个线程可以进行访问...原创 2019-09-04 18:57:11 · 155 阅读 · 0 评论 -
Linux---线程控制
操作系统没有直接给用户提供线程的系统调用函数 , 所有就要大佬将一套线程控制接口封装成了库函数共用户使用所以创建的线程是一个用户态的线程, 但是在内核中对应有一个轻量级进程实现程序的调度运行线程创建int pthread_create(pthread_t *thread, const pthread_attr_t *attr void *(*sta...原创 2019-08-30 18:49:29 · 95 阅读 · 0 评论 -
Linux---线程概念
在Linux下 , 操作系统是通过PCB来模拟线程的.因为CPU是通过操控PCB来操作进程的 , 每一个进程都有一个属于自己的虚拟地址空间, 并且通过页表对应到内存上如下图中, 一个程序有四个函数 , 此时要创建4个进程分别去执行四个函数的话, 需要创建四个虚拟地址空间 , 通过页表的映射 , 找到四个函数分别内存上的地址,来执行四个函数当我们要让进程执行不同的函数时, 因为创建一个进程时...原创 2019-08-30 18:06:15 · 107 阅读 · 0 评论 -
Linux---基础命令
Linux是一款依靠输入指令进行操作的操作系统, 它的常用的命令包含了对目录操作的命令,对文件操作的命令, 以及一些其他的命令等等目录相关命令ls :列出当目录下的文件列表信息ls -a : 显示隐藏的文件, 在Linux下,以符号点( . )为开头的文件是隐藏文件, 默认不显示ls -l : 显示文件的详细信息, 相信信息包含 :类型权限 连接数 文件所属的用户名 用户...原创 2019-08-29 18:55:04 · 340 阅读 · 0 评论 -
Linux----进程概念
**程序:**程序指的是一系列有逻辑, 有顺序结构的指令.**进程:**进程从两个角度来说:1 用户角度: 进程从用户角度来说就是运行中的程序2 操作系统的角度: 进程是操作系统对运行中程序的描述信息, 叫做...原创 2019-05-04 20:30:02 · 190 阅读 · 0 评论