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

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

ID:38627798

大小:60.50 KB

页数:5页

时间:2019-06-16

开源操作系统处理机管理研究与分析_第1页
开源操作系统处理机管理研究与分析_第2页
开源操作系统处理机管理研究与分析_第3页
开源操作系统处理机管理研究与分析_第4页
开源操作系统处理机管理研究与分析_第5页
资源描述:

《开源操作系统处理机管理研究与分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、开源操作系统处理机管理研究与分析网络班:一.什么是开源操作系统?开源操作系统,就是公开源代码的操作系统软件,可以遵循开源协议(GNU)进行使用、编译和再发布。在遵守GNU协议的前提下,任何人都可以免费使用,随意控制软件的运行方式。开源操作系统最大的特点就是开放源代码和自由定制,但也会因为使用者的技术水平等关系出现很多不可预知的情况及维护问题,并且由于多数硬件和软件厂商并不支持开源软件.所以在驱动和软件源方面有很大困难。目前,Linux是最典型也是最多人使用的开源操作系统,在网络服务器、高性能计算机和移

2、动设备方面大放异彩,在办公领域也取得了较大成就。二.处理器的调度层次。处理机是计算机系统中的重要资源,处理记得调度算法对整个计算机系统的综合性能指标有重要的影响,这里可以吧调度分成三个层析:1高级调度.也称为作业调度或长程调度。作业调度的主要功能是根据作业调度算法选择外存上处于后备队列中的某些作业调入内存,并为他们分配必要的资源、创建作业相应的进程,在作业完成后还要做结束阶段的善后工作。2中级调度.又称平衡调度,中程调度涉及进程在内外存间的交换,当主存资源紧缺时将暂不运行的进程从内存调至外存,此时这个

3、进程处于“挂起”状态;当进程又具备运行条件且主存资源有空闲时,再将进城从外存调至内存。中级调度的主要目的是提高内存利用率和系统吞吐量。3低级调度.低级调度是各类操作系统必备的,在纯粹的分时系统或实时系统中,通常不需高级调度。一般系统都有高级调度和低级调度;功能完善的系统引入了中级调度。也称进程/线程调度、短程调度。进程调度的主要功能是根据一定的调度算法从就绪队列中选中一个进程/内核级线程获得处理器,让它使用。低级调度是操作系统最核心部分,执行十分频繁,其调度策略的好坏直接影响整个系统的性能。等待事件事

4、件发生进程完成后备作业队列就绪队列高级调度低级调度等待队列CPU时间片完处理机的两级调度模式处理器低级调度高级调度完成超时挂起就绪队列挂起等待队列等待队列就绪队列等待事件交互式用户事件出现后备作业队列中级调度处理机的三级调度模式三.Linux下的处理机管理。处理机管理概述:处理机管理的基本功能―负责管理CPU的使用:1)将CPU交给用户程序,启动程序运行。2)处理程序结束,从用户程序手中收回CPU的使用权。3)实现多个程序对CPU的并发。程序程序就是指令的集合,它是静态的。它有以下特点:1)程序运行的

5、顺序性2)程序运行的封闭性3)程序结果的可再现性程序执行的两种方式:顺序执行并发执行多道程序设计为了提高CPU的利用率,在内存中允许有多个程序存在,它们轮流地使用CPU,这就是程序的并发执行。宏观下好几个程序都在运行着,微观下每个时刻CPU只能为一个程序服务。这种微观上串行,宏观上并行的程序称为并发程序。在多道程序设计环境下的“程序”的概念与静态程序的概念有不同的特性,因此在操作系统中引入了“进程”概念。进程进程定义:进程是并发程序的一次执行过程;进程是具有独立功能的程序关于某个数据集合上的一次运行活

6、动,是系统进行资源分配和调度的独立单位。进程与程序的区别:1)进程是动态的,程序是静态的。2)进程是暂时的,程序是永久的。3)进程与程序的组成不同。4)进程与程序不是一一对应关系。进程调度算法1、先来先服务按照进程进入就绪队列的先后次序来选择。2、时间片轮转法所有就绪进程按到达先后顺序排队,每个进程被逐一分配一个时间片运行,时间片完毕时进程重新进入就绪队列。3、优先级法为进程设置优先级,按照进程的优先级来调度,优先级高的进程优先处理。Linux的进程调度算法Linux的进程调度使用动态优先级法,系统调

7、用renice可以改变进程的优先级。Linux有两类进程:普通进程和实时进程。实时进程的优先级高。实时进程有两种调度算法:时间片轮转和先来先服务。Linux中的进程控制Linux中,系统引导时会自动建立一个0进程,它是所有进程的祖先,然后0进程创建自己的子进程1进程,用户登录到系统,1进程为用户创建一个SHELL进程,用户在SHELL下创建的进程一般都是SHELL的子进程。Linux中进程控制的原语有:进程建立fork、进程监控ps、进程优先级nice、进程终止kill等。(1)fork函数系统调用f

8、ork()函数可以创建一个新进程。调用成功时,该调用对父进程返回子进程的PID,对子进程返回0。调用失败时,给父进程返回-1,没有创建子进程。下面的程序(proc.c)运行时使系统中有三个活动进程存在。控制让每一个进程在屏幕上显示一个字符:父进程显示‘a’,子进程分别显示‘b’和‘c’。#includemain(){intp1,p2;while((p1=fork())==-1);if(p1==0)putchar(‘b’);else{wh

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。