UNIX操作系统进程

一、进程的基本概念
    1、定义:进程就是一个正在执行的程序。更精确说进程就是一个被加载到内存中,准备运行的程序。
    2、进程的分配:
        所有进程都是由内核管理的。当一个进程被创建时,内核赋予进程一个标志符,称为PID,或者称为进程ID。内核维护了当前系统所有的进程的列表称为进程表。在进程表中进程由PID为索引。
    3、进程执行顺序
        进程永远都不会真正的同时进行,执行过程是序列化的。(针对单个处理器)
    4、进程的管理(调度器)
        调度器维护者所有的进程的列表。调度器每次从进程列表中选择一个进程,并且给与这个进程非常短暂的时间间隔运行的机会,这个给进程得以执行的时间间隔称为**时间片**
    5、看起来进程在同时执行的原理(时间片非常小)
        首先内核会给每个进程分配相同的初始时间片,然后每一个进程轮番执行相应的时间片时间,一旦分配的时间片用完,调度器将该进程重新放到进程列表中去,由于时间片很小,所以看上去所有的进程看起来都在同时执行。unix通常为10毫秒,linux通常为5-800毫秒
    6、处理器时间(CPU时间、进程时间)
        包括两部分:用户时间、系统时间
        用户时间:程序所花费的时间
        系统时间:系统为了维护程序执行所花费的时间(存储进程下一条指定、执行环境等),主要包括内存管理、I/O时间、维护程序执行所需的开销,这部分通常可以忽略。
    7、wall time
        是指程序开始执行到一直到程序执行完毕所持续的时间。进程运行的时间总量,其值与系统中同时运行的进程数有关  从进程从开始运行到结束,时钟走过的时间,这其中包含了进程在阻塞和等待状态的时间。进程的三种状态为阻塞、就绪、运行。和上述时间的关系是:
时钟时间 = 处于阻塞状态时间 + 处于就绪状态时间 +处于运行状态时间;
    8、进程和程序的区别
        进程:
                进程是操作系统环境下用于表示程序在内存环境下的基本执行单元,是操作系统系统分配的基本单元。从用户的角度看,**进程是程序的一个执行过程**,从操作系统的角度看,进程代表的是操作系统分配的内存、CPU时间片等资源的一个基本单位,是为正在执行的程序提供一个运行环境。
        程序:
            **是一个普通的磁盘文件**,是一个机器代码指令和数据的集合,是一个静态的实体。
    可以说,**进程是一个正在运行的程序,进程除了有程序之外,还有包含额外的数据。进程是一个动态的概念,程序是一个静态的概念**
    9、进程标志符(PID)
        进程标志符用来唯一标志一个进程,是一个无符号整数,从0开始,最大值与系统有关。
        特殊PID:
            0: 表示空闲进程(交换进程sched/swapper),负责进程的调度,是init进程的父进程,是为一一个运行在内核空间的进程,其他都运行在用户空间
            1:表示初始化进程(init)
    10、系统调用
            系统调用由内核提供,直接执行在内核环境,常见的系统调用有:
            fork(): 创建一个进程
            exec(): 改变进程正在执行的程序
            wait(): 强制暂停一个进程,直到另外一个进程结束
            exit():  结束一个进程
    11、进程的生命周期
        包括进程的产生(fork)、执行、结束;具体:
        通过fork向内核发送创建进程请求
        创建一个与父进程几乎一弄一样的副本
        立即调用exec()函数执行另外一个程序(被调用的程序会替换子进程的进程空间,成为一个除了进程号相同之外的一个全新的进程,之后父子进程就进行各自的事情了,子进程死亡时会释放该进程所有的资源,但是内核还是会保留该进程的一些信息,包括pid,退出状态、运行时间等,直到父进程调用wait/waitpid()调用获取才释放,否则就是一个僵死进程) 
        当任务完成之后子进程可以自我调用exit()终止自身的运行。或者其他进程使用kill()故意终止它。
        12、shell脚本
            shell是一个特殊的进程,是内核的一种外壳,可以通过shell间接操作内核。
            分为内部命令、外部命令
            内部命令直接存在shell中,外部命令存储在另外的磁盘中。unix将绝大多数命令存在磁盘中,也就
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值