2 csdn[-1]

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 7w+

进程线程复习 2019-7-27

1.Linux下进程1.1 Linux下进程1.性质1.每一个进程都有一个 PCB ,其是一个描述了进程所有详细信息的结构体,比如 pid 、 栈信息 等;2.程序是静态表现(占用物理磁盘空间);进程是该程序运行后的动态表现(占用物理内存空间,具有CPU使用权);2.进程的组成结构从高地址到低地址分别是: PCB(4G~3G) 、 环境变量/命令行参数(从3G开始) 、 栈 、 静...

2019-07-30 09:29:12

乐视奥比中光使用 2019-7-26

1.乐视奥比中光使用记录1.1 首先安装依赖项1 首先下载libuvc库,这个库是奥比中光使用rgb图像显示的依赖库git clone https://github.com/ktossell/libuvccd libuvcmkdir buildcd buildcmake ..make && sudo make install2 在https://orbbe...

2019-07-26 19:14:01

Linux高级 2019-6-2下午

1.网络基础1.1 广域网最大的广域网就是互联网;互联网在世界范围内使用,有统一的标准,是无数软硬件集合达成的结果1.2 万维网所有通过 www. 进行访问的 web 服务器都是万维网服务范畴,后台 web 服务,前台浏览器交互1.3 局域网通过特定技术手段完成小范围的互联,私密性较强,较为安全1.4 城域网相对于局域网,覆盖面更广,而且比局域网使用的软硬件更加多样...

2019-06-05 10:34:45

Linux高级 2019-6-2上午

1.进程回收问题1.1 信号回收父进程捕捉 SIGCHLD 信号,通过 wait 函数或者 waitpid 函数进行回收子进程1.2 信号回收可能产生的问题可能导致某些系统调用被强制中断中断发生的原因是由于我们需要从内核模式向用户模式进行转换,转换的过程中可能会出现转换未完成而信号已被强制回收的情况1.3 父进程回收僵尸进程的步骤1.kernel 向父进程发送一个 SIGC...

2019-06-05 10:34:21

Linux高级 2019-6-1下午

1.进程互斥锁1.1 与线程锁类型相同,也是 pthread_mutex_t 类型1.2 修改线程锁属性,将其更改为进程锁1.3 原子锁相关函数pthread_mutexattr_t : 原子锁属性类型pthread_mutexattr_inti(pthread_mutexattr_t*) : 初始化原子锁属性pthread_mutexattr_destroy(pthread_mut...

2019-06-05 10:33:54

Linux高级 2019-6-1上午

1.线程同步1.1 线程为什么需要同步多线程协同配合,完成指定任务,缩短完成时间1.2 多线程同步产生的问题多线程访问 共享资源/全局资源 造成数据访问冲突1.3 线程a与线程b同时对全局资源code进行自加操作,则无法确定code最后变为了几,可能是2、3、4#include <stdio.h>#include <stdlib.h>#include...

2019-06-05 10:33:17

Linux高级 2019-5-26上午

1.线程的三种退出方式1.1 普通线程的退出对于主控线程来说不受影响#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <pthread.h>#include <sys/types.h>#include <string.h>void...

2019-05-31 10:08:09

Linux高级 2019-5-25下午

1.线程1.1 什么是线程线程是最小的调度单位,线程就是寄存器和栈1.2 线程和进程的区别1.进程独占资源(如内存、I/O、cpu等),线程共享资源(如内存、I/O、cpu等);2.进程体积远远大于线程;3.进程之间的地址空间相互独立,同一进程的线程共享本进程的地址空间;4.每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中...

2019-05-31 10:07:15

Linux高级 2019-5-25上午

1.时序竞态问题1.1 上周的 mysleep 函数仍存在问题:当我们在定时器后面加上一行 sleep 函数时,pause函数将无法捕捉到SIGALRM信号,从而导致进程始终挂起1.2 时序竞态问题的起因因为资源的竞争导致信号被提前处理,进程无法得到通知或事件1.3 解决该问题1.只能通过原子操作1.定时的同时挂起进程2.先屏蔽信号,挂起的同时接触屏蔽2.原子操作函数:...

2019-05-31 10:06:45

Linux高级 2019-5-19下午

1.sigpending 函数1.1 该函数的功能是读取当前进程的未决信号集1.2 打印当前进程的未决信号集#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h>#include <sys/types.h>#include &l...

2019-05-31 10:05:36

Linux高级 2019-5-19上午

1.信号1.1 信号编号在 Linux 系统中,可以通过 kill -l 命令查看信号的编号;前31个信号是软件工程师所使用的,后33个是嵌入式工程师所使用的信号;1.2 常用的信号(有快捷键的信号)ctrl+c :触发 SIGINT 信号;ctrl+z :触发 SIGQUIT 信号;ctrl+\ :触发 SIGTSTP 信号;1.3 信号产生的方式1.终端组合按键产生...

2019-05-31 10:05:10

Linux高级 2019-5-18上午

1.孤儿进程1.1 产生原因父进程先于子进程终止,就会产生孤儿进程,在某些开发环境下(需要子进程自己申请空间),孤儿进程的危害远远大于僵尸进程,因为孤儿进程充满了不确定性。1.2 创建一个孤儿进程#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main(){ // 创...

2019-05-27 09:06:57

Linux高级 2019-5-12下午

1.mmap内存共享映射1.1 消息队列分为两种1.SYSTEMVPOSIX1.2 主要功能通过文件进行进程间通信1.3 文件是该技术的主要载体,利用对文件的映射与SYNC同步技术实现1.4 映射条件文件大小绝对不能为01.5 共享映射过程1.进程A申请映射内存,映射内存通过同步技术(SYNC)映射到映射文件中;则映射内存中的数据就会保存到映射文件中;2...

2019-05-27 09:06:03

Linux高级 2019-5-12上午

1.匿名管道1.1 匿名管道,用于进程间通信通过函数 pipe() 实现匿名管道;1.2 函数 pipe()函数形式: int pipe(int pipefd[2]);参数: 一个数组;1.3 调用 pipe() 函数后在内核空间创建一个内核缓冲区,这个缓冲区是进程共有的,为4096byte的环形队列1.4 进程打开一个文件,会与三个表发生关联:文件描述符表、文件表、索引节点...

2019-05-27 09:05:23

Linux高级 2019-5-11下午

1.并发1.1 并发的优点:使用多进程的并发程序,可以大大提高程序的执行效率,缩短任务完成的时间1.2 并发性概述:并发是指多进程共同完成指定任务可以比单进程获取CPU使用权的概率更大,及时得到更多的时间片,从而加快完成任务的速度1.3 串行的概念从任务的起始位置执行至末尾位置,有次序地执行。1.4 并行的概念依赖于硬件支持,有多少核心处理器就有多少并行数量,单核无法进行并...

2019-05-27 09:04:44

Linux高级 2019-5-11上午

1.wait函数与waitpid函数1.1 这两个函数的功能进程回收,对僵尸进程进行检测和回收1.2 僵尸进程产生的原因子进程先于父进程终止,父进程没有对子进程进行回收,就会产生僵尸进程1.3 在子进程回收时,内核会回收用户空间资源,同时系统对子进程的内核空间绝大多数资源进行回收释放,但是仍然会有 PCB 残留PCB 不回收会对系统造成影响,可能导致创建进程失败。1.4 ...

2019-05-27 09:04:04

Linux高级 2019-5-4下午

1.fork函数1.1 进程的创建1.fork 是一个 Linux API , Linux 或 unix 系统进程之间具有很强的亲缘关系(父子关系);2.调用 fork 的是父进程,创建的新进程称为子进程;3.调用 fork 能够创建一个新的进程;1.2 系统初始化进程 init(pid为0或1) 进行称为 根进程1.3 父进程创建子进程后,内核对子进程进行初始化(按照父进程对子进...

2019-05-27 09:03:32

Linux高级 2019-5-4上午

1.进程基础1.1 PCB进程控制块1.在 Linux 下,每一个进程都有一个 PCB ,其是一个描述了进程所有详细信息的结构体,比如 pid 、 栈信息 等;1.2 程序是静态表现(占用物理磁盘空间);进程是该程序运行后的动态表现(占用物理内存空间,具有CPU使用权)。1.3 进程的简单形态1.从高地址到低地址分别是: PCB(4G~3G) 、 环境变量/命令行参数(从3G开始)...

2019-05-27 09:03:01

Linux高级 2019-4-27下午

1.第三个版本的 makefile1.1 无依赖的功能目标1.由 目标名 和 执行语句 共同组成;2.执行的方法: make 目标名3.本次展示 install clean distclean output 目标;在 src 文件夹下的 makefile 中添加以下代码;install: sudo cp app /usr/binclean: rm *.o -r rm app...

2019-05-27 09:01:15

Linux高级 2019-4-27上午

1.Makefile项目管理工具1.1 是一种项目管理脚本语言1.优点1.便于编译管理代码;2.节省编译时间(生成.o文件的时间);3.复用性强;1.2 项目编译链接流程1.首先由多个 .c 文件生成对应的 .o 文件;2.其次根据 main.c 文件生成 _START 文件;3.由 _START 文件通过 ld链接器 链接库文件,生成 a.out 可执行文件;1...

2019-05-27 09:00:44

查看更多

勋章 我的勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。