学习源于《操作系统——精髓与设计原理》
最近上了操作系统的课,那本书太厚了,字又小,不过对于老师来说完全没难度,她一节课能讲个几十页,因此上课梦游般的我便得回宿舍死啃几十页了
鉴于就单单看书我没啥个精神,因此边看边总结,然后敲在电脑上
进程概念是操作系统中的基本概念
操作系统要交替执行多个进程,然后在合理的响应时间内使cpu的利用率最高
操作系统必须要按照特定的策略给进程分配资源,比如说进程优先级之类的
操作系统可支持进程间蝗通信和用户创建进程
进程的定义:
一个正在执行中的程序
一个正在计算机上执行的程序实例
能分配给处理器并由处理器执行的实体
一个具有以下特征的活动单元:一组指令序列的执行,一个当前状态和相关的系统资源集
进程的两个基本元素是程序代码和代码相关联的数据集
总的说,有一个程序,有代码,然后cpu执行这个程序的代码,然后这个执行实体就称为进程
有一个名作进程控制块(process control block)的东东,它包含:
标识符
状态
优先级
程序计数器
内存指针
上下文数据
I/O状态信息
记账信息
上面的东东包含了进程的各种信息,因此中断进程后,以后再执行该进程时就好像什么事情都没发生一样
上面的状态,当进程正在运行时,处于运行态
注,单处理器计算机任何时间都只有一个过程在执行
假设三个进程载入内存,为A,B,C
理应一段代码是顺序往下执的,即程序计数器自加
程序计数器(Program counter)总是存着下一条命令的位置
经过本人百度,发现program counter和instruction pointer原来是同一东东
但cpu运行要切换到另一进程,因为一个cpu不可能总是只运行一个进程
因此cpu运行实际上是:
运行操作系统的一些指令,然后A进程几条指令,然后操作系统的一此指令,再然后B进程的几条指令之类
实际上,对于进程来说,当被调度时那个进程控制快里的状态就变成运行状态,暂停时就变为非运行状态,运行完就退出
但系统是怎样控制调哪个进程的呢,这里用到了数据结构中的队列,先进先出,就像排队那样,排在第一个那个被调,运行完就销毁,未完但超时的话到队列的最后面重新排队
那些管理进程的数据结构是由操作系统来建立并在内存为它们分配空间的
不论何时,操作系统都负责新进程的创建
导致进程创建的原因:
新的批处理作业
交互登录
操作系统因为提供一项服务而创建
由现有的进程派生
当操作系统为另一个进程的显式请求创建另一个进程时,这个动作叫作进程派生
一个进程派生另一个进程,前一个称为父进程,被派生的进程称为子进程
进程终止的原因有四大种
一是正常地完成了
二是出错了,出错原因有很多,但略
三是操作员或操作系统干涉(如死锁)
四是父进程终止或是父进程请求
2015.3.23
最近上了操作系统的课,那本书太厚了,字又小,不过对于老师来说完全没难度,她一节课能讲个几十页,因此上课梦游般的我便得回宿舍死啃几十页了
鉴于就单单看书我没啥个精神,因此边看边总结,然后敲在电脑上
进程概念是操作系统中的基本概念
操作系统要交替执行多个进程,然后在合理的响应时间内使cpu的利用率最高
操作系统必须要按照特定的策略给进程分配资源,比如说进程优先级之类的
操作系统可支持进程间蝗通信和用户创建进程
进程的定义:
一个正在执行中的程序
一个正在计算机上执行的程序实例
能分配给处理器并由处理器执行的实体
一个具有以下特征的活动单元:一组指令序列的执行,一个当前状态和相关的系统资源集
进程的两个基本元素是程序代码和代码相关联的数据集
总的说,有一个程序,有代码,然后cpu执行这个程序的代码,然后这个执行实体就称为进程
有一个名作进程控制块(process control block)的东东,它包含:
标识符
状态
优先级
程序计数器
内存指针
上下文数据
I/O状态信息
记账信息
上面的东东包含了进程的各种信息,因此中断进程后,以后再执行该进程时就好像什么事情都没发生一样
上面的状态,当进程正在运行时,处于运行态
注,单处理器计算机任何时间都只有一个过程在执行
假设三个进程载入内存,为A,B,C
理应一段代码是顺序往下执的,即程序计数器自加
程序计数器(Program counter)总是存着下一条命令的位置
经过本人百度,发现program counter和instruction pointer原来是同一东东
但cpu运行要切换到另一进程,因为一个cpu不可能总是只运行一个进程
因此cpu运行实际上是:
运行操作系统的一些指令,然后A进程几条指令,然后操作系统的一此指令,再然后B进程的几条指令之类
实际上,对于进程来说,当被调度时那个进程控制快里的状态就变成运行状态,暂停时就变为非运行状态,运行完就退出
但系统是怎样控制调哪个进程的呢,这里用到了数据结构中的队列,先进先出,就像排队那样,排在第一个那个被调,运行完就销毁,未完但超时的话到队列的最后面重新排队
那些管理进程的数据结构是由操作系统来建立并在内存为它们分配空间的
不论何时,操作系统都负责新进程的创建
导致进程创建的原因:
新的批处理作业
交互登录
操作系统因为提供一项服务而创建
由现有的进程派生
当操作系统为另一个进程的显式请求创建另一个进程时,这个动作叫作进程派生
一个进程派生另一个进程,前一个称为父进程,被派生的进程称为子进程
进程终止的原因有四大种
一是正常地完成了
二是出错了,出错原因有很多,但略
三是操作员或操作系统干涉(如死锁)
四是父进程终止或是父进程请求
2015.3.23