zoukankan      html  css  js  c++  java
  • 深入理解Linux内核 学习笔记(1)

    1.用户和用户组

    每个用户是一个或多个用户组的一名成员,组由唯一的用户组标识符(user group ID)标识。每个文件的相关权限也恰好与一个组相对应。

    root为超级用户,

    2.模块

    为了达到微内核理论上的很多优点而又不影响性能, Linux内核提供了模块(module)。模块是一个目标文件,其代码可以在运行时链接到内核或从内核解除链接。这种目标代码通常由一~组函数组成,用来实现文件系统、驱动程序或其他内核上层功能。与微内核操作系统的外层不同,模块不是作为一个特殊的进程执行的。就向是一个静态链接的内核函数-样,代表当前进程在内核态下执行。

    3.文件目录

    路径名由斜杠及- -列指向文件的目录名交替组成。如果路径名的第一个字符是斜杠,那么这个路径就是所谓的绝对路径,因为它的起点是根目录。否则,如果第- -项是目录名或文件名,那么这个路径就是所谓的相对路径,因为它的起点是进程的当前目录。

    当标识文件名时,也用符号“."和“.”。 它们分别标识当前工作目录和父目录。如果当前工作目录是根目录,“.”和“.." 就是一致的。

    4.硬链接和软连接

    硬链接ln P1 P2,不允许对目录,不允许对不同种文件系统

    软链接 ln -s P1 P2。

    软连接只记录了链接文件的目录关系,硬链接相当于复制了一份文件,之后的文件修改也会对硬链接文件同步进行

     5.文件类型

    Unix文件可以是下列类型之一:

    普通文件(regular file)

    目录

    符号链接

    面向块的设备文件(block -oriented device file)

    面向字符的设备文件(character- oriented device file)

    管道(pipe) 和命名管道(named pipe) ( 也叫FIFO)

    套接字(socket)

    6,特殊线程

    内核线程:运行在内核地址空间,不与用户交互,通常在启动时创建一直活跃直到系统关闭。

    7.可重入内核

    内核要是可重入的,即内核运行程序当需要磁盘请求时,可以让磁盘控制器去处理请求并恢复执行其他进程,然后等处理完再回来执行这个进程。

    管只修改局部变量不改全局的

    RAM的三个功能:


    满足内核对缓存、描述符及其他动态内核数据结构的请求。

    满足进程对一般内存区域的请求及对文件的内存映射的请求。
    用高速缓存的方法从磁盘及其他缓神设备获得较好的性能。

     

    RAM是有限的,必须在请求类型之间平衡。临界极限时可用页框回收算法。虚拟内存必须解决的一个主要问题是内存碎片。

    内核内存分配器(KMA)应有特点:

    必须快。实际上,这是最重要的属性,因为它由所有的内核子系统调用(包括中断处理程序)。

    必须把内存的浪费减到最少。

    必须努力碱轻内存的碎片(fragmentation) 问题。

    必须能与其他内存管理子系统合作,以便借用和释放页框。

    算法:

    资源图分配算法( allocator)

    2的幂次方空闲链表

    McKusick- Karels分配算法

    伏伴{Buddy)系統

    Mach的区域(Zone)分配算法:

    Dynix分配算法

    Solaris的slab分配算法

    脏缓冲区的概念:(内存中)缓冲区内容与对应磁盘块的内容不一样

    设备驱动程序: 可以把设备的代码写成模块,动态装入内核,通过接口规范增加设备,不用时也可以卸载该模块

  • 相关阅读:
    Mr. Frog’s Game(模拟连连看)
    Comparison of Android versions(strcmp的应用)
    Android热门网络框架Volley详解
    Android中你应该知道的设计模式
    从高德 SDK 学习 Android 动态加载资源
    Android中多线程下载列表的封装实现(含进度反馈)
    判断App是否在后台运行
    信息安全领域有哪些非常棒的资源?
    Android应用发布后的统计——百度移动统计的应用
    面试时,问哪些问题能试出一个Android应用开发者真正的水平?
  • 原文地址:https://www.cnblogs.com/61355ing/p/10576899.html
Copyright © 2011-2022 走看看