UNIX系统进程管理:信号处理与进程状态

需积分: 12 1 下载量 9 浏览量 更新于2024-08-21 收藏 109KB PPT 举报
"设置对信号的处理方式-UNIX系统(一)进程管理" 在UNIX系统中,进程管理是操作系统核心的重要组成部分。这篇摘要主要探讨了如何设置对信号的处理方式以及UNIX系统的一些基本概念。 首先,信号是UNIX系统中用于进程间通信的一种机制,它允许一个进程通知另一个进程发生了特定的事件。通过对信号的处理方式设置,可以控制进程在接收到信号后的行为。根据描述,有三种主要的处理方式: 1. 当`func=1`时,进程会忽略接收到的`sig`信号,不会对信号做出任何响应。 2. 如果`func=0`,则进程会在收到`sig`信号后终止自身,这通常被称为默认的信号处理行为。 3. 当`func`的值既不是0也不是1时,它应当是一个指向信号处理程序的指针。这意味着进程会调用这个函数来处理接收到的信号,而非使用默认行为。 接下来,我们来看看UNIX系统的一些基础知识: - UNIX的历史始于1969-1970年,由美国Bell实验室开发,最初使用汇编语言B语言,后来逐渐演变为使用C语言编写,这使得UNIX具有很高的移植性和灵活性。 - UNIX系统以其开放性、多用户多任务特性而著名。它支持多个用户同时在线并执行多个任务,而且提供了强大的功能和高效的性能,适合于各种计算环境。 - 除了基本的单处理器支持外,UNIX还支持多处理器环境,能够充分利用硬件资源,提升系统性能。 - 在存储管理方面,UNIX采用段页式存储,将进程空间划分为程序区、数据区和栈区等,每个区都可以进一步分页。每个进程都有一个进程控制块(PCB),分为进程表项、U区、系统区表和进程区表四部分,用于存储和管理进程的各种信息。 - 进程表项存储了核心数据,如进程标识符、用户标识符、进程状态等基本信息。 - U区存放了一些扩展信息,如进程表项指针、用户身份信息、文件描述符、计时器等,但不常驻内存。 - 系统区表用于管理进程的各个区,记录了区的类型、大小、状态和物理存储器位置等信息。 - 进程区表则包含区的起始虚地址和指向系统区表的指针,帮助核心进行地址映射。 - 进程在UNIX中有多种状态,如初始态(创建状态)、就绪态、运行态、阻塞态、结束态等。在进程的生命周期中,它可能会经历这些状态的转换,例如,一个新创建的进程会从初始态变为就绪态,然后可能进入运行态,如果等待某个资源,则会进入阻塞态,当资源满足后又会恢复到就绪态,最后在完成其任务后进入结束态。 UNIX系统的进程管理是一个复杂而精细的过程,涉及到进程的创建、调度、通信和终止等多个环节。对信号的处理方式设置是这一过程中的一个重要方面,它直接影响到进程的运行和系统的行为。了解并掌握这些知识对于理解和操作UNIX系统至关重要。