进程管理

操作系统-----第二章 进程管理

半城伤御伤魂 提交于 2019-12-10 10:59:13
第二章 进程管理 文章目录 第二章 进程管理 @[toc] 1. 进程的定义 (1). PCB (2). 进程的组织 1). 链接方式 2). 索引方式 (3). 进程的特性 2. 进程状态和转换 (1). 进程的三种基本状态: (2). 另外两种状态: (3). 状态的转换 3. 进程控制 4. 进程通信 (1). 共享存储 1). 基于数据结构的共享 2). 基于存储区的共享 (2). 管道通信 (3). 消息传递 1). 直接通信方式 2). 间接通信方式 5. 线程 (1). 线程的概念 (2). 线程的实现方式 (3). 多线程模型 6. 处理机调度 (1). 高级调度 (2). 中级调度 (3). 线程状态的七状态模型 (4). 低级调度 (5). 联系和对比 7. 进程调度 (1). 进程调度的时机 (2). 进程调度的方式 (3). 调度算法的评价指标 (4). 调度算法 1). 先来先服务(FCFS) 2). 短作业优先(SJF) 3). 高响应比优先(HRRN) 4). 时间片轮转(RR) 5). 优先级调度算法 6). 多级反馈队列 8. 实现进程互斥 (1). 软件实现 1). 单标志法 2). 双标志先检查法 3). 双标志后检查法 4). Peterson算法 (2). 硬件实现 1). 中断屏蔽 2). TestAndSet指令 3). Swap指令

2019-2020-1学期 20192403 《网络空间安全专业导论》第十周学习总结

喜你入骨 提交于 2019-12-09 19:54:10
2019-2020-1学期 20192403 《网络空间安全专业导论》第十周学习总结 第四章 学习收获 操作系统概述 操作系统的主要功能 进程管理、内存管理、文件管理、用户接口、设备管理 操作系统安全 操作系统的安全威胁 非法用户或假冒用户入侵系统 数据被非法破坏或数据丢失 不明病毒的破坏和黑客入侵 操作系统运行不正常 操作系统的脆弱性 操作系统的远程调用和系统漏洞 进程管理体系存在问题:进程管理是操作系统的核心功能 空口令或弱口令 默认共享密钥 系统组件漏洞 应用程序漏洞 操作系统的常见安全保护机制 进程隔离和内存保护 运行模式:内核模式、用户模式 用户权限控制 文件系统访问保护控制 安全评估标准:A、B、C、D 常见操作系统 Windows系统用户可通过以下手段提升系统安全性 正确设置和管理系统用户账户 安全管理系统对外的网络服务 启用Windows系统日志功能,并对日志文件进行保护 Rooikit的组成 以太网嗅探器程序 隐藏攻击者的目录和进程的程序 一些复杂的Rooikit可以向攻击者提供telnet、shell、finger等服务 用来清理文件脚本 移动终端安全 移动终端概念 移动终端是指可以在移动中使用的计算机设备,可分为有线可移动终端和无线移动终端两类 安全问题 敏感信息本地存储 网络数据传输 应用安全问题 恶意软件 系统安全问题 Android平台及其安全 平台特性

Nginx 进程管理,你需要了解哪些?

南笙酒味 提交于 2019-12-06 03:38:13
Nginx 是一个多进程的程序,多进程之间进行通讯可以使用共享内存、信号等。当做进程间管理的时候,通常只使用信号。 今天就来看一下 Nginx 进程管理中的信号是怎样使用的。 Nginx 进程管理:信号 从上图可以看出,能够发送和处理信号的有 master 进程、worker 进程、Nginx 命令行。 首先让我们来看下 Master 进程。 Master 进程 因为 master 进程会启动 worker 进程,所以它管理 worker 进程的方式首先是监控 worker 进程有没有发送 CHLD 信号,因为 Linux 操作系统中规定当子进程终止的时候会向父进程发送 CHLD 信号,所以如果 worker 进程由于一些模块代码 bug 导致 worker 进程意外终止,那么 master 进程可以立刻通过 CHLD 发现这样一个事件,然后重新把 worker 进程拉起。 Master 进程还会通过接受一些信号,来管理 worker 进程。 Master 进程可以接受的信号有: TERM、INT:立刻停止 Nginx 进程 QUIT:优雅停止 Nginx 进程,不会对用户立刻发送结束连接请求(比如像 TCP 中的 reset 复位请求这样的报文) HUP:表示重载配置文件 USR1:表示重新打开日志文件,做日志文件的切割 USR2:专门针对做热部署使用 WINCH

僵尸进程与孤儿进程你真的了解吗?

☆樱花仙子☆ 提交于 2019-12-05 05:36:29
今天在书上看到了 “僵尸进程与孤儿进程”的描述,又查看了一些资料,对这两种进程又多了点认识,这里简要记录下。 这两种进程粗看好像是差不多的,因为都有可能会被init进程回收,但是总的来说还是有点不一样,不管从产生的方式和危害程序都是不一样的。 僵尸进程与孤儿进程的产生 僵尸进程:子进程先结束,然后父进程又不管他,init进程来管理回收。 孤儿进程:父进程先结束,子进程找不到父了,init进程来回收。 僵尸进程回收:把父进程杀死,然后就由init回收了。 所以,僵尸进程与孤儿进程的产生就看是父进程还是子进程先结束。 僵尸进程 子进程结束时,父进程没有对子进程进行等待,不管他的死活。如果程序中父进程能正常结束还好,因为一旦子进程找不到它的父的话,会由init进程接管进行回收处理。 最悲剧的是,一般父进程都是挂一个循环在那里,不会结束的,这个时候系统发现你的父进程还存在的,然后init就不会管你,就产生僵尸进程了,而且如果产生太多会浪费大量的系统资源。 僵尸进程也不能用kill杀死,因为他的进程已经死了。 以下程序会产生僵尸进程,父进程没有等待子进程。通过ps -ef中,能看到 表示僵尸进程 <?php $pid = pcntl_fork(); if ($pid == -1) { die('fork error'); } else if ($pid > 0) { echo "I'm

python os模块进程管理

邮差的信 提交于 2019-12-05 05:04:57
有两种方式来实现并发性,一种方式是让每个“任务"或“进程”在单独的内在空间中工作,每个都有自已的工作内存区域。不过,虽然进程可在单独的内存空间中执行,但除非这些进程在单独的处理器上执行,否则,实际并不是“同时”运行的。是由操作系统把处理器的时间片分配给一个进程,用完时间片后就需退出处理器等待另一个时间片的到来。另一种方式是在在程序中指定多个“执行线程”,让它们在相同的内存空间中工作。这称为“多线程处理”。线程比进程更有效,因为操作系统不必为每个线程创建单独的内存空间。 新建进程用os.fork函数。但它只在POSIX系统上可用,在windows版的python中,os模块没有定义os.fork函数。相反,windows程序员用多线程编程技术来完成并发任务。 os.fork函数创建进程的过程是这样的。程序每次执行时,操作系统都会创建一个新进程来运行程序指令。进程还可调用os.fork,要求操作系统新建一个进程。父进程是调用os.fork函数的进程。父进程所创建的进程叫子进程。每个进程都有一个不重复的进程ID号。或称pid,它对进程进行标识。子进程与父进程完全相同,子进程从父进程继承了多个值的拷贝,如全局变量和环境变量。两个进程的唯一区别是fork的返回值。子进程接收返回值0,而父进程接收子进程的pid作为返回值。 用os.fork创建的子进程和父进程作为异步的并发进程而单独执行

操作系统之进程管理

烂漫一生 提交于 2019-12-05 03:17:27
为什么需要进程: 程序运行在并发环境下   1.运行过程不确定   2.结果不可再现    // 具体为什么不怎么清楚。。 进程:用来描述和管理运行过程 特征:1.动态性:是程序的一次执行过程,动态产生和消亡;    2.并发性  // 并发性与并行性不相等 ,并发性是在一个CPU中执行,因为速度很快,所以多个进程看起来在一起运行,不过在微观角度来说 ,还是在分开运行的。          // 并行性是在多个CPU上运行的进程,所以无论是微观还是宏观都是并发的。    3.异步性  // 明天看书 不是很理解    4.独立性(制约性)   //内存保护 程序和进程之间的差异:   1.动态和静态   2.暂存和长存   //进程在执行完后会被杀死,而程序会一直保留 杂点   进程的分类   按权限     1.系统进程     2.用户进程   按对CPU的依赖     1.偏CPU进程--->多计算     2.偏I/O进程----->多I/O   一个程序可以有多个进程。 PCB: 进程控制块   唯一表示进程 //进程存在的唯一标志 PCB的信息:   1.本进程的标识   2.父进程的标识   3.用户标识  // 看书不是很懂   4.进程控制信息 // 不懂 看书 PCB的组织方式:   一般为链表(要经常的动态删除和添加) 进程创建的时间   1.系统初始化时;

Linux系统进程管理

谁都会走 提交于 2019-12-04 17:33:22
Linux系统进程管理 阅读量: 210 进程介绍 进程管理 进程优先级 什么是进程? Linux系统中的几乎任何行动都会以进程的形式进行。如果你用网络浏览器查看网页,浏览器就作为进程运行。如果键入bash shell的命令行,这个shell就作为进程运行。如果你用chmod命令来更改文件权限,chmod就作为单独的进程来执行。进程是完成工作的形式,linux内核的基本职责就是为进程提供做事情的地方,不让彼此撞车。 进程是已启动的可执进程序的运行实例,进程有以下组成部分: 1 已分配内存的地址空间 2 安全属性,包括所有权凭据个特权 3 程序代码的一个或多个执行进程 4 进程状态 进程与程序区分 程序:二进制文件,静态。 进程:是程序运行的过程,动态,有生命周期及运行状态 进程的属性: 1. 进程ID(PID):是唯一的值,用来区分进程 2. 父进程(PPID) 3. 启动进程的用户ID(UID)和所归属的组(GID) 4. 进程状态:分为运行R,休眠S,僵尸Z 5. 进程执行的优先级 6. 进程所连接的终端名 7. 进程资源占用:如内存、CPU等 进程(Process)是一个程序在其自身的虚拟地址空间中的一次执行活动。之所以要创建进程,就是为了使多个程序可以并发的执行,从而提高系统的资源利用率和吞吐量。 程序只是一个静态的指令集合;而进程是一个程序的动态执行过程,它具有生命期

操作系统复习(1)进程管理

最后都变了- 提交于 2019-12-04 14:27:25
进程控制块(PCB) 进程控制块是进程的唯一标志。 PCB是有限的,创建进程需要申请PCB。 进程控制块中的内容: 为什么要区分就绪状态和等待状态? 就绪状态是指进程仅缺少处理机,只要获得处理机资源就立即执行; 等待状态是指进程需要其他资源(除了处理机)或等待某一事件。 之所以把处理机和其他资源划分开,是因为在分时系统的时间片轮转机制中,每个进程分到的时间片是若干毫秒。也就是说,进程得到处理机的时间很短且非常频繁,进程在运行过程中实际上是频繁地转换到就绪状态的;而其他资源(如外设)的使用和分配或者某一事件的发生(如I/O操作的完成)对应的时间相对来说很长,进程转换到等待状态的次数也相对较少。这样看来,就绪状态和等待状态是进程生命周期中两个完全不同的状态,显然需要加以区分。 进程状态转换 1、就绪状态→运行状态 处于就绪状态的进程获得了处理机资源。 2、运行状态→就绪状态 时间片用完了让出处理机; 可剥夺操作系统中,优先级更高的进程被调度,正在执行的低优先级进程从运行状态转为就绪状态。 3、运行状态→阻塞状态 进程请求某一资源或等待某一事件的发生。 4、阻塞状态→就绪状态 进程等待的时间到来了(I/O操作结束或中断结束)。 进程控制 进程的创建 子进程可以继承父进程所拥有的资源。 子进程被撤销时,将从父进程那里获得的资源归还给父进程。 撤销父进程时,必须同时撤销其所有的子进程。

操作系统之学习内容_2019-11-7

最后都变了- 提交于 2019-12-04 13:32:39
操作系统的演进   从无操作系统 --> 批处理系统 --> 分时系统 多道程序设计   早期批处理系统只能一次处理一个任务,多道程序设计使得批处理系统可以一次处理多个任务。   多道程序在计算机的管理程序之下相互穿插运行。 对多道程序的管理   对多道程序的管理是操作系统的重要功能   五大功能     进程管理       进程管理之进程实体       进程管理之五状态模型       进程管理之进程同步       Linux的进程管理     作业管理       作业管理之进程调度         作业管理之死锁     存储管理       存储管理之内存分配与回收       存储管理之段页式存储管理       存储管理之虚拟内存       Linux的存储管理     文件管理       操作系统的文件管理       Linux的文件系统       Linux文件的基本操作     设备管理       操作系统的设备管理 学习环境   Vmware WorkStation + Ubuntu 来源: https://www.cnblogs.com/pfcz1/p/11811783.html

操作系统-第2章习题解析

走远了吗. 提交于 2019-12-04 12:05:37
第二章习题解析 1. 什么是前趋图?为什么要引入前趋图? 答:前趋图 (Precedence Graph) 是一个有向无循环图,记为DAG(DirectedAcyclic Graph) ,用于描述进程之间执行的前后关系。 2. 画出下面四条语句的前趋图: S1=a: =x+y; S2=b:=z+1; S3=c:=a–b ; S4=w:=c+1; 答:其前趋图为: 3. 什么程序并发执行会产生间断性特征? 答:程序在并发执行时,由于它们共享系统资源,为完成同一项任务需要相互合作,致使这些并发执行的进程之间,形成了相互制约关系,从而使得进程在执行期间出现间断性。 4.程序并发执行时为什么会失去封闭性和可再现性? 答:程序并发执行时,多个程序共享系统中的各种资源,因而这些资源的状态由多个程序改 变,致使程序运行失去了封闭性,也会导致其失去可再现性。 5.在操作系统中为什么要引入进程概念?它会产生什么样的影响? 答:为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。 影响 : 使程序的并发执行得以实行。 6.试从动态性,并发性和独立性上比较进程和程序。 答: (1) 动态性是进程最基本的特性,表现为由创建而产生,由调度而执行,因得不到资源 而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,是静态实体。 (2)