linux syscall 详解【转】
转自: https://blog.csdn.net/feixin620/article/details/78416560 引言:分析Android源码的过程中,要想从上至下完全明白一行代码,往往涉及app、framework、native一直到kernel,可能迷失到代码世界,明白了系统调用原理,或许能帮你 峰回路转 ,找到进入kernel函数的入口。本文主要讲解ARM架构相关源码: /bionic/libc/kernel/uapi/ asm-arm/ asm/unistd.h /bionic/libc/arch-arm/syscalls/kill.S /kernel/arch/arm/kernel/calls.S /kernel/arch/arm/include/Uapi/ asm/unistd.h /kernel/include/uapi/ asm-generic/unistd.h /kernel/include/linux/syscalls.h /kernel/kernel/signal.c /kernel/arch/arm/kernel/entry-common.S /kernelarch/arm/kernel/entry-armv.S 一、Syscall意义 内核提供用户空间程序与内核空间进行交互的一套标准接口,这些接口让用户态程序能受限访问硬件设备,比如申请系统资源