02 2023 档案
摘要:一、Linux 下 LCD 驱动简析 1.与裸机的异同 在 Linux 中应用程序最终也是通过操作 RGB LCD 的显存来实现在 LCD 上显示字符、图片等信息,但是Linux系统的内存管理严格,使用显存需要申请,因为虚拟内存的存在,驱动程序设置的显存和应用程序访问的显存要是同一片物理内存。 2.
阅读全文
摘要:一、基本概念 按键、鼠标、键盘、触摸屏等都属于输入(input)设备,Linux 内核为此专门做了一个叫做 input子系统的框架来处理输入事件。本质属于字符设备。 1. input子系统结构如下: input 子系统分为 input 驱动层、input 核心层、input 事件处理层,最终给用户空
阅读全文
摘要:一、为什么需要线程同步? 1.对共享资源进行保护。这里的共享资源是指多个线程都会进行访问的资源。 2.解决数据一致性问题。当一个线程可以修改的变量,其它的线程也可以读取或者修改的时候,这个时候就存在数据一致性的问题,需要对这些线程进行同步操作,确保它们在访问变量的存储内容时不会访问到无效的值。本质在
阅读全文
摘要:一、简介 MISC 驱动其实就是最简单的字符设备驱动,通常嵌套在 platform 总线驱动中,实现复杂的驱动。当我们板子上的某 些外设无法进行分类的时候就可以使用 MISC 驱动。 所有的 MISC 设备驱动的主设备号都为 10,不同的设备使用不同的从设备号。随着 Linux字符设备驱动的不断增加
阅读全文
摘要:线程的基本操作包括: 创建线程 终止线程 回收线程 取消线程 分离线程 注册线程清理处理函数
阅读全文
摘要:一、线程的概念 1.什么是线程? 线程是参与系统调度的最小单位。它被包含在进程中,是进程中的实际运行单位。一个线程指的是进程中一个单一顺序的控制流(或者说是执行路线、执行流),一个进程中可以创建多个线程,多个线程实现并发运行,每个线程执行不同的任务。 2.线程是如何被创建的? 当一个程序启动时,就有
阅读全文
摘要:一、进程间通信(interprocess communication,简称 IPC)指两个进程之间的通信。 系统中每个进程都有自己的地址空间,并且相互独立、隔离,每个进程都处于自己的地址空间中。 二、通信机制 Linux 内核提供了多种 IPC 机制,基本是从 UNIX 系统继承而来,而对 UNIX
阅读全文
摘要:一、进程的六种状态 Linux 系统下进程通常存在 6 种不同的状态,分为:就绪态、运行态、僵尸态、可中断睡眠状态(浅度睡眠)、不可中断睡眠状态(深度睡眠)以及暂停态。 就绪态:进程满足被CPU调度的所有条件但此时并没有被调度执行,只要得到CPU的使用权就能够被执行的状态。 运行态:进程正在被CPU
阅读全文
摘要:一、子进程 1.fork()创建子进程 一个现有的进程可以调用 fork()函数创建一个新的进程,调用 fork()函数的进程称为父进程,由 fork()函 数创建出来的进程被称为子进程(child process)。(使用该函数需要包含头文件<unistd.h>) 2.创建的子进程为新的独立的进程
阅读全文
摘要:一、程序是怎么被执行的 1.在程序中,由引导代码去调用程序中得main函数,而这个过程由链接器完成,链接器将引导代码链接到我们的应用程序构成可执行文件。 2.程序运行需要通过操作系统的加载器来实现,加载器是操作系统中的程序,当执行程序时,加载器负责将此应用程序加载内存中去执行。 3.如何向main函
阅读全文