1. 进程四要素 1. 有一段程序供其执行.这段程序不一定是某个进程所专有,可以与其他进程共用. 2. 有进程专用的内核空间堆栈. 3. 在内核中有一个task_struct数据结构,即通常所说的"进程控制块PCB".有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核的调度. 4. 有独立的用户空间. 2. struct task_struct 进程描述 在Linux中,线程.进程都使用struct task_struct来表示,它包含了大量描述进程/线程的信息,其中比较重要…
进程控制 1.进程概述现代操作系统的特点在于程序的并行执行.Linux是一个多用户多任务的操作系统.ps .pstree 查看进程进程除了进程id外还有一些其他标识信息,可以通过相应的函数获得.// 这些函数在unistd.h里声明. 2.Linux进程的结构Linux一个进程由3部分组成:代码段,数据段,堆栈段.代码段存放可执行代码数据段存放程序的全局变量,常量,静态变量堆栈段存放动态分配的内存变量,堆栈中的栈用于函数调用,存放着函数的参数,函数内部定义的局部变量. 3.Linux进程的状态 …
进程管理控制 这里实现的是一个自定义timer用于统计子进程运行的时间.使用方式主要是 timer [-t seconds] command arguments 例如要统计ls的运行时间可以直接输入timer ls,其后的arguments是指所要运行的程序的参数.如:timer ls -al.如果要指定程序运行多少时间,如5秒钟,可以输入timer -t 5 ls -al.需要注意的是,该程序对输入没有做异常检测,所以要确保程序输入正确. Linux 程序思路 获取时间 时间获取函数使用get…
main.c  main.o/main.obj  main/main.exe          编译                连接 程序运行;      两步: gcc/g++  -c  main.c/main.cpp  -> main.o              gcc/g++ -o main  main.o -> main(可执行文件)     一步:  gcc -o main mian.c  -> main    工程文件:       rm  *.o     gcc  -…
1 进程控制: fork                                                                                     创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtablesize 进程所能打开的最大文件数 getpgid 获取指定进程组标识号 setpgid                           设置指定进程组标…
1. make distclean 2. 配置内核  ----> 生成 .config文件 make menuconfig ARCH=arm Makefile文件分析: 3.  编译内核 make uImage ARCH=arm  CROSS_COMPLIE=arm-linux- 编译完成后位于 ARCH/arm/boot/zImage 4. 内核启动流程 (终极目标:挂在根文件系统,运行应用程序) 4. 文件系统 5. 如何制作linux嵌入式所需的文件系统?  a.  创建目录和文件 b.…
进程的管理与调度 进程管理 进程描写叙述符及任务结构 进程存放在叫做任务队列(tasklist)的双向循环链表中.链表中的每一项包括一个详细进程的全部信息,类型为task_struct,称为进程描写叙述符(process descriptor),该结构定义在<linux/sched.h>文件里. Linux通过slab分配器分配task_struct结构,这样能达到对象复用和缓存着色(cache coloring)的目的.还有一方面,为了避免使用额外的寄存器存储专门记录,让像x86这样寄存器较…
1.  逻辑地址 线性地址 物理地址 段式管理: 16位CPU,20根地址总线,可寻址1M内存,但是只有16位的寄存器,64K. 逻辑地址  =  段基地址 + 段内偏移地址 物理地址 PA  = 段寄存的值 * 16  + 逻辑地址 段式管理: 32位CPU,两种模式  实模式 + 保护模式 实模式 和 16位CPU一样,段寄存器的值*16就是段地址 保护模式: 段基地址32位,每个段都有4G容量,段寄存器的值是一个选择器,间接指出一个32位的段地址. 页式管理: 线性地址被分为固定长度的组,…
0. 嵌入式系统 以应用为中心,软硬件可裁剪,对功耗.对体积.对成本等都有严格要求的专用计算机系统. 1.  linux体系结构 2. 为什么 划分为 用户空间 和 内核控件 ?  分两级,内核和应用程序,使操作系统本身得到充分保护. 通过 系统调用 和 硬件中断 能从用户空间 --> 内核空间. 3. 内核架构 4.内核代码 5. 内核配置与编译  (以 ../arch/xx/configs 里的配置做参考 .config) A:  清除:清除临时文件.中间文件和配置文件. • make cl…
1. 什么是proc文件系统? 实例:通过 /proc/meminfo,查询当前内存使用情况. 结论:proc文件系统是一种在用户态检查内核状态的机制. 2.Proc文件分类 特点  每个文件都规定了严格的权限可读?可写?哪个用户可读?哪个用户可写?  可以用文本编辑程序读取(more命令,cat命令,vi程序等等)  不仅可以有文件,还可以有子目录.  可以自己编写内核程序添加一个/proc目录下的文件.  文件的内容都是动态创建的,并不存在于磁盘上,存在内存中. 3. 功能函数 内核描述 s…