linux
文章平均质量分 80
xiongtiancheng
android application,android frameworks,android hal,linux kernel,linux driver,freertos
展开
-
linux kernel 简介
linux kernel construction overviewlinux kernel 大致分为上图五大部分。1、进程管理 负责进程的创建和销毁,进程的调度。原创 2017-09-26 22:19:21 · 4539 阅读 · 0 评论 -
linux 进程和线程简介
1、进程的概念进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程既是基本的分配单元,也是基本的执行单元。2、轻量级进程轻量级进程由clone()系统调用创建,参数是CLONE_VM,即与父进程是共享进程地址空间和系统资源。轻量级进程有自己独立的用户空间栈和内核空间栈,并且可以被linux操作系统像普通进程一样被调度。原创 2017-10-11 20:44:47 · 576 阅读 · 0 评论 -
linux 进程的创建和加载
我们还是一cameraserver进程为例,看它是如何被系统加载运行起来的。frameworks/av/camera/cameraserver/cameraserver.rc1 service cameraserver /system/bin/cameraserver2 class main3 user cameraserver4 group audio原创 2017-10-22 22:12:40 · 2064 阅读 · 0 评论 -
linux sched init简介
调度器的初始化,前面的android 开机流程讲过,uboot(bootloader)执行完一些初始化动作后,会将kernel加载到内存,然后跳到kernel。kernel在执行完一段汇编代码,准备好c的运行环境后,跳到 start_kernel()。linux-4.10/init/main.clinux-4.10/init/main.c482 asmlinkage __visib原创 2017-12-23 15:07:22 · 2268 阅读 · 0 评论 -
linux 进程调度切换过程分析
从系统调用或者异常中断返回用户空间时,thread_flags 被设置成TIF_NEED_RESCHED 会发生调度,当然还有其他几个时机也会发生调度,这里主要介绍中断返回用户空间时的情况。linux-4.10/arch/arm64/kernel/entry.S744 ret_fast_syscall:745 disable_irq // disable interrup原创 2017-12-23 19:13:47 · 3315 阅读 · 0 评论 -
device tree 简介
1、什么是设备树(device tree)它是一种描述硬件资源的数据结构,可以通过bootloader将它传给内核,内核(driver)使用它对硬件进行初始化,好处是使得内核和硬件资源描述相对独立,不需要太多的硬编码。2、设备树的相关名词1)DTS(device tree source).dts文件是一种ASCII文本对Device Tree的描述,位于linux-4.10//arch/arm64...原创 2018-02-27 22:59:14 · 3092 阅读 · 0 评论 -
memblock 数据结构及API介绍
前面一篇博客介绍了memblock初始化的流程,实际上并没有介绍完整,只是列出了大概的流程,设计到的相关数据结构都没有介绍,所以接下里继续了解memblock使用到的数据结构,以及是如何进行内存分配和管理的。linux-4.10/include/linux/memblock.h47 struct memblock {48 bool bottom_up; /* is bottom up d...原创 2018-03-12 21:21:22 · 1052 阅读 · 0 评论 -
memblock 初始化简介
在linux kernel初始化完成之后,系统中的内存分配和回收是由伙伴系统来管理,但是在kernel 初始化阶段时内存的分配和释放是由memblock管理,memblock在系统启动阶段进行简单的内存管理,记录物理内存的使用情况。本篇博客主要介绍在系统启动阶段memblock 的初始化过程。linux-4.10/init/main.c482 asmlinkage __visible void ...原创 2018-03-01 23:47:55 · 2416 阅读 · 2 评论 -
linux 实现监听热插拔事件
在一些跑linux 系统的平台上,比如故事机,会支持sdcard 热插拔的功能,也就是在sdcard 插入后,把sdcard mount到文件系统中,sdcard拔出后移除。上层应用要怎么知道这个事件呢,应用层可以注册监听uevent 事件即可,下面给出对应的实现。#include <stdio.h>#include <string.h>#include &l...原创 2019-01-29 16:47:37 · 3201 阅读 · 2 评论