已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Process Description and Control,Chapter 3,2,Agenda,3.1 What is a Process 3.2 Process States 3.3 Process Description 3.4 Process Control 3.5 Unix SVR4 Process Management 3.6 Summary,3,3.1 What is a Process,3.1.1 Background 3.1.2 Processes and Process Control Blocks,4,Requirements of an Operating System,Interleave the execution of multiple processes to maximize processor utilization while providing reasonable response time Allocate resources to processes Support interprocess communication and user creation of processes,5,Concepts,Computer platform consists of a collection of hardware resources Computer applications are developed to perform some task Inefficient for applications to be written directly for a given hardware platform Operating system provides a convenient to use, feature rich, secure, and consistent interface for applications to use OS provides a uniform, abstract representation of resources that can be requested and accessed by application,6,Manage Execution of Applications,Resources made available to multiple applications Processor is switched among multiptle application The processor and I/O devices can be used efficiently,7,3.1 What is a Process,3.1.1 Background 3.1.2 Processes and Process Control Blocks,8,Process,A program in execution An instance of a program running on a computer The entity that can be assigned to and executed on a processor A unit of activity characterized by the execution of a sequence of instructions, a current state, and an associated set of system instructions,9,Process Elements,Identifier State Priority Program counter Memory pointers Context data I/O status information Accounting information,10,Process Control Block,Contains the process elements Created and manage by the operating system Allows support for multiple processes,11,Process Control Block,12,Agenda,3.1 What is a Process 3.2 Process States 3.3 Process Description 3.4 Process Control 3.5 Unix SVR4 Process Management 3.6 Summary,13,3.2 Process States,3.2.1 Trace of the Process 3.2.2 A Two-State Process Model 3.2.3 The Creation and Termination of Processes 3.2.4 A Five-State Model 3.2.5 Suspended Process,14,Trace of Process,Sequence of instruction that execute for a process Dispatcher switches the processor from one process to another,15,Example Execution,16,Trace of Processes,17,Trace of Processes,18,3.2 Process States,3.2.1 Trace of the Process 3.2.2 A Two-State Process Model 3.2.3 The Creation and Termination of Processes 3.2.4 A Five-State Model 3.2.5 Suspended Process,19,Two-State Process Model,Process may be in one of two states Running Not-running,20,Not-Running Process in a Queue,21,3.2 Process States,3.2.1 Trace of the Process 3.2.2 A Two-State Process Model 3.2.3 The Creation and Termination of Processes 3.2.4 A Five-State Model 3.2.5 Suspended Process,22,Process Creation,23,Process Termination,24,Process Termination,25,3.2 Process States,3.2.1 Trace of the Process 3.2.2 A Two-State Process Model 3.2.3 The Creation and Termination of Processes 3.2.4 A Five-State Model 3.2.5 Suspended Process,26,Processes,Not-running ready to execute Blocked waiting for I/O Dispatcher cannot just select the process that has been in the queue the longest because it may be blocked,27,A Five-State Model,Running Ready Blocked New Exit,28,Five-State Process Model,29,Process States,30,Using Two Queues,31,Multiple Blocked Queues,32,3.2 Process States,3.2.1 Trace of the Process 3.2.2 A Two-State Process Model 3.2.3 The Creation and Termination of Processes 3.2.4 A Five-State Model 3.2.5 Suspended Process,33,Suspended Processes,Processor is faster than I/O so all processes could be waiting for I/O Swap these processes to disk to free up more memory Blocked state becomes suspend state when swapped to disk Two new states Blocked/Suspend ReadySuspend,34,One Suspend State,35,Two Suspend States,36,Reasons for Process Suspension,37,Agenda,3.1 What is a Process 3.2 Process States 3.3 Process Description 3.4 Process Control 3.5 Unix SVR4 Process Management 3.6 Summary,38,3.3 Process Description,3.3.1 Processes and Resources 3.3.2 Operating System Control Structures 3.3.3 Process Control Structures,39,Processes and Resources,40,3.3 Process Description,3.3.1 Processes and Resources 3.3.2 Operating System Control Structures 3.3.3 Process Control Structures,41,Operating System Control Structures,Information about the current status of each process and resource Tables are constructed for each entity the operating system manages,42,Structure of OS Control Tables,43,Memory Tables,Allocation of main memory to processes Allocation of secondary memory to processes Protection attributes for access to shared memory regions Information needed to manage virtual memory,44,I/O Tables,I/O device is available or assigned Status of I/O operation Location in main memory being used as the source or destination of the I/O transfer,45,File Tables,Existence of files Location on secondary memory Current Status Attributes Sometimes this information is maintained by a file management system,46,Process Table,Where process is located Attributes in the process control block Program Data Stack,47,Process Image,48,3.3 Process Description,3.3.1 Processes and Resources 3.3.2 Operating System Control Structures 3.3.3 Process Control Structures,49,Process Control Block,Process Identification Processor State Information Process Control information,50,Process identification,Identifiers Numeric identifiers that may be stored with the process control block include Identifier of this process Identifier of the process that created this process (parent process) User identifier,51,Processor State Information,User-Visible Registers A user-visible register is one that may be referenced by means of the machine language that the processor executes while in user mode. Typically, there are from 8 to 32 of these registers, although some RISC implementations have over 100.,52,Processor State Information,Control and Status Registers These are a variety of processor registers that are employed to control the operation of the processor. These include Program counter: Contains the address of the next instruction to be fetched Condition codes: Result of the most recent arithmetic or logical operation (e.g., sign, zero, carry, equal, overflow) Status information: Includes interrupt enabled/disabled flags, execution mode,53,Processor State Information,Stack Pointers Each process has one or more last-in-first-out (LIFO) system stacks associated with it. A stack is used to store parameters and calling addresses for procedure and system calls. The stack pointer points to the top of the stack.,54,Processor State Information,Contents of processor registers User-visible registers Control and status registers Stack pointers Program status word (PSW) contains status information Example: the EFLAGS register on Pentium machines,55,Pentium II EFLAGS Register,56,Process Control Information,Scheduling and State Information This is information that is needed by the operating system to perform its scheduling function. Typical items of information: Process state: defines the readiness of the process to be scheduled for execution (e.g., running, ready, waiting, halted). Priority: One or more fields may be used to describe the scheduling priority of the process. In some systems, several values are required (e.g., default, current, highest-allowable) Scheduling-related information: This will depend on the scheduling algorithm used. Examples are the amount of time that the process has been waiting and the amount of time that the process executed the last time it was running. Event: Identity of event the process is awaiting before it can be resumed,57,Process Control Information,Data Structuring A process may be linked to other process in a queue, ring, or some other structure. For example, all processes in a waiting state for a particular priority level may be linked in a queue. A process may exhibit a parent-child (creator-created) relationship with another process. The process control block may contain pointers to other processes to support these structures.,58,Process Control Information,Interprocess Communication Various flags, signals, and messages may be associated with communication between two independent processes. Some or all of this information may be maintained in the process control block. Process Privileges Processes are granted privileges in terms of the memory that may be accessed and the types of instructions that may be executed. In addition, privileges may apply to the use of system utilities and services.,59,Process Control Information,Memory Management This section may include pointers to segment and/or page tables that describe the virtual memory assigned to this process. Resource Ownership and Utilization Resources controlled by the process may be indicated, such as opened files. A history of utilization of the processor or other resources may also be included; this information may be needed by the scheduler.,60,Agenda,3.1 What is a Process 3.2 Process States 3.3 Process Description 3.4 Process Control 3.5 Unix SVR4 Process Management 3.6 Summary,61,3.4 Process Control,3.4.1 Modes of Execution 3.4.2 Process Creation 3.4.3 Process Switching 3.4.4 Execution of the Operating System,62,Modes of Execution,User mode Less-privileged mode User programs typically execute in this mode System mode, control mode, or kernel mode More-privileged mode Kernel of the operating system,63,3.4 Process Control,3.4.1 Modes of Execution 3.4.2 Process Creation 3.4.3 Process Switching 3.4.4 Execution of the Operating System,64,Process Creation,Assign a unique process identifier Allocate space for the process Initialize process control block Set up appropriate linkages Ex: add new process to linked list used for scheduling queue Create of expand other data structures Ex: maintain an accounting file,65,3.4 Process Control,3.4.1 Modes of Execution 3.4.2 Process Creation 3.4.3 Process Switching 3.4.4 Execution of the Operating System,66,When to Switch a Process,Clock interrupt process has executed for the maximum allowable time slice I/O interrupt Memory fault memory address is in virtual memory so it must be brought into main memory,67,When to Switch a Process,Trap error or exception occurred may cause process to be moved to Exit state Supervisor call such as file open,68,Change of Process State,Save context of processor including program counter and other registers Update the process control block of the process that is currently in the Running state Move process control block to appropriate queue ready; blocked; ready/suspend Select another process for execution,69,Change of Process State,Update the process control block of the process selected Update memory-management data structures R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 易混淆药品管理制度
- 电力工程分包单位考核管理细则
- 贵州省毕节市某中学2024-2025学年高一下学期期中考试英语试题
- 内蒙古赤峰市松山区2025-2026学年第二学期高一年级期中学业质量检测数学试题
- 高中三年级语文《现代文阅读之筛选整合信息》教案
- 《糖尿病康复概要》课件
- 2026及未来5年中国库存服装市场现状数据分析及前景预测报告
- 多行业AI智能体终端研究报告 技术演进·产业格局·场景落地·合作共建(黑盟、政科)
- 《煤粉燃烧特性研究》课件
- 新生儿疾病筛查血片采集技术规范
- 2026 银行秋招 EPI 真题试卷及答案
- 2026小学生科普常识知识竞赛题及答案
- 2026年名著长征试题(附答案)
- 4.多位数乘两位数(进位)教学设计2026-2027学年人教版四年级上册数学
- 新能源充电桩标准化施工规范
- 2026年永州职业技术学院单招职业技能考试题库及答案
- 解除专业分包合同协议
- 2026年招聘消防文员笔试题库附答案
- 急诊科诊疗指南及操作规范(2025版)
- QC/T 1238-2025燃料电池发动机用空气滤清器
- 雨课堂学堂在线学堂云《高等工程热力学(北京理工)》单元测试考核答案
评论
0/150
提交评论