
Linux系统和应用
Linux系统和应用学习篇
初见未晚
博学而约取,厚积而薄发。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux中POSIX IPC(二)和线程同步(1)-学习笔记(十)
1、线程为什么要同步? 共享数据可能会重复,线程间有很多共享资源,都对一个共享数据进行读写操作,可能会冲突。 //程序1 线程间共享资源访问冲突 #include <stdio.h> #include <unistd.h> #include <pthread.h> #include <stdlib.h> int counter;//定义全局变...原创 2019-08-18 12:42:49 · 169 阅读 · 0 评论 -
Linux中POSIX 多线程技术-学习笔记(九)
1、概念:线程是一个进程内部的控制序列,是轻量级进程。也有PCB,创建线程使用的底层函数和进程一样,都是克隆。 2、线程与进程关系 (1)进程有自己的PCB空间及自己独立的共享地址空间;线程有自己的PCB空间但无自己独立的共享地址空间 (2)CPU执行时以线程为最小执行单位。进程是最小的分配资源的单位。 (3)可以把进程看成一个只有一个线程的进程。程序可看成一个主线程(进程) 3、线程:用于执行...原创 2019-08-18 01:34:41 · 265 阅读 · 0 评论 -
Linux中网络基础和SOCKET-学习笔记(八)
1、协议概念 指定规则:先传输文件名,再传输文件大小,最后传输数据。如ftp协议,传输固定数据,遵守一定的格式。 标准协议:如http、tcp/ip,arp等。 2、网络设计模式 c/s架构:client/server 特点:要求开发客户端和服务端,协议采用自定义方式;必须先下载客户端,数据提前缓存好。 不足:安全性不高;开发工作量大 b/s架构:web...原创 2019-08-17 20:05:38 · 214 阅读 · 0 评论 -
Linux中进程间通信(POSIX IPC)-学习笔记(七)
一、内存共享映射 1、mmap (1)将磁盘文件的一部分直接映射到内存 (2)映射机制 share:内存修改,磁盘跟着修改,磁盘修改内存跟着修改 private:内存当中的数据发生变化,不影响磁盘空间 2、munmap -->解除映射 3、mmap函数 (1)参数1:内存的地址位于哪个位置 1)设置多少合适 1)null,系统会帮找一块内存空间 (2)参数2...原创 2019-08-15 01:02:11 · 542 阅读 · 0 评论 -
Linux中信号-学习笔记(五)
一、概念: 信号是UNIX系统响应某些状况而产生的事件,进程在接收到信号时会采取相应的行动。 信号是因为某些错误条件而产生的,比如内存段冲突、浮点处理器错误或者非法指令等。 1、分类:分为软中断和硬中断产生的信号,其中软中断实际为借助硬件手段完成。 2、特点 1)简单;2)不能携带大量信息;3)满足某个条件才发送。 3、特质 由于信号通过软件方法实现,具有很强延时性对用户来讲,时间...原创 2019-08-13 18:26:20 · 623 阅读 · 0 评论 -
Linux中进程管理(二)-学习笔记(四)
1、僵尸进程和孤儿进程 僵尸进程: 当子进程退出时,父进程没有收回子进程资源(PCB),则子进程变为僵尸进程。 孤儿进程: 当父进程先于子进程结束,则子进程变为孤儿进程,子进程的父进程成为1号进程init进程,称为init进程,领养孤儿进程。 //程序1 清理僵尸进程(回收子进程) #include <stdio.h> #include <fcntl.h> #inc...原创 2019-08-13 18:25:58 · 208 阅读 · 0 评论 -
Linux中设备与文件IO-学习笔记(二)
1、设备或文件操作两种方式: 1)用户编程接口 API 2)系统调用 2、文件描述符fd 1)每个进程PCB结构中有文件描述符指针,指向files_struct的文件描述符表,记录每个进程打开的文件列表 2)系统内核不允许应用程序访问进程的文件描述符表,只返回这些结构的索引即文件描述符ID(File Description)给应用程序 3)Linux系统中,应用程序通过这些文件描述符...原创 2019-08-13 18:24:17 · 444 阅读 · 0 评论 -
FFmpeg基础编程-学习笔记(十二)
首语:学习三步:是什么?怎么用?为什么? 一、概念 1、FFmpeg: (1)FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 (2)FFmpeg是领先的多媒体框架,提供音视频的编解码播放等功能,支持几乎所有音视频格式。含有多个模块库,如AVFormate,AVCodec,AVFilter,AVDivic...原创 2019-09-13 15:37:02 · 506 阅读 · 0 评论 -
Linux中管道-学习笔记(六)
1、匿名管道 (1)确定通信方向: 1)父写子读,关闭父读,关闭子写 2)子写父读,关闭子读,关闭父写 (2)好处:确定,经典 (3)注意事项: 1)写端关闭,读端仍然在读,则读完管道中的内容后再次读时,读到EOF,返回0。 2)写端未写完数据,写端暂无数据但未关闭,则读端将数据读完,再次去读时,发生阻塞。 3)读端关闭,写端写数据到管道,进程产生SIGPIPE信号,默认写进程会终止进程 4...原创 2019-08-13 21:57:29 · 337 阅读 · 0 评论 -
虚拟机Fedora中电脑接入手机热点,输入ifconfig命令之后,只有2行 Inet6或一行inet6在列表信息中,没有出现ipv4的一种解决方式
今天在虚拟机Fedora连接网络过程中,终端输入ifconfig之后一直出现2个inet6,没有inet4,查询CSDN各种解决方法之后,输入命令的方式还是没有解决这个问题,无意中发现手动连接解决了这个问题,具体方式如下: 虚拟机Fedora中电脑接入手机热点后输入命令ifconfig之后,没有出现ipv4,只看到2行Inet6或一行inet6在列表信息中。 可以看到,右上角网络没有选择并有个红...原创 2019-07-19 23:04:46 · 1262 阅读 · 0 评论 -
Linux中进程管理(一)-学习笔记(三)
1、虚拟空间 当运行内存不够时,磁盘分配一些内存个CPU寄存器,成为虚拟内存。 虚拟空间的作用? (1)方便编译器和操作系统安排程序的地址分布 (2)方便进程之间的隔离 (3)方便内存管理 2、进程的产生 父进程和子进程用法实例 //程序1 产生父进程和子进程 #include <unistd.h> #include <stdlib.h> #incl...原创 2019-08-13 18:25:24 · 189 阅读 · 0 评论 -
Linux中shell编程-学习笔记(一)
1、虚拟机中shell是什么?有什么作用? 概念: shell是用户和Linux内核之间的接口程序,是内核的外层,shell作为操作系统的外层,为用户提供操作系统的接口。目前常用的shell 为bash 。shell是解释执行的脚本语言(脚本语言即不用编译就可以执行的语言),在shell 中可以调用Linux系统命令。 shell是一个命令语言解释器,有自己的内建命令解释集,用户在提示符后输入的...原创 2019-08-13 18:23:43 · 521 阅读 · 0 评论 -
Linux中POSIX IPC(二)和线程同步(2)-学习笔记(十一)
一、条件变量: 1、概念: 用线程间共享的全局变量进行同步的机制。条件变量是用来等待事件。条件变量给多个线程提供了一个汇合的场所。 2、原理: 在线程间同步时,自动阻塞一个线程,直到某些条件满足被唤醒,通常与互斥锁一同被使用。 3、函数: (1)初始化条件变量 int pthread_cond_init(pthread_cond_t *cond,pthread_condattr_t *cond_...原创 2019-08-18 14:57:34 · 223 阅读 · 0 评论