学号:351 原创作品转载请注明出处本实验来源 https://github.com/mengning/linuxkernel/ 实验要求 从整理上理解进程创建.可执行文件的加载和进程执行进程切换,重点理解分析fork.execve和进程切换: 实验内容 阅读理解task_struct数据结构 task_struct: 操作系统使用数据结构来代表处理不同的实体,这个数据结构就是通常所说的进程描述符或进程控制块(PCB). 而在linux操作系统下这就是task_struct结构 ,所属的头文件#…
week 8 进程的切换和系统的一般执行过程 [ 20135239 原文请转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] 一.进程调度与进程调度的时机分析 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已.对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键. 不同类型的进程有不同的调度需求 第一…
20135125陈智威 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 实验内容: 1.可执行程序的执行环境$ ls -l /usr/bin 列出/usr/bin下的目录信息Shell本身不限制命令行参数的个数,命令行参数的个数受限于命令自身例如,int main(int argc, char argv[])又如, int main(int argc, char argv[], char…
[益西拉姆 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] 第六周 进程的描述和进程的创建 一. 进程的描述 进程控制块PCB——task_struct 为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct数据结构很庞大 Linux进程的状态与操作系统原理中的描述的进程状态似乎有所不同,比如就绪状态和运行状态都是…
张潇月<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.实验步骤 首先借助实验楼这个平台进入Linux系统,打开了Xfce终端将代码写入. 通过cd Code命令打开Code文件夹,将后面录入的代码放在文件夹中,便于下载代码,有利于后面的详细分析. 其中通过命令gcc  main.c命令来编译代码:通过gcc  -S  -o  main.s  main.c  –m32来反汇编代码.-m32代表的是32位系统.…
进程的切换和系统的一般执行过程 一.进程切换的关键代码switch_to分析 (一)进程调度与进程调度的时机分析 1.不同类型的进程有不同的调度需求 第一种分类: (1)I/O-bound:频繁进行I/O,花费很多时间等待I/O操作的完成. (2)CPU-bound:计算密集型,需要大量CPU时间进行计算. 第二种分类: (1)批处理进程:不必交互.很快响应. (2)实时进程:要求响应时间短. (3)交互式进程(shell). 2.调度策略:是一组规则,它们决定什么时候以怎样的方式选择一个新进程…
进程调度的时机 linux进程调度是基于分时和优先级的 中断处理过程(包括时钟中断.I/O中断.系统调用和异常)中,直接调用schedule(),或者返回用户态时根据need_resched标记调用schedule(): 内核线程可以直接调用schedule()进行进程切换,也可以在中断处理过程中进行调度,也就是说内核线程作为一类的特殊的进程可以主动调度,也可以被动调度: 内核线程是只有内核态没有用户态的特殊进程 内核可以看作各种终端处理过程和内核线程的集合 用户态进程无法实现主动调度,仅能通过…
进程的描述和进程的创建 一. 进程的描述 (一)进程控制块PCB——task_struct 1.操作系统的三大管理功能包括: (1)进程管理 (2)内存管理 (3)文件系统 2.PCB task_struct中包含: (1)进程状态 (2)进程打开的文件 (3)进程优先级信息 3.通过唯一的进程标识PID来区别每个进程. 4.进程控制块PCB——task_struct 5.进程状态 (1)创建新进程后实际的状态是TASK_RUNNING,就绪但是没有运行,调度器选择一个task之后进入运行态,也…
[刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK EIGHT(4.11--4.17)进程的切换和系统的一般执行过程 SECTION 1 进程切换的关键代码switch_to的分析 1.进程调度与进程调度的时机分析 进程分类 分类1 I/O-bound:等待I/O CPU-bound:大量占用CPU进行计算 分类2 交互式进程(shell) 实时进程 批处理进程 进程调…
韩玉琪 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.进程切换的关键代码 操作系统原理中介绍了大量进程调度算法,这些算法从实现的角度看仅仅是从运行队列中选择一个新进程,选择的过程中运用了不同的策略而已. 对于理解操作系统的工作机制,反而是进程的调度时机与进程的切换机制更为关键. 1. 进程的调度时机 不同类型的进程有不同的调度需求 (1)第一种分类: I/O-bound 频…