二十七、Linux内核管理】的更多相关文章

  一  linux组成:kernel.库.rootfs.程序 1.kernel的功能: 1) kernel提供的功能都通过系统调用给用户接口 2) kernel包括:进程管理 .内存管理 .网络管理 .驱动程序.安全管理 .文件系统   2.库 函数功能模块集合,调用接口是二进制程序,要想运行,必须别其他程序调用,即其他程序面向硬件的一个中间层,有两种情形 1)过程调用(procedure)无返回值 2)函数调用(function ):有返回值 3.rootfs linux一切皆文件,除了一级…
上一篇博客我们介绍了rpm包管理之rpm命令管理,我们发现在使用rpm命令手动安装rpm包的时候,会发现安装遇到到的依赖让你痛不欲生,安装一个rpm时会要先先安装某个依赖的rpm,而安装这个依赖的rpm包是可能又必须先安装它所依赖的.在实际操作中,我们肯定是不会使用rpm命令手动安装软件包的,更简单的方法就是这篇博客我们将介绍RPM包管理——yum在线管理. 1.yum在线管理 yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUS…
什么是内核 内核是操作系统最基本的部分.它是为众多应用程序提供对计算机硬件的安全访问的一部分软件,这种访问是有限的,并且内核决定一个程序在什么时候对某部分硬件操作多长时间.内核的分类可分为单内核和双内核以及微内核.严格地说,内核并不是计算机系统中必要的组成部分. 内核是一个操作系统的核心.是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性. 现代操作系统设计中,为减少系统本身的开销,往往…
Linux内核基础:Linux Kernel:  Linux内核的体积结构是单内核的,但充分借鉴了微内核设计体系的优点,为内核引入模块化机制,使得虽然是单内核,但工作在模块化的方式下,并且模块可以动态装载或卸载:Linux内核负责管理系统的进程.内存.设备驱动程序.文件和网络系统,决定着系统的性能和稳定性.如是我们在了解Linux内核的基础上根据自己的需要量身定制一个更高效更稳定的内核,就需要我们手动去编译和配置内核里的各项相关的参数和信息.  内核的组成部分: 1.Kernel:内核核心,一般…
内核管理子系统职能:1.管理虚拟地址与物理地址的映射 2.物理内存的分配 程序:存放在磁盘上的一系列代码和数据的可执行映像,是一个静止的实体. 进程:是一个执行中的程序,它是动态的实体 进程四要素: 1.有一段程序供其执行.这段程序不一定是某个进程所有,可以与其他进程公用. 2.有进程专用的内核空间堆栈. 3.在内核中有一个task_struct数据结构,即通常所说的“进程控制块”.有了这个数据结构,进程才能成为内核调度的一个基本单位接受内核的调度 4.有独立的空间. Linux进程状态:最经典…
什么是内存管理 ? 首先内存管理管理的主要对象是虚拟内存,但是虚拟内存对应的映射主要为物理内存,其次也可能通过交换空间把虚拟内存与硬盘映射起来,既然如此,那我们先了解物理内存的管理. 对于物理内存而言,首先我们需要知道的是,linux x86体系结构中内核主要处于 0 - 1G(物理地址)中.而物理内存是有限的.但我们又要为每个程序提供相互独立且连续的内存空间.正因如此我们引出了虚拟内存. 什么是虚拟内存? 虚拟内存 是 段寄存器:段变址寄存器 结合的结果.但是仅仅依赖这两个寄存器并不能得到什么…
__builtin_prefetch是gcc扩展的,用来提高访问效率,需要硬件的支持. 在标准C语言中是不允许static inline联合使用的. 删除依赖的头文件,将相应的结构拷贝到LinuxList.h中: 此外,需要将container_of改写成我们自己的形式. #define container_of(ptr, type, member) ((type *)((char *)ptr - offsetof(type,member))) 移植后的内核链表如下: #ifndef _LINU…
注:必须是Linux/arm 3.0以上内核才支持RPMSG,在此使用的是.config - Linux/arm 3.0.31 Kernel Configuration.(soure code from blaze_tablet 4AJ.2.1 http://omappedia.org/wiki/4AJ.2.1_OMAP4_Jelly_Bean_Release_Notes)    1.配置Linux内核驱动使得支持RPMSG(see also:http://omappedia.org/wiki/…
1. 内核下载地址 linux内核网站,可以拿到最新的和最近的稳定版本内核: https://www.kernel.org/ 通过网站下载压缩包后解压或者使用git下载到本地: git clone https://git.kernel.org/ 2. 准备编译 配置工具链: 下载后的压缩包放到linux上进行解压,或者使用git下载完成后进入linux主目录 由于编译后准备使用在JZ2440的开发板上,因此需要将交叉编译工具连的信息写到makefile中,将主目录下Makefile的以下两项修改…
内核组成: uname命令 内核:uname,mkinitrd,dracut 模块: lsmod,modinfo,depmod,modprobe,insmod,rmmod /proc,sysctl,/sys,/dev,udevadm,hotplug命令 一.静态视角: Linux内核模块 吸收微内核设计:支持模块化设计: 内核中模块 .ko (kernel object) 程序调用的库 .so (share object) 内核模块相当于程序的库的概念,只是模块只能被kernel调用.库只能被程…