Linux内核分析作业(2)——理解进程调度原理

  根据163MOOC学院中国科学技术大学孟宁孟老师课程所写得博客

  作者:肖冲冲 原创作品请注明出处

  《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000

  抱歉了,使用实验楼总出问题。

3月16日补充完整相关文章。

时间: 2024-10-29 19:10:38

Linux内核分析作业(2)——理解进程调度原理的相关文章

Linux内核分析作业 NO.8 完结撒花~~~

进程的切换和系统的一般执行过程 于佳心  原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 进程切换的关键代码switch_to分析 进程的调度时机与进程的切换 不同类型的进程有不同的调度需求 第一种分类: I/0-bound:频繁的进程I/0,通常会花费很多时间等待I/O操作的完成 CPU-bound:计算密集型,需要大量的CPU时间进行运算 第二种分类:批处理进程,实时进程,交互性进

linux内核分析作业3:跟踪分析Linux内核的启动过程

内核源码目录 1. arch:录下x86重点关注 2. init:目录下main.c中的start_kernel是启动内核的起点 3. ipc:进程间通信的目录 实验 使用实验楼的虚拟机打开shell cd LinuxKernel/ qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img 使用gdb跟踪调试内核 qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initr

Linux内核分析作业(1)——计算机是如何工作得?

根据163MOOC学院中国科学技术大学孟宁孟老师课程所写得博客 作者:肖冲冲 原创作品请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一,计算机的工作过程 计算机的基本原理是存储程序和程序控制(冯﹒诺依曼体系),简单来说,我们需要先把需要进行操作的指令(程序)和数据先输入到计算机的存储设备中,然后计算机将严格执行需要执行的指令,包括从那个地址取数(或指令),进行什么操作(加减移位等),然后再送回到什

Linux内核分析作业 NO.2

操作系统是如何工作的 于佳心 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000  本章所学内容主要围绕着三个方面. 1.函数调用堆栈 2.中断机制 3.mykernel上实际操作构建内核 操作系统的三个法宝指的是:存储程序计算机,函数调用堆栈,中断机制 其中函数调用堆栈是高级语言的起点,它的作用是记录调用路径和参数(调用框架,传递参数,保存返回地址,提供局部变量空间) 这里涉及到了esp,

Linux内核分析作业 NO.7

可执行程序的装载 于佳心  原创作品转载请注明出处  <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验:Linux内核如何装载和启动一个可执行程序 首先,按照老流程,我们进入LinuxKernel,删除menu,再拷贝menu 然后我们进入menu,用test_exec和test.c中的一个覆盖另一个 我们打开test.c查看代码 和exec有关的部分,其中引入了hello 打开hello,发现hello就

linux内核分析作业:操作系统是如何工作的进行:完成一个简单的时间片轮转多道程序内核代码

计算机如何工作 三个法宝:存储程序计算机.函数调用堆栈.中断机制. 堆栈 函数调用框架 传递参数 保存返回地址 提供局部变量空间 堆栈相关的寄存器 Esp 堆栈指针  (stack pointer) Ebp 基址指针 (base pointer) 堆栈操作 Push:pop Ebp用作记录当前函数调用基址- 其他关键寄存器   中断 Call指令:1.将eip中下一条指令的地址A保存在栈顶:2.设置eip指向被调用程序代码开始处 1.Call xxx 2.进入xxx pushl %ebp mov

Linux内核分析——第三章 进程调度

第四章 进程调度 4.1 多任务 1.多任务操作系统就是能同时并发的交互执行多个进程的操作系统. 2.多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态. 3.多任务系统分类: (1)非抢占式多任务 (2)抢占式多任务 4.Linux提供了抢占式的多任务模式.在此模式下,由调度程序来决定什么时候停止一个进程的运行,以便其他进程能够得到执行机会.这个强制的挂起动作叫做抢占.进程被抢占之前能够运行的时间是预先设置好的,叫进程的时间片.时间片实

Linux内核分析作业一

一.实验 通过反汇编一个简单的c语言程序来分析计算机是如何工作的 1.进入实验楼,在实验楼环境下把c语言代码转换成汇编码 汇编代码如下图: 二.汇编代码的工作过程中堆栈的变化:(手绘步骤,顺序是从左到右,从上到下) 三.计算机是如何工作的: 计算机的基本原理是存储程序和程序控制,按照冯若依曼体系结构计算机分为CPU和内存,内存用来存储程序,CPU从内存取指令来执行,按程序编排的顺序,一步一步地取出指令.在计算机中使用了最原始的汇编程序,函数调用堆栈是由逻辑上多个堆栈累加起来的,函数的返回值默认使

Linux内核分析作业第二周

操作系统是如何工作的 一.函数调用堆栈 1.计算机工作三个法宝 存储程序计算机.中断机制.堆栈 2.堆栈是C语言程序运行时必须的一个记录调用路径和参数的空间 -函数调用框架 -传递参数 -保存返回地址 -提供局部变量空间 3.堆栈相关的寄存器   -esp,堆栈指针,指向栈顶 -ebp,基址指针,指向栈底,在C语言中用作记录当前函数调用基址. 4.其他关键寄存器   -cs(代码段寄存器) : eip:总是指向下一条的指令地址 顺序执行:总是指向地址连续的下一条指令 跳转/分支:执行这样的指令的