logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

linux 多线程之信号量 sem_init

1. 什么是信号量linux sem 信号量是一种特殊的变量,访问具有原子性, 用于解决进程或线程间共享资源引发的同步问题。用户态进程对 sem 信号量可以有以下两种操作:-> 等待信号量当信号量值为 0 时,程序等待;当信号量值大于 0 时,信号量减 1,程序继续运行。-> 发送信号量将信号量值加 1通过对信号量的控制,从而实现共享资源的顺序访问。2.

常见视频封装格式(1) — AVI

-> 概述日常生活中,看到的视频文件的后缀名如.mp4、.avi、.rmvb 都是属于视频文件的封装格式。所谓封装格式,就是以怎样的方式将视频轨、音频轨、字幕轨等信息组合在一起。说得通俗点,视频轨相当于饭,而音频轨相当于菜,封装格式就是一个碗或者一个锅,是用来盛放饭菜的容器。视频文件的封装格式并不影响视频的画质,影响视频画面质量的是视频的编码格式。下面介绍常见的视频封装格式...

文章图片
#音视频
常见视频封装格式(2) — TS

概述日常生活中,看到的视频文件的后缀名如.mp4、.avi、.rmvb 都是属于视频文件的封装格式。所谓封装格式,就是以怎样的方式将视频轨、音频轨、字幕轨等信息组合在一起。说得通俗点,视频轨相当于饭,而音频轨相当于菜,封装格式就是一个碗或者一个锅,是用来盛放饭菜的容器。视频文件的封装格式并不影响视频的画质,影响视频画面质量的是视频的编码格式。下面介绍常见的视频封装格式- TS。...

linux 文件操作函数 mount-mknod-mkdir

1. mount/unmount 函数功能描述mount 挂载文件系统,unmount 则执行相反的操作头文件#include <sys/mount.h>#include <errno.h> // 用于 errno 的判断用法int mount(const char *source, const char *t

Android 8.1 开机流程分析(2)

上一篇中讲了 init 进程启动的第一阶段,也就是 init 进程的内核态执行,主要包含的工作内容有:- 挂载分区 dev、system、vendor 等- 创建设备节点及设备节点热插拔事件监听处理 (ueventd)- 创建一些关键目录、初始化日志输出系统- 启用 SELinux 安全策略本章节的内容为 init 进程第二阶段执行的内容,也称为 init 进程的用户态执行。...

linux umask 函数使用详解

1. 什么是 umask?当我们登录 Linux 系统之后创建文件总有一个默认权限,设置用户创建文件的默认权限就是 umask 所做的工作,与 chmod 效果不同,umask 设置权限通过设置”补码”。因为 linux 系统中文件权限默认最大为 666,所以通过设置 umask 屏蔽掉一些权限。2. 原理及计算说明rk3288:/mnt # ls -al-rw-rw-r...

linux 内核 - ioctl 函数详解

1. 概念ioctl 是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设 ioctl() 命令的方式实现。在文件 I/O 中,ioctl 扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间纵向分析 ioctl 函数。2. 用户空间 ioctl#include &...

linux 内核 - ioctl 函数详解

1. 概念ioctl 是设备驱动程序中设备控制接口函数,一个字符设备驱动通常会实现设备打开、关闭、读、写等功能,在一些需要细分的情境下,如果需要扩展新的功能,通常以增设 ioctl() 命令的方式实现。在文件 I/O 中,ioctl 扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间纵向分析 ioctl 函数。2. 用户空间 ioctl#include &...

android 8.1 安全机制 — SEAndroid & SELinux

1. SELinux 背景知识详细了解 Android 8.0 SELinux,可以参阅 Google 官方文档1.1 DAC 与 MAC在 SELinux 出现之前,Linux 上的安全模型叫 DAC,全称是 Discretionary Access Control,翻译为自主访问控制。DAC 的核心思想很简单,就是:进程理论上所拥有的权限与执行它的用户的权限相同。比如,...

到底了