内存笔记

来源:互联网 发布:2017笔记本电脑知乎 编辑:程序博客网 时间:2024/06/01 10:52
4.段起始是16的倍数。。不能超过64K。每个段的大小不一定一样。5.段基地址=段寄存器*166.0-(3G-1)为用户空间地址7.3G-4G为内核空间8.Ps aux看到进程号9.cat /proc/<pid>/maps可看进程地址信息10.malloc返回是虚拟地址11.*kmalloc(size_t size , int flages)flage:取值有GFP_ATOMIC:从不睡眠,一般用在中断中分配内存,不能睡眠GFP_KERNEL:如果分配不到,可以睡眠__GFP_DMA:大小不能大于16M__GFP_HIGHMEM :分配高端内存。896MB以上的内存叫高端内存12.按页分配get_zeroed_page(unsigned int flags)分配一个页并且清零__get_free_page(unsigned int flages)分配一个页不清零__get_free_pages(unsigned int flages,unsugned int order)分配多个页释放:free_pagefree_page13.allo_page(__GFP_HIGHMEM)分配高端内存用Kmap映射14.在linux要用虚拟地址,所以很多时候要转化位虚拟地址15.内核定时器只执行一次17.进程4要素   1.有一段程序供其执行    2.有专用的内核空间堆栈   3.内核中有task_struct数据结构即进程控制块18.进程调度CFs调度 类:SCHED_NORMAL,SCHED_BATCH,SCHED_IDLE实时类调度:SCHED_RR和SCHED_FIFO19.调度时机(5-2的视频建议再看几次) 主动调度,被动调度比如抢占(有内核抢占和用户抢占) 用户抢占:从系统空间返回用户空间,从中断处理程序返回用户空间  不允许内核抢占的有 正在中断处理,包括中断下部分。正持有自旋锁和其他锁