关闭

关闭

关闭

封号提示

内容

首页 Linux内核.ppt

Linux内核.ppt

Linux内核.ppt

上传者: bluehill 2011-10-27 评分 0 0 0 0 0 0 暂无简介 简介 举报

简介:本文档为《Linux内核ppt》,可适用于IT/计算机领域,主题内容包含一。Linux概述一。Linux概述系统结构内核组成启动流程Linux系统结构Linux系统结构Linux系统结构Linuxkernel:开放源代码符等。

一。Linux概述一。Linux概述系统结构内核组成启动流程Linux系统结构Linux系统结构Linux系统结构Linuxkernel:开放源代码的linux操作系统内核目前版本为Linux内核组成Linux内核组成进程调度程序(SCHED)负责控制进程访问CPU。保证进程能够公平地访问CPU同时保证内核可以准时执行一些必需的硬件操作。内存管理程序(MM)使多个进程可以安全地共享机器的主存系统并支持虚拟内存。虚拟文件系统(VFS)。通过提供一个所有设备的公共文件接口VFS抽象了不同硬件设备的细节。此外VFS支持与其他操作系统兼容的不同的文件系统格式。网络接口(NET)提供对许多建网标准和网络硬件的访问。进程间通信(IPC)子系统为进程与进程之间的通信提供了一些机制。这些子系统虽然实现的功能相对独立但存在着较强的依赖性(调用依赖模块中相应的函数)所以说linux内核是单块结构(monolithic)的而windows体系结构是微内核(microkernel)的。Linux启动流程Linux启动流程从BIOS到KERNELBIOS->bootloader>KERNEL->KERNEL自解压->内核初始化->内核启动(startkernel函数在linux内核源代码树的usrsrclinuxinitmainc中)内核启动:创建#进程并执行由它创建若干内核线程(kernelthread)然后装入并执行程序sbininit(变成一个用户进程)。加载初始文件系统(bootinitimg)初始化设备如设置键盘、字体装载模块设置网络最后加载根文件系统()。init根据etcinittab配置文件来执行相应的脚本进行系统初始化对于Redhat来说执行的顺序为:etcrcdrcsysinit            # 由init执行的第一个脚本etcrcdrc $RUNLEVEL          # $RUNLEVEL为缺省的运行模式etcrcdrclocal#运行模式、、时会运行的脚本sbinmingetty(或getty)        # 等待用户登录etcinittab中指定了系统的运行级别(RUNLEVEL)init根据运行级别启动相关的服务(一些后台进程)实现不同的功能。RUNLEVEL:-:halt:单用户:多用户:多用户并启动NFS服务:保留:运行xdm(Xwindow)以图形界面方式登录:reboot二。进程管理二。进程管理linux进程的四要素PCB中的重要信息进程调度linux进程的四要素linux进程的四要素程序PCB地址空间系统堆栈空间PCB:进程创建时内核为其分配的一个核心数据结构进程自身不能直接存取。系统堆栈空间:进程运行在核心态时使用的堆栈和PCB连在一起共KB其中PCB约占字节系统堆栈空间约占字节。内核中linux进程个数有最大值限制()。但以后系统中的进程个数受限于系统的物理内存数即限定所有进程的PCB及系统堆栈(K)占用的空间的物理内存总和。例M内存:进程数MK=KPCB中的重要信息PCB中的重要信息身份信息:pid,uid,gid,euid,egid等状态信息:running,interruptible,noninterruptible,stopped,zombie调度信息:policy,priority,rtpriorty,needreschedpolicy即进程的类别分SCHEDFIFO,SCHEDRR,SCHEDOTHER三种前两种为实时进程后一种为非实时进程IPC信息:如定义对某些信号的处理等家族信息:父进程、兄弟进程、子进程信息时钟和定时信息文件系统存储管理进程调度进程调度调度时机a用户进程自愿放弃CPU如执行sleep()系统调用b系统调用中需要等待时直接调用schedule()进行调度c系统调用、中断或异常处理完成后返回到用户空间前若当前进程的PCB中的needresched=则发生调度调度策略:基于进程的权值(weight即动态优先级)实时进程:weight=rtpriority(>)分时进程:weight=counter–nice(<)其中:rtpriority:是实时进程的优先级counter:进程还剩余的时间片值nice:进程优先级的调整值(均在进程的PCB中标识)    三。内存管理三。内存管理寄存器图地址空间的定义分段:逻辑地址转换为线性地址分页:线性地址转换为物理地址寄存器图寄存器图逻辑地址线性地址物理地址逻辑地址线性地址物理地址逻辑地址到线性地址的映射逻辑地址到线性地址的映射线性地址到物理地址的映射线性地址到物理地址的映射四。中断处理四。中断处理IDTR寄存器的作用PIC与硬件中断软件中断任务在系统调用过程中的堆栈变化中断描述符表中断描述符表硬件中断通过PIC实现硬件中断通过PIC实现可编程中断控制器(PIC)是微机系统中管理设备中断请求的管理者。它连接到设备的中断请求引脚。当设备激活其中断请求IRQ信号时PIC立刻会检测到。PIC向处理器的INT引脚发出一个中断信号时处理器会立刻停下当时所做的事情并询问PIC需要执行哪个中断服务请求。处理器则根据读取的中断号通过查询中断向量表取得相关设备的中断向量(即中断服务程序的地址)并开始执行中断服务程序。当中断服务程序执行结束处理器就继续执行被中断信号打断的程序。IntelAIntelA软件中断:系统调用软件中断:系统调用通过INT中断号调用操作系统的中断服务程序。通过IRET指令从中断处理程序返回用户态调用:应用程序printf()库函数printf()库函数write()INTx进入内核内核write()返回:内核write()结束IRET返回用户空间库函数write()库函数printf()应用程序printf()Printf()Printf()任务的内核堆栈与用户堆栈任务的内核堆栈与用户堆栈进入内核态之前CPU首先把原用户态堆栈指针ss和esp压入内核态堆栈随后把标志寄存器eflags的内容和返回位置cs、eip压入内核态堆栈。ss,esp指向内核态堆栈。返回用户态之前CPU执行iret退出内核程序将内核堆栈保存的数据恢复到ss,esp,eflags,cs,eip。

用户评论(0)

0/200

精彩专题

上传我的资料

每篇奖励 +2积分

资料评价:

/22
1下载券 下载 加入VIP, 送下载券

意见
反馈

立即扫码关注

爱问共享资料微信公众号

返回
顶部