开源操作系统处理机管理研究与分析.doc

开源操作系统处理机管理研究与分析.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
开源操作系统处理机管理研究与分析

开源操作系统处理机管理研究与分析开源操作系统开源操作系统,就是公开源代码的操作系统软件,可以遵循开源协议(GNU)进行使用、编译和再发布。在遵守GNU协议的前提下,任何人都可以免费使用,随意控制软件的运行方式。开源操作系统最大的特点就是开放源代码和自由定制,但也会因为使用者的技术水平等关系出现很多不可预知的情况及维护问题,并且由于多数硬件和软件厂商并不支持开源软件.所以在驱动和软件源方面有很大困难目前,是最典型也是最多人使用的开源操作系统,在网络服务器、高性能计算机和移动设备方面大放异彩,在办公领域也取得了较大成就 处理机的两级调度模式 处理机的三级调度模式 三.Linux下的处理机管理。 处理机管理概述:处理机管理的基本功能―负责管理CPU 的使用: 1) 将CPU 交给用户程序,启动程序运行。 2) 处理程序结束,从用户程序手中收回CPU 的使用权。 3) 实现多个程序对CPU 的并发。 程序 程序就是指令的集合,它是静态的。它有以下特点: 1) 程序运行的顺序性 2) 程序运行的封闭性 3) 程序结果的可再现性 程序执行的两种方式: 顺序执行 并发执行 多道程序设计 为了提高CPU 的利用率,在内存中允许有多个程序存在,它们轮流地使用CPU,这就 是程序的并发执行。 宏观下好几个程序都在运行着,微观下每个时刻CPU 只能为一个程序服务。这种微观 上串行,宏观上并行的程序称为并发程序。 在多道程序设计环境下的“程序”的概念与静态程序的概念有不同的特性,因此在操作系 统中引入了“进程”概念。 进程 进程定义:进程是并发程序的一次执行过程;进程是具有独立功能的程序关于某个数据 集合上的一次运行活动,是系统进行资源分配和调度的独立单位。 进程与程序的区别: 1) 进程是动态的,程序是静态的。 2) 进程是暂时的,程序是永久的。 3) 进程与程序的组成不同。 4) 进程与程序不是一一对应关系。 进程调度算法 1、先来先服务 按照进程进入就绪队列的先后次序来选择。 2、时间片轮转法 所有就绪进程按到达先后顺序排队,每个进程被逐一分配一个时间片运行,时间片完毕 时进程重新进入就绪队列。 3、优先级法 为进程设置优先级,按照进程的优先级来调度,优先级高的进程优先处理。 Linux 的进程调度算法 Linux 的进程调度使用动态优先级法,系统调用renice 可以改变进程的优先级。 Linux 有两类进程:普通进程和实时进程。 实时进程的优先级高。 实时进程有两种调度算法:时间片轮转和先来先服务。 Linux 中的进程控制 Linux 中,系统引导时会自动建立一个0 进程,它是所有进程的祖先,然后0 进程创建 自己的子进程1 进程,用户登录到系统,1 进程为用户创建一个SHELL 进程,用户在SHELL 下创建的进程一般都是SHELL 的子进程。 Linux 中进程控制的原语有:进程建立fork、进程监控ps、进程优先级nice、进程终止 kill 等。 (1)fork 函数 系统调用fork()函数可以创建一个新进程。调用成功时,该调用对父进程返回子进程的 PID,对子进程返回0。调用失败时,给父进程返回-1,没有创建子进程。 下面的程序(proc.c)运行时使系统中有三个活动进程存在。控制让每一个进程在屏幕上 显示一个字符:父进程显示‘a’,子进程分别显示‘b’和‘c’。 #include stdio.h main() { int p1,p2; while((p1=fork())==-1); if (p1==0) putchar(‘b’); else { while((p2=fork())==-1); if (p2==0) putchar(‘c’); else putchar(‘a’); } } 编译、链接:gcc proc.c –o proc 运行:./proc (1) nice 命令 格式:nice –优先级进程 用于更改进程的优先级。具有较高优先级的进程可以获得更多的CPU 时间。优先级一 般用一个数来表示(-20 到19)。数越小,优先级越高。可以在运行一个程序时指定优先级: 电子信息工程系周洪斌5 nice -10 ps (2) renice 命令 格式:renice 优先级进程ID 可以renice 命令改变一个正在执行的进程的优先级。 renice –5 3301 (3) 定时执行程序at 命令格式:at 时间 (4) kill 命令 用于删除进程。格式:kill PID 例:kill 313 可以用kill –9 PID,强制杀死进程。 (5)fg 命令 用于将正在后台运行的进程调回前台。格式:fg 进程名 (6)bg 命令 用于将正在前台运行的进程调回后台。格式:bg 进程名 (7)jobs 命令 用于查看

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档