- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux进程管理和文本编辑?
??
?
? 摘要:本讲主要介绍Linux系统中进程和线程的概念、进程状态、信号机制、有关进程的常用命令、系统引导,以及vi编辑器的使用方法。 ????Linux是一个多用户、多任务的操作系统,这就意味着多个用户可以同时使用一个操作系统,而每个用户又可以同时运行多个命令。在这样的系统中,各种计算机资源(如文件、内存、CPU等)的分配和管理都以进程为单位。为了协调多个进程对这些共享资源的访问,操作系统要跟踪所有进程的活动,以及它们对系统资源的使用情况,实施对进程和资源的动态管理。 ????进程和线程 ????1.进程及其状态????在多道程序工作环境下,各个程序是并发执行的,它们共享系统资源,共同决定这些资源的状态。彼此间相互制约、相互依赖,因而呈现出并发、动态及互相制约等新的特征。这样,用程序这个静态概念已不能如实反映程序活动的这些特征。为此,人们引进了进程(Process)这一新概念,来描述程序动态执行过程的性质。 ????简单说来,进程就是程序的一次执行过程。它有着走走停停的活动规律。进程的动态性质是由其状态变化决定的。通常在操作系统中,进程至少要有三种基本状态,它们是运行态、就绪态和封锁态(或阻塞态)。 ????运行状态是指当前进程已分配到CPU,它的程序正在处理器上执行时的状态。处于这种状态的进程个数不能大于CPU的数目。在一般单CPU机制中,任何时刻处于运行状态的进程至多有一个。 ????就绪状态是指进程已具备运行条件,但因为其它进程正占用CPU,所以暂时不能运行而等待分配CPU的状态。一旦把CPU分给它,立即就可运行。在操作系统中,处于就绪状态的进程数目可以是多个。 ????封锁状态是指进程因等待某种事件发生(例如等待某一输入、输出操作完成,等待其它进程发来的信号等)而暂时不能运行的状态。也就是说,处于封锁状态的进程尚不具备运行条件,即使CPU空闲,它也无法使用。这种状态有时也称为不可运行状态或挂起状态。系统中处于这种状态的进程可以是多个的。 ????进程的状态可依据一定的条件和原因而变化,如图1所示。一个运行的进程可因某种条件未满足而放弃CPU,变为封锁状态;以后条件得到满足时,又变成就绪态;仅当CPU被释放时才从就绪态进程中挑选一个合适的进程去运行,被选中的进程从就绪态变为运行态。挑选进程、分配CPU这个工作是由进程调度程序完成的。 ????另外,在Linux系统中,进程(Process)和任务(Task)是同一个意思。所以,在内核的代码中,这两个名词常常混用。 ????2.Linux进程状态 ????在Linux系统中,进程有以下几个状态:????◆运行态(TASK_RUNNING) 此时,进程正在运行(即系统的当前进程)或者准备运行(即就绪态)。????◆等待态 此时进程在等待一个事件的发生或某种系统资源。Linux系统分为两种等待进程:可中断的(TASK_INTERRUPTIBLE)和不可中断的(TASK_UNINTERRUPTIBLE)。可中断的等待进程可以被某一信号(Signal)中断;而不可中断的等待进程不受信号的打扰,将一直等待硬件状态的改变。????◆停止态(TASK_STOPPED) 进程被停止,通常是通过接收一个信号。正在被调试的进程可能处于停止状态。????◆僵死态(TASK_ZOMBIE) 由于某些原因被终止的进程,但是该进程的控制结构task_struct仍然保留着。 ????图2示出Linux系统中进程状态的变化关系。
图1 进程状态及其变化 图2 Linux进程状态的变化
????3.进程的模式和类型????在Linux系统中,进程的执行模式划分为用户模式和内核模式。如果当前运行的是用户程序、应用程序或者内核之外的系统程序,那么对应进程就在用户模式下运行;如果在用户程序执行过程中出现系统调用或者发生中断事件,就要运行操作系统(即核心)程序,进程模式就变成内核模式。在内核模式下运行的进程可以执行机器的特权指令;而且,此时该进程的运行不受用户的干预,即使是root用户也不能干预内核模式下进程的运行。 ????按照进程的功能和运行的程序分类,进程可划分为两大类:一类是系统进程,只运行在内核模式,执行操作系统代码,完成一些管理性的工作,例如内存分配和进程切换;另外一类是用户进程,通常在用户模式中执行,并通过系统调用或在出现中断、异常时进入内核模式。 ????用户进程既可以在用户模式下运行,也可以在内核模式下运行,如图3所示。
图3 用户进程的两种运行模式
????4.Linux线程????线程是和进程紧密相关的概念。一般说来,Linux系统中的进程应
文档评论(0)