进程的控制系统设计说明书
软件设计说明书三篇

软件设计说明书三篇篇一:软件详细设计说明书作者:完成日期:签收人:签收日期:修改情况记录:1 引言1.1 编写目的随着证券交易电子化程度的不断提高,券商对于各种业务提出了新的要求,为了满足券商的发展需求,更好的为客户提供服务,现结合原有各版本的证券交易软件的优点和特点,开发一套采用Client/Server结构的证券交易软件管理系统(SQL版)。
本系统从底层予以优化,使整个系统的运行速度得到较大提高,通过重新优化数据库内部结构,使系统的可扩充性得到极大提高。
本说明书给出SQL版证券交易系统的设计说明,包括最终实现的软件必须满足的功能、性能、接口和用户界面、附属工具程序的功能以及设计约束等。
目的在于:▪为编码人员提供依据;▪为修改、维护提供条件;▪项目负责人将按计划书的要求布置和控制开发工作全过程;▪项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。
本说明书的预期读者包括:▪项目开发人员,特别是编码人员;▪软件维护人员;▪技术管理人员;▪执行软件质量保证计划的专门人员;▪参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报告的有关人员。
▪合作各方有关部门的复杂人;项目负责人和全体参加人员。
1.2 范围说明:a.待开发的软件系统的名称:模拟股票交易系统b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。
1.3 定义列出本文件中用到的专门术语的定义和缩写词的原词组。
本报告用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。
1.4 参考资料列出要用到的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
2 总体设计2.1 需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见《需求分析说明书》。
操作系统的设计与实现

操作系统的设计与实现操作系统是计算机硬件的核心,它可以控制整个计算机系统的工作,为用户提供方便和高效的计算机环境。
计算机操作系统不仅需要具有稳定可靠的性能,同时还需要满足安全、易用和灵活等需求。
本文将从操作系统的设计和实现两个方面来探讨计算机操作系统的原理和实践。
一、操作系统的设计1.1、操作系统的层次结构操作系统的层次结构是指在操作系统中采用了不同的层次来完成不同的职责。
操作系统的层次结构可以分为:硬件层、内核层、系统调用层、程序库层和应用层等。
硬件层是指物理层,主要是处理器、内存、硬盘等设备,操作系统需要对这些硬件资源进行管理和分配。
内核层是操作系统的核心,主要提供管理和分配硬件资源的功能,同时还负责处理硬件和软件之间的交互和通讯。
系统调用层是通过应用程序向内核层请求服务的界面,它包含了一系列的系统调用接口,应用程序可以利用这些接口来请求内核级别的服务。
程序库层是应用程序开发的基础,它包含了一些函数库和工具集,开发人员可以通过这些工具来更方便地开发应用程序。
应用层是最外层,包含了各种应用程序,例如浏览器、文本编辑器、游戏等,用户可以通过这些应用程序来完成功能。
1.2、操作系统的功能操作系统的主要功能包括:进程管理、内存管理、文件管理、设备管理和安全管理。
进程管理:进程是指正在运行的程序,操作系统需要对进程进行管理和调度,使它们能够协调地运行。
进程管理包括进程创建、进程调度、进程通信、进程同步和进程撤销等。
内存管理:内存是计算机的重要组成部分,操作系统需要对内存进行管理和分配。
内存管理包括内存分配、内存回收、内存保护和虚拟内存管理等。
文件管理:文件是计算机系统中重要的数据存储和共享方式,操作系统需要提供文件管理功能。
文件管理包括文件的创建、删除、修改、复制和文件保护等。
设备管理:设备是计算机系统中的重要组成部分,操作系统需要对设备进行管理。
设备管理包括设备的驱动程序开发、设备的分配和设备的控制等。
毕业设计:自动门的PLC控制系统

毕业设计:自动门的PLC控制系统1. 项目背景随着科技的发展和城市化进程的加快,自动化技术在各个领域得到了广泛应用。
自动门作为一种常见的自动化设备,不仅提高了人们的生活质量,还降低了人工成本,增强了工作效率。
可编程逻辑控制器(PLC)作为自动门控制系统的重要组成部分,具有可靠性高、灵活性强、易于扩展等优点。
本毕业设计旨在研究和设计一种基于PLC的自动门控制系统,以满足现代社会对智能化、自动化设备的需求。
2. 系统功能与要求2.1 系统功能自动门控制系统的主要功能包括:1. 门的开关控制:根据输入信号(如红外线、按钮等)实现门的开关。
2. 门的状态检测:实时检测门的开关状态,以确保系统的正常运行。
3. 异常情况处理:当发生异常情况(如门卡住、电压波动等)时,系统能自动采取措施,避免设备损坏。
4. 运行数据记录:记录门的运行数据(如开关次数、运行时间等),便于后期分析和维护。
2.2 系统要求自动门控制系统应满足以下要求:1. 可靠性:系统运行稳定,故障率低。
2. 安全性:确保人员和设备的安全。
3. 灵活性:可适应不同场景和需求,易于扩展和升级。
4. 经济性:降低运行成本,提高设备利用率。
3. PLC选型及系统硬件设计3.1 PLC选型根据系统功能与要求,选择合适的PLC作为自动门控制系统的核心控制器。
在本设计中,我们选择西门子S7-200系列PLC,该系列PLC具有性能稳定、性价比高、易于编程和维护等特点。
3.2 系统硬件设计自动门控制系统的硬件部分主要包括:PLC、输入/输出模块、传感器、执行器等。
1. PLC:西门子S7-200系列PLC。
2. 输入模块:用于接收各种开关信号,如红外线、按钮等。
3. 输出模块:用于控制执行器,如电动机、电磁阀等。
4. 传感器:用于检测门的状态,如红外线传感器、霍尔传感器等。
5. 执行器:用于实现门的开关,如电动机、电磁阀等。
4. 系统软件设计系统软件设计主要包括以下几个方面:1. 输入/输出信号分配:根据实际需求,合理分配输入/输出信号。
PLCS71200顺序控制设计法与顺序功能图复习课程

4.2 顺序控制设计法与顺序功能图
步程序的结构
方法一:
Si-1
Ci
Si+1
Si
Si
Si Ci+1
Si+2
Si+1
Si+1
Si:各步的控制位
Ci:各步的转换条件
Si
Bi
Bi:各步具体操作的执行对象 Si+1
Bi+1
4.2 顺序控制设计法与顺序功能图
说明: 1、某步将被激活的条件有二: 前一步为活动步;满足转换条件。 2、由于转换条件多为短信号,所以每步要加自锁; 3、某步被激活,则其上一步要变成不活动步,所以将其常 闭触点串联上一步中。
I0.0 I0.1 I0.2 Q0.1 Q0.0
Q0.0 I0.1 I0.0 I0.2 Q0.0 Q0.1
Q0.1
提纲
1. 经验设计法 2. 顺序控制设计法与顺序功能图 3. 基于顺序功能图的梯形图设计方法
4.2 顺序控制设计法与顺序功能图
顺序控制设计法 ❖ 对那些按动作的先后顺序进行工作的系统,非常适宜使用 顺序控制设计法编程 ❖ 首先根据系统的工作顺序,画出顺序功能图 ❖ 然后根据顺序功能图编写梯形图程序。
4.3 基于顺序功能图的梯形图设计方法
图4-6 小车自动往返的梯形图
4.1 经验设计法
此梯形图存在的问题: 在两端点处不能可靠停车
I0.0 I0.1 I0.4 I0.2 Q0.1 Q0.0 I0.3 Q0.0 I0.1 I0.0 I0.3 I0.2 Q0.0 Q0.1 I0.4 Q0.1
图4-6 小车自动往返的梯形图
4.1 经验设计法
✓ 部分PLC提供了顺序功能图编程语言,用户在编程软件中生 成顺序功能图后便完成了编程工作,如西门子S7-300/400 PLC中的S7 Graph编程语言。
工业生产过程监控与控制系统设计与实现

工业生产过程监控与控制系统设计与实现随着工业化进程的不断发展和技术水平的提高,工业生产过程的监控与控制系统在工业生产中起着重要的作用。
本文将探讨工业生产过程监控与控制系统的设计与实现。
一、工业生产过程的特点与挑战工业生产过程的特点包括复杂性、不确定性和动态性。
复杂性体现在生产过程中涉及的设备、工艺和参数众多,相互之间存在复杂而又动态的关系;不确定性体现在生产过程中存在各种不可控因素,如材料的质量波动、环境的变化等;动态性体现在生产过程中存在着不断变化的工艺条件和需求,需要及时调整和控制。
这些特点给工业生产过程的监控与控制带来了一定的挑战。
一方面,要能够准确地获取大量的实时数据,包括设备状态、工艺参数等,以便对整个生产过程进行综合监控;另一方面,要能够对生产过程进行自动控制,及时调整参数,保证生产达到期望的目标。
二、工业生产过程监控与控制系统的设计原则1. 实时性:监控与控制系统需要实时获取生产过程中的各种数据,并能够实时响应,及时调整参数,保证生产过程的稳定性和可控性。
2. 可靠性:监控与控制系统需要具备较高的可靠性,能够准确地获取各种数据,并能够进行准确的控制,以保证生产过程的正常运行。
3. 灵活性:监控与控制系统需要具备较高的灵活性,能够适应不同的生产需求和工艺条件,实现自动化的控制。
4. 可扩展性:监控与控制系统需要具备较高的可扩展性,能够随着生产规模的扩大,灵活地增加监控点和控制单元。
5. 效率与节能:监控与控制系统需要能够高效地利用资源,减少能耗和废物产生,提高生产效率。
三、工业生产过程监控与控制系统的实现方式工业生产过程的监控与控制系统可以通过以下方式来实现:1. 传感器与执行器:通过安装传感器和执行器,实时获取各种数据,并进行远程控制。
传感器可以测量温度、压力、流量等参数,执行器可以控制阀门、电机等设备。
2. 数据采集与传输:通过网络技术,连接传感器和执行器,并将采集到的数据传输到监控与控制系统。
系统的总体设计方案

• 4.软、硬件选择
• 根据系统需要和资源约束,进行计算机软、 硬件的选择。计算机软、硬件的选择,对 于管理信息系统的功能具有很大影响。大 型管理信息系统软、硬件的采纳可以采用 招标等方式进行。
• 软件的选择包括操作系统,数据库管理系 统,汉字系统,设计系统,设计语言和应 用软件包等软件的选择。
• 随着计算机科学与技术的飞速发展,计算 机软、硬件的升级与更新速度也很快。新 系统的建设应当尽量避免先买设备,再进 行系统设计的情况。
• (4)选择调用 • 在分类查询模块的箭头尾部标有一个菱形
符号。表示选择调用,如果条件为真,则 调用按A模块,为假时调用B模块。如图520所示5)循环调用 • 当一个模块M反复地调用模块A和模块B时,
在调用箭头尾部则标以一个弧形符号。如 图5-21所示。
M
A
B
• 模块、调用、信息传递这三种符号是结构 图的基本符号,选择调用、循环调用这两 种符号是附加符号。
计算机网络系统的设计主要包括中小型主机方案与微机网络方案的选取网络互连结构及通信介质的选型局域网拓朴结构的设计网络应用模式及网络操作系统的选型网络协议的选择网络管理进程用户等工作
欢迎
系统设计要求
1.简明性 2.灵活性和适应性 3.完整性 4.可靠性 5.安全性 6.经济性
系统功能结构的划分
管理信息系统的各子系统可以看作是 系统目标下层的功能。对其中每项功能还 可以继续分解为第三层、第四层……甚至 更多的功能。
这也是输入设计的一项重要内容。输 入设计最重要的问题是保证输入数据的正 确性。对数据进行必要的校验,是保证输 入正确的重要环节。
输入格式设计
输入设计的重要内容就是设计好原始 单据的格式。 设计原始单据的原则是: (1) 便于填写 (2) 便于归档。 (3) 单据的格式应能保证输入精度。
L2(操作系统:进程管理1)

应用程序 (系统与用户) 库函数调用 系统库
内核调用
OS 内核 机器指令
硬件
Part 1: Operating System
Lecture2.操作系统引论
I. 硬件接口
a. 中断Interrupt : 外部设备向CPU发出的信号. 中断处理
b.
外部硬件
OS
应用程序 中断处 理 中断t 信号
IV.
常见实时操作系统: Linux, WinCE
⑤
多处理机系统(Multiprocessor Systems) 网格运算、分布式处理等。
Part 1: Operating System
Lecture2.操作系统引论 5. 操作系统特征
① 并发性★
在同一段时间内,同时存在许多活动
② 共享性★
多个程序共享系统资源
③ 单道程序系统下的程序执行具有顺序性、资源独占性(封 闭性)、确定性(可再现性)特点;多道程序系统中程序 执行出现新特点:相互制约性、随机性、资源共享、与速 度有关性
2.
进程管理
① 进程概念 A. 定义: 可以并发执行的程序或程序段在一个数据集合上
的执行过程。 包括程序, 数据,进程控制块(PCB). B. 程序与进程的区别
GUI:.用户图形界面
Windows 各种窗口,按钮,浏览器
Part 1: Operating System
Lecture2.操作系统引论
③ 虚拟机结构
虚拟机结构在裸机上扩展了一层软件,向上提供了若干台虚拟机。 它包含有核心态/用户态、I/O功能、中断以及真实硬件的全部内容。 实际上它是一个具有比裸机更方便、灵活的计算机。
Lecture2.操作系统引论
《计算机操作系统》MOOC笔记1-计算机系统概论

《计算机操作系统》MOOC笔记1-计算机系统概论南京⼤学的骆斌⽼师主讲的,考研可能会⽤得上计算机系统的组成计算机系统:包括硬件⼦系统和软件⼦系统硬件:借助电、磁、光、机械等原理构成的各种物理部件的有机组合,是系统⼯作的实体CPU,主存储器,I/O控制系统,外围设备软件:各种程序和⽂件,⽤于指挥计算机系统按指定的要求进⾏协同⼯作包括系统软件、⽀撑软件和应⽤软件关键系统软件是:操作系统与语⾔处理程序计算机系统的⽤户视图计算机硬件系统组成中央处理器运算单元控制单元 :解译机器指令主存储器外围设备输⼊设备输出设备存储设备⽹络通信设备总线存储程序计算机体系结构存储器是这个模型的核⼼以运算单元为中⼼,控制流由指令流产⽣采⽤存储程序原理,⾯向主存组织数据流主存是按地址访问、线性编址的空间指令由操作码和地址码组成数据以⼆进制编码总线总线(Bus)是计算机各种功能部件之间传送信息的公共通信⼲线,它是CPU、内存、输⼊输出设备传递信息的公⽤通道计算机的各个部件通过总线相连接,外围设备通过相应的接⼝电路再与总线相连接,从⽽形成了计算机硬件系统按照所传输的信息种类,总线包括⼀组控制线、⼀组数据线和⼀组地址线内部总线:⽤于CPU芯⽚内部连接各元件系统总线:⽤于连接CPU、存储器和各种 I/O模块等主要部件通信总线:⽤于计算机系统之间通信(⽹络)为了加快通信效率,系统总线也是分级的,PCI连接块设备(较快),E(ISA)总线连接字符设备(较慢)。
中央处理器(CPU)中央处理器是计算机的运算核⼼(Core)和控制单元( Control Unit),主要包括:运算逻辑部件:⼀个或多个协运算器寄存器部件:包括通⽤寄存器、控制与状态寄存器,以及⾼速缓冲存储器(Cache)控制部件:实现各部件间联系的数据、控制及状态的内部总线;负责对指令译码、发出为完成每条指令所要执⾏操作的控制信号、实现数据传输等功能的部件存储器L0 L1 L2 L3 L4都是挥发性存储,加电存储,断电失效外围设备设备类型输⼊设备输出设备存储设备机机通信设备(本质上属于输⼊输出设备,但是不同⽹络设备块⼤⼩不⼀致(包,块,字))设备控制⽅式轮询⽅式:CPU忙式控制+数据交换中断⽅式:CPU启动外围设备/中断+数据交换DMA⽅式:CPU启动/中断,DMA独⽴进⾏数据交换软件系统组成系统软件:操作系统、实⽤程序、语⾔处理程序、数据库管理系统操作系统实施对各种软硬件资源的管理控制实⽤程序为⽅便⽤户所设,如⽂本编辑等语⾔处理程序把⽤汇编语⾔/⾼级语⾔编写的程序,翻译成可执⾏的机器语⾔程序⽀撑软件有接⼝软件、⼯具软件、环境数据库,⽀持⽤户使⽤计算机的环境,提供开发⼯具应⽤软件是⽤户按其需要⾃⾏编写的专⽤程序软件开发的不同层次计算机硬件系统:机器语⾔-操作系统之资源管理:机器语⾔+⼴义指令(扩充了硬件资源管理)操作系统之⽂件系统:机器语⾔+系统调⽤(扩充了信息资源管理)数据库管理系统:+数据库语⾔(扩充了功能更强的信息资源管理)语⾔处理程序:⾯向问题的语⾔计算机程序的执⾏过程操作系统的概念OS是计算机系统最基础的系统软件,管理软硬件资源、控制程序执⾏,改善⼈机界⾯,合理组织计算机⼯作流程,为⽤户使⽤计算机提供良好运⾏环境从⽤户⾓度看,OS管理计算机系统的各种资源,扩充硬件的功能,控制程序的执⾏从⼈机交互看,OS是⽤户与机器的接⼝,提供良好的⼈机界⾯,⽅便⽤户使⽤计算机,在整个计算机系统中具有承上启下的地位从系统结构看,OS是⼀个⼤型软件系统,其功能复杂,体系庞⼤,采⽤层次式、模块化的程序结构操作系统组成进程调度⼦系统进程通信⼦系统内存管理⼦系统设备管理⼦系统⽂件管理⼦系统⽹络通信⼦系统作业控制⼦系统从操作控制⽅式分类多道批处理操作系统,脱机控制⽅式分时操作系统,交互式控制⽅式实时操作系统从应⽤领域分类服务器操作系统、并⾏操作系统⽹络操作系统、分布式操作系统个⼈机操作系统、⼿机操作系统嵌⼊式操作系统、传感器操作系统计算机的资源-硬件资源处理器、内存、外设信息资源数据、程序资源的共享与分配⽅式资源共享⽅式独占使⽤⽅式并发使⽤⽅式资源分配策略静态分配⽅式动态分配⽅式资源抢占⽅式多道程序同时计算CPU速度与I/O速度不匹配的⽭盾,⾮常突出只有让多道程序同时进⼊内存争抢CPU运⾏,才可以够使得CPU和外围设备充分并⾏,从⽽提⾼计算机系统的使⽤效率多道程序设计的特点CPU与外部设备充分并⾏外部设备之间充分并⾏发挥CPU的使⽤效率提⾼单位时间的算题量多道程序的实现为进⼊内存执⾏的程序建⽴管理实体:进程如何使⽤资源:调⽤操作系统提供的服务例程(如何陷⼊操作系统)如何复⽤CPU:调度程序(在CPU空闲时让其他程序运⾏)如何使CPU与I/O设备充分并⾏:设备控制器与通道(专⽤的I/O处理器)如何让正在运⾏的程序让出CPU:中断(中断正在执⾏的程序,引⼊OS处理)计算机的操作⽅式OS规定了合理操作计算机的⼯作流程OS的操作接⼝——系统程序 OS提供给⽤户的功能级接⼝,为⽤户提供的解决操作计算机和计算共性问题的所有服务的集合OS的两类作业级接⼝脱机作业控制⽅式:作业控制语⾔联机作业控制⽅式:操作控制命令脱机作业的控制⽅式OS:提供作业说明语⾔⽤户:编写作业说明书,确定作业加⼯控制步骤,并与程序数据⼀并提交操作员:通过控制台输⼊作业OS:通过作业控制程序⾃动控制作业的执⾏例:批处理OS的作业控制⽅式,UNIX的shell程序, DOS的bat⽂件联机作业控制⽅式计算机:提供终端(键盘/显⽰器)⽤户:登录系统OS:提供命令解释程序⽤户:联机输⼊命令,直接控制作业步的执⾏例:分时OS的交互控制⽅式命令解释程序命令解释程序:接受和执⾏⼀条⽤户提出的对作业的加⼯处理命令当⼀个新的批作业被启动,或新的交互型⽤户登录进系统时,系统就⾃动地执⾏命令解释程序,负责读⼊控制卡或命令⾏,作出相应解释,并予以执⾏会话语⾔:可编程的命令解释程序(shell)图形化的命令控制⽅式多通道交互的命令控制⽅式命令解释程序的处理过程OS启动命令解释程序,输出命令提⽰符,等待键盘中断/⿏标点击/多通道识别每当⽤户输⼊⼀条命令(暂存在命令缓冲区)并按回车换⾏时,申请中断CPU响应后,将控制权交给命令解释程序,接着读⼊命令缓冲区内容,分析命令、接受参数,执⾏处理代码前台命令执⾏结束后,再次输出命令提⽰符,等待下⼀条命令后台命令处理启动后,即可接收下条命令操作系统的程序接⼝操作系统的程序接⼝——系统调⽤操作系统实现的完成某种特定功能的过程;为所有运⾏程序提供访问操作系统的接⼝系统调⽤的实现机制陷⼊处理机制:计算机系统中控制和实现系统调⽤的机制陷⼊指令:也称访管指令,或异常中断指令,计算机系统为实现系统调⽤⽽引起处理器中断的指令每个系统调⽤都事先规定了编号,并在约定寄存器中规定了传递给内部处理程序的参数系统调⽤实现:编写系统调⽤处理程序设计⼀张系统调⽤⼊⼝地址表,每个⼊⼝地址指向⼀个系统调⽤的处理程序,并包含系统调⽤⾃带参数的个数陷⼊处理机制需开辟现场保护区,以保存发⽣系统调⽤时的处理器现场操作系统的系统结构-OS构件内核、进程、线程、管程等设计概念模块化、层次式、虚拟化内核设计是OS设计中最为复杂的部分操作系统内核单内核:内核中各部件杂然混居的形态,始于1960年代,⼴泛使⽤;如Unix/Linux,及 Windows(⾃称采⽤混合内核的CS结构)微内核:1980年代始,强调结构性部件与功能性部件的分离,⼤部分OS研究都集中在此混合内核:微内核和单内核的折中,较多组件在核⼼态中运⾏,以获得更快的执⾏速度外内核:尽可能减少内核的软件抽象化和传统微内核的消息传递机制,使得开发者专注于硬件的抽象化;部分嵌⼊式系统使⽤层次结构操作系统的规模在计算机软件发展史上,OS是第⼀个⼤规模的软件系统1960年代,由OS开发所衍⽣的体系结构、模块化开发、测试与验证、演化与维护等研究,直接催⽣了软件⼯程这⼀新兴研究领域(另⼀个催⽣来源是 DB应⽤引发的需求与规格)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*******************实践教学*******************兰州理工大学计算机与通信学院2012年秋季学期操作系统原理课程设计题目:进程的控制系统专业班级:软件工程(1)班姓名:锋学号:10240506指导教师:朱红蕾成绩:目录摘要 (1)正文 (2)1. 设计思想 (2)2. 相关的各模块的伪码算法 (2)3. 函数的调用关系 (8)4. 测试结果 (9)总结 (12)参考文献 (13)致谢 (14)摘要进程是一个可并发执行的具有独立功能的程序关于某个数据集合的一次执行过程,也是操作系统进行分配和保护的基本单位。
进程的组成之一是PCB,它是进程控制块,是系统为描述进程而设计的一种数据结构。
进程由创建而产生,由调度而执行,由撤销而消亡的生命周期,因此操作系统要有对进程生命周期的各个环节进行控制的的功能,所谓进程控制,是指系统使用一些具有特定功能的程序段来创建进程、撤销进程以及完成进程各状态间的转换。
进程的控制包括:创建进程、撤销进程、阻塞进程、唤醒进程、激活进程等,这些控制和管理功能是由操作系统中的原语来实现的,而进程控制原语是对进程生命周期控制和进程状态转换的原语,基于进程的基本状态,他们是创建进程原语、撤销进程原语、阻塞进程原语和唤醒进程原语。
原语是在管态下执行、完成系统特定功能的过程。
系统对进程的控制若不使用原语,就会造成其状态的不确定性,从而达不到进程控制目的。
原语的一种实现方法是系统调用方式,采用访管指令实现,原语在使用中不可中断。
现在操作系统设计中,操作系统内核是基于硬件的第一次软件扩充,它为操作系统的进程控制及管理提供了良好环境,而进程的控制及调度体现了操作系统的运行速度及运行频率,所以说进程控制在靠近硬件的软件层次中占据着重要地位。
关键词: 进程、控制、原语正文1.设计思想进程控制是操作系统对进程进行管理所提供的控制操作。
进程控制至少应该包括进程创建、进程撤销、进程阻塞、进程唤醒、进程执行等操作,它们都使用原语实现。
所谓原语是指在执行过程中不允许中断,它属于操作系统内核的一部分,以系统调用的形式提供给用户和操作系统使用。
因此,我们通过进程的创建原语、撤销原语、阻塞原语以及唤醒原语等,再结合大量的资料,最终完成了进程控制系统源程序。
2.相关的各模块的伪码算法进程控制通过四个原语实现:即(1)创建原语(2)撤销原语(3)阻塞原语(4)唤醒原语。
PCB的常用数据项:i.status:进程状态,包括Running、Readya、Readys、Blockeda、Blockeds等。
i.state:队列指针,所在队列的首指针。
i.addr:队列中进程的PCB间的链接指针,又可分为向前、向后两种指针。
i.priority:进程的优先级。
i.CPU-state:CPU的状态保护区。
i.mainstore:分配的主存区域。
i.resource:资源清单。
i.parent:父进程指针。
i.progeny:后代进程指针。
EP:运行指针。
RQ:就绪队列指针。
1.创建原语:过程:先寻找一个空闲的PCB,然后填写PCB初值,赋值完后,将PCB插入相应的队列中。
创建原语流程图:创建原语算法:void create(n,S0,K0,M0,R0,acc) { i=getinternal name(n); /*获得进程n 的内部名*/ i.id=n; /*填写进程的外部名*/ i.priority=K0; /*填写进程的优先级*/ i.cpu state=S0; /*填写CPU 的初始状态*/ i.mainstore=M0; /*填写内存区域*/i.resources=R0; /*填写资源清单*/查PCB 链表有空PCB?取空表PCB (i )将有关参数填入PCB (i )相应项PCB (i )入就绪队列PCB (i )入进程家族或进程链返回创建失败有无入口i.status="就绪"; /*设置“就绪”状态*/ j=EP; /*获得调用者内部名*/i.parent=j; /*填入调用者进程内部名,即进程i 的父进程*/ i.progeny=0; /*i 的子进程为空,刚被创建,还没有子进程*/ j.progeny=i; /*把i 填入其父进程PCB 中家族指针处*/ i.state=RQ; /*指示i 进程属于就绪队列*/ insert(RQ,i); /*把i 进程PCB 插入就绪RQ 队列*/}2.撤销原语:过程:首先要找到要终止进程的PCB ,若该进程正在运行,则终止它的运行,并置重新调度标识,终止属于该进程的子孙进程,释放终止进程所拥有的全部资源,将终止进程移出它所在队列并收回PCB 。
撤销流程图:撤销原语算法:入口查进程链表或进程家族有此PCB 吗?该PCB 有子进程吗?出错处理 释放该进程所占有的资源释放该PCB 结构本身无 有有无void destroy(n){sched=false;i=getinternal name(n); /*获得进程n的内部名*/kill(i); /*撤销进程*/if(sched==true)scheduler; /*需要调度时转进程调度程序重新调度*/}void kill(i){if(i.status=="执行状态"){stop(i);sched=true;}remove(i.state); /*将该进程的PCB从相应队列中移去*/for all s∈i.progeny do kill(s); /*若有子进程s,递归调用kill(s)撤销之*/for all r∈(i.main store||i.resources)doif(owend(r)) insert(r.semaphore,r.data); /*属于父进程资源归还,且插入资源清单*/for all R∈created resources(i)doremove descriptor(R);/*撤销自己的资源清单,归还清单*/remove process concrol block(i); /*释放进程PCB*/}3.阻塞原语:过程:首先中断PCB,停止进程运行,将CPU的现行状态存放到PCB的CPU状态保护中,然后将该进程置阻塞状态,并把它插入等待队列中,然后系统执行调度程序,将CPU分配给另一个就绪的进程。
阻塞原语流程图:入口保存当前进程的CPU 现场置该进程的状态被阻塞进程入等待队列转进程调度阻塞原语算法:void block(void){i=EP;stop(i); /*阻塞调用进程自己*/i.status="阻塞";/*设置阻塞状态*/i.state=WQ(r);/*填写阻塞队列名称*/insert(WQ(r),i); /*把调用进程的PCB插入相应等待队列WQ(r)*/scheduler; /*转进程调度程序重新调度*/}4.唤醒原语:过程:执行时,首先找到被唤醒进程的内部标识,让该进程脱离阻塞队列,将现行状态改为就绪态,然后插入就绪队列中,等待调度运行。
唤醒原语流程图:入口从等待队列中摘下被唤醒进程将被唤醒进程置为就绪态将被唤醒进程送人就绪队列转进程调度或返回唤醒原语算法:void wakeup(n){i=getinternal name(n); /*获得进程n内部名*/remove(WQ(r),i); /*把进程i的PCB从相应阻塞队列中移出*/i.status="就绪";/*将进程置为就绪态*/i.state=RQ; /*指示i进程属于就绪队列RQ*/insert(RQ,i); /*把进程i的PCB插入就绪队列RQ*/}3.函数的调用关系Main()PCB定义进程控制块并赋值Sort()进程优先级排列函数Check()进程查看函数Input()进程控制块函数Disp()进程显示函数Destroy()进程撤销函数Running()进程就绪函数完成进程控制4测试结果输入所需进程:请输入进程数:2进程号No.1:输入进程名:进程1输入进程优先级:2输入进程运行时间:3进程号No.2:输入进程名:进程2输入进程优先级:1输入进程运行时间:2显示所输出进程信息:经过五次运行后进程控制完成:总结不知不觉中为期2个星期的课程设计结束了,我的设计结果终于出来了,仔细想来,有喜有忧。
通过课程设计我学到了很多东西,也提高了我的动手能力。
经过这次课设我学到了很多。
通过此次课程设计加深理解了什么是进程,熟悉了LINUX/WINDOWS支持的进程的控制方式。
熟悉了/LINUX/WINDOWS 的常用基本命令。
这次课设的题目是进程控制系统,而经过查阅的大量资料,我发现进程控制系统主要包括进程的创建,进程的撤销,进程阻塞以及进程的唤醒,然后分模块完成。
而且通过此次课程设计使我懂得了思考的重要性,学到了严谨的学习态度、刻苦的探索精神,也增加了去面对更大挑战的信心和勇气,同时也培养了把学到的知识用于解决实际问题,培养了我们的独立动手能力。
如果仅靠一个人要完成所有的工作是非常困难的,所以在以后的学习中我会更加注意各个方面的能力的协调发展。
在课程设计时遇到了很多的问题,在老师的帮助,同学的帮助以及对各种资料的查阅中,将问题解决,培养了我自主动手,独立研究的能力,也告诉我合作的重要性,为今后在学习工作中能更好的发展作下了很好的铺垫。
两周的课程设计很短暂,但其间的内容是很充实的,在其中我学习到了很多平时书本中无法学到的东西,积累了经验,锻炼了自己分析问题,解决问题的能力。
并学会了如何将所学的各课知识融汇组织来配合学习,两周中我受益匪浅。
参考文献1. 汤子瀛,哲凤屏.《计算机操作系统》.西安电子科技大学学出版社.2. 王清,李光明.《计算机操作系统》.冶金工业出版社.3.孙钟秀等. 操作系统教程. 高等教育出版社4.曾明. Linux操作系统应用教程. 陕西科学技术出版社.5. 张丽芬,刘利雄.《操作系统实验教程》. 清华大学出版社.6. 孟静,操作系统教程--原理和实例分析. 高等教育出版社7. 周长林,计算机操作系统教程. 高等教育出版社8. 张尧学,计算机操作系统教程,清华大学出版社9. 任满杰,操作系统原理实用教程,电子工业出版社致谢为期两个星期的课程设计结束了,说实话我从中学到了很多课本上没有的东西,让我受益匪浅。
在此,我要向我的指导老师朱红蕾老师致以最诚挚的谢意。
她在我的课程设计过程中提出了指导性的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。
在这段时间内老师一直认真的指导我们,才使设计圆满完成!我还要再次感谢我的操作系统老师王旭阳老师,在以往的基础课学习中为我打下良好的基础,这是我这次课程设计能够顺利完成的前提。