码迷,mamicode.com
首页 > 系统相关 > 详细

第一次作业:深入源码分析进程模型

时间:2018-05-01 15:20:47      阅读:236      评论:0      收藏:0      [点我收藏+]

标签:分享图片   作业   部分   linux   方式   开源   进程调度   进程状态   操作系统   

挑选一个开源的操作系统,Linux深入源码分析其进程模型,具体包含如下内容:

  • 1.操作系统是怎么组织进程的:以下参考了文章编号1672-5913(2009)14-0027-01举的代码例子

使用了sort()调用创建进程:

           #include<stdio.h>

             main(){

              pid x=0;

             printf("program is ......");

            printf("in function main ");

            id = sort();

           if(id==0){

           printf("child");}

          else{

           printf("parent");

      }

}

这代码很短但是解释了进程创建,进程并发,进程父子关系等的概念。sort()调用给子进程返回0,给父进程返回pid号。因为比较好理解,所以有借鉴其代码的模型;

  • 2.进程状态如何转换(给出进程状态转换图)

(1)就绪状态——>执行状态:进程调度程序为处于就绪状态的进程分配处理机后,就进入执行状态。

(2)执行状态——>等待状态:正在执行的进程因为某件事需要等待而无法执行。

(3)等待状态——>就绪状态:进程所等待的事情发生了,于是进程从等待状态进入了就绪状态。

(4)执行状态——>就绪状态:正在执行的进程因为时间片用完而被暂停执行,或者在可抢占调度方式中优先级高的进程到来后,优先级低的被暂停执行,从而转换为就绪状态。

(5)进程状态转换图:

 

                                                                技术分享图片

                           I/O完成技术分享图片                                技术分享图片I/O请求

        技术分享图片                __________时间片到________                    技术分享图片

                                                           获得cpu

  • 3.进程是如何调度的

调度的含义:当系统中就绪的进程数大于系统中可用的CPU数时,可用的CPU必须选择下一个要运行的进程。在操作系统中,完成选择工作的这一部分称调度程序,该程序使用的算法称为调度算法。

调度程序应该有根据优先级来排序;

调度的实现有很多不同的算法;

  • 4.谈谈自己对该操作系统进程模型的看法

Linux感觉在老师们的眼里很常见,但是暂时在我心中和windows没有多大的区别,感觉windows安装的软件都用的挺好的,代码的打的挺舒服的。可能Linux这个操作系统各个方面都超越了windows,它的进程模型应该更加完美,但是我现在还不是很了解,不会用一长串的代码去演示什么是调度,什么是进程的转换状态,也还不知道了解了这个进程模型之后作用在哪方面。在哪一块可以运用到这个知识。

 

第一次作业:深入源码分析进程模型

标签:分享图片   作业   部分   linux   方式   开源   进程调度   进程状态   操作系统   

原文地址:https://www.cnblogs.com/a1234777/p/8976140.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!