26K+ 次浏览
线程是一个轻量级进程,可以由调度程序独立管理。它使用并行性来提高应用程序性能。线程共享数据段、代码段文件等信息与其对等线程,同时拥有自己的寄存器、堆栈、计数器等。两种主要的线程类型是用户级线程和内核级线程。演示这些内容的图表如下:用户级线程用户级线程由用户实现,内核不知道这些线程的存在。它将它们处理为单线程进程。用户级线程很小,而且……阅读更多
83K+ 次浏览
临界区是代码段,其中可以访问共享变量。临界区需要原子操作,即一次只有一个进程可以在其临界区执行。所有其他进程都必须等待才能在其临界区执行。演示临界区的图表如下:在上图中,入口段处理进入临界区。它获取进程执行所需的资源。出口段处理退出临界区。它释放资源,并通知……阅读更多
13K+ 次浏览
进程间通信是由操作系统提供的机制,允许进程相互通信。此通信可能涉及一个进程让另一个进程知道某个事件已发生或从一个进程向另一个进程传输数据。说明进程间通信的图表如下:进程间通信的模型如下:共享内存模型共享内存是可以被多个进程同时访问的内存。这样做是为了让进程可以相互通信。所有 POSIX 系统以及 Windows 操作系统都使用共享内存。共享内存的优点……阅读更多
5K+ 次浏览
进程间通信是由操作系统提供的机制,允许进程相互通信。此通信可能涉及一个进程让另一个进程知道某个事件已发生或从一个进程向另一个进程传输数据。管理进程间通信的一种方法是使用套接字。它们在两个进程之间提供点对点、双向通信。套接字是通信的端点,可以将名称绑定到它们。套接字可以与一个或多个进程关联。套接字类型不同的套接字类型如下:顺序分组套接字:此类型……阅读更多
22K+ 次浏览
可以对进程执行许多操作。其中一些是进程创建、进程抢占、进程阻塞和进程终止。这些将在下面详细介绍:进程创建为了不同的操作,需要在系统中创建进程。这可以通过以下事件来完成:用户请求创建进程系统初始化运行进程通过运行进程创建系统调用来执行批量作业初始化进程可以使用 fork() 由另一个进程创建。创建进程称为父进程,创建的进程称为子进程。子进程只能……阅读更多
40K+ 次浏览
上下文切换涉及存储进程的上下文或状态,以便在需要时可以重新加载它,并且可以从与之前相同的点恢复执行。这是多任务操作系统的功能,允许单个 CPU 由多个进程共享。演示上下文切换的图表如下:在上图中,最初正在运行进程 1。由于中断或系统调用,进程 1 被切换出去,进程 2 被切换进来。上下文切换涉及将进程 1 的状态保存到 PCB1 并加载……阅读更多
15K+ 次浏览
进程调度根据调度算法处理选择进程到处理器以及从处理器中删除进程。它是多道程序设计操作系统的重要组成部分。进程调度中使用了许多调度队列。当进程进入系统时,它们被放入作业队列。准备在主内存中执行的进程保存在就绪队列中。等待 I/O 设备的进程保存在 I/O 设备队列中。用于进程的不同调度程序……阅读更多
14K+ 次浏览
进程是一个活动程序。它也可以说是正在执行的程序。它不仅仅是程序代码,还包括程序计数器、进程堆栈、寄存器、程序代码等。相比之下,程序代码只是文本部分。进程在执行时会经过不同的状态。这些状态在不同的操作系统中可能有所不同。但是,常见的进程状态将在下面借助图表进行解释:新建这是进程刚刚创建时的状态。它是进程生命周期中的初始状态。就绪在……阅读更多
84K+ 次浏览
进程间通信是由操作系统提供的机制,允许进程相互通信。此通信可能涉及一个进程让另一个进程知道某个事件已发生或从一个进程向另一个进程传输数据。说明进程间通信的图表如下:进程间通信中的同步同步是进程间通信的必要部分。它要么由进程间控制机制提供,要么由通信进程处理。提供同步的一些方法如下:信号量信号量是一个变量,它控制对公共资源的访问……阅读更多
19K+ 次浏览
僵尸进程是指执行已完成但其在进程表中仍有条目的进程。僵尸进程通常发生在子进程中,因为父进程仍然需要读取其子进程的退出状态。一旦使用 wait 系统调用完成此操作,僵尸进程就会从进程表中删除。这称为收割僵尸进程。演示僵尸进程创建和终止的图表如下:僵尸进程的要点与僵尸进程相关的要点如下:所有内存和……阅读更多