Linux
文章平均质量分 71
MOMO_XU
这个作者很懒,什么都没留下…
展开
-
信号
1、信号:系统预先定于好的一些特定的时间,信号可以被产生,也可以被接收,产生和接收的主体是进程。 2、系统中的进程到底是什么? /usr/include/bits/signum.h 3、信号怎样接收? 在接收信号的进程PCB结构中,long signal;通过signal表示接收到的信号。 4、信号的响应方式: 默认原创 2017-09-26 12:20:15 · 206 阅读 · 0 评论 -
网络编程——UDP
先来简单说一下UDP协议的相关内容一、UDP协议1、UDP协议:UDP与TCP一样,都属于运输层协议,UDP为应用层提供不可靠、无连接的、基于数据报的服务。2、UDP报头3、UDP与TCP的比较TCP : 它是一种面向连接的,可靠的,流式服务。 UDP:它是一种无连接的,不可靠的,数据报服务原创 2017-11-30 00:30:05 · 294 阅读 · 0 评论 -
网络编程——TCP(1)
本篇博客将会实现TCP的编程流程,在实现TCP编程之前,先将TCP/IP的四层协议做以简单的介绍。一、TCP/IP四层协议TCP/IP的四层协议自底向上分别是数据链路层,网络层,运输层,应用层。很多人也有了解过OSI七层协议,同样的,自底向上分别是物理层,数据链路层,网络层,运输层,会话层,表示层,应用层。而我们主要来说一下TCP/IP四层协议。原创 2017-11-12 20:03:17 · 249 阅读 · 0 评论 -
线程同步 & 线程安全
1、线程同步 (1)同步: 多进程或者多线程访问临界资源时,必须进行同步控制。多进程或者多线程的执行并不完全是绝对的并行运行,有可能主线程需要等待函数线程的某些条件的发生。(2)多线程之间有几个特殊的临界资源: 全局数据、堆区数据、文件描述符 多线程之间共用(3)线程间同步控制方式:a. 信号量 获取: int sem_init(sem_t *sem, int shared , i原创 2017-10-30 19:56:48 · 355 阅读 · 0 评论 -
线程管理
1、线程的概念:线程是进程内部的一条执行序列(执行流),每个进程至少有一条执行序列:main的执行体。进程可以通过线程库创建 N 条线程,这些新创建的线程称之为函数线程, main 函数所代表的线程为主线程。2、线程与进程的区别:(1)进程是资源分配的最小单位,线程是 CPU 调度的最小单位 (2)线程是轻量级的进程 (3)管理方式不同,进程是 PCB 管理,线程是由线程结构管理。3、线程实现的原创 2017-10-28 01:10:55 · 292 阅读 · 0 评论 -
信号量函数的实现
直接上代码吧,非原创,我自己写的四个函数实现的代码和这个没什么区别,就是编译运行有问题,准备今晚找大佬解决,先把这个放这里怕自己忘了,这个源代码在linux程序设计第四版493-495页。#include <stdio.h>#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h原创 2017-10-24 14:36:51 · 257 阅读 · 0 评论 -
进程间通信——共享内存
1、共享内存允许两个或多个进程共享一个给定的存储区。多进程间对一给定的存储区的同步访问。信号量实现共享存储访问的同步。2、共享内存的操作(1)创建int shmget(key_t key,size_t size,int flag);该函数与信号量semget函数相同。 size: 字节为单位指定需要共享的内存容量。 flag: 包含9个比特的权限标志,flag与原创 2017-10-24 00:28:53 · 260 阅读 · 0 评论 -
进程间通信——消息队列
1、什么是消息队列?消息队列是消息的链接表,存放在内核中并由消息队列标识符标识。 消息队列可让不相关的进程进行通信。2、消息队列操作(1)打开/创建 int msgget((key_t) key,int flag);flag: 权限标志,标示消息队列的访问权限。flag与IPC_CREAT做按位或操作,表示当key所命名的消息队列不存在时创建一个消息队列;若存在,IPC_CREAT被忽略。(2原创 2017-10-23 22:00:19 · 194 阅读 · 0 评论 -
进程间通信——无名管道&信号量
一、无名管道1、相对于有名管道而言,无名管道是在使用时产生的,不使用后就会被释放,因此不会在系统上留下任何痕迹。2、无名管道在使用前没有任何的标示,所以无名管道只应用于父子进程之间。子进程会复制父进程的文件表数组(浅拷贝)。3、无名管道的操作 创建/打开:int pipe(int fd(2));//fd[0]是读,fd[1]是写。 读:read(fd[0],buff,size); 写:wri原创 2017-10-21 00:24:25 · 337 阅读 · 0 评论 -
进程间通信——有名管道(FIFO)
陌陌课堂开课了,陌陌讲给MOMO_XU听,万一以后忘了,还有这篇博客。1、何谓进程间通信? 多个进程之间数据相互交换称为进程间通讯(通信)。2、进程间通信的方式都有哪些?(1)信号 (2)管道 (3)信号量 (4)消息队列 (5)共享存储(共享内存) (6)套接字3、管道管道分为两种: (1)半双工通信:半双工通信是指通信双方都能收发消息,但不能同时进行收和发原创 2017-10-19 02:51:45 · 483 阅读 · 0 评论 -
网络编程——TCP(2)
本篇博客主要讲述 TCP的三次握手和四次挥手的过程以及TCP报头。原创 2017-11-30 20:33:24 · 186 阅读 · 0 评论