Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Process state

From Wikipedia, the free encyclopedia
Computer science concept

In amultitaskingcomputer system,processes may occupy a variety ofstates. These distinct states may not be recognized as such by theoperating systemkernel. However, they are a useful abstraction for the understanding of processes.

The various process states, displayed in astate diagram, with arrows indicating possible transitions between states - as can be seen some processes are stored in main memory (yellow), and some are stored in secondary memory (green)

Primary process states

[edit]

The following typical process states are possible on computer systems of all kinds. In most of these states, processes are "stored" onmain memory.

Created

[edit]

When a process is first created, it occupies the "created" or "new" state. In this state, the process awaits admission to the "ready" state. Admission will be approved or delayed by a long-term, or admission,scheduler. Typically in mostdesktop computer systems, this admission will be approved automatically. However, forreal-time operating systems this admission may be delayed. In a realtime system, admitting too many processes to the "ready" state may lead to oversaturation andovercontention of the system's resources, leading to an inability to meet process deadlines.

Ready

[edit]

A "ready" or "waiting" process has been loaded intomain memory and is awaiting execution on aCPU (to be context switched onto the CPU by the dispatcher, or short-term scheduler). There may be many "ready" processes at any one point of the system's execution—for example, in a one-processor system, only one process can be executing at any one time, and all other "concurrently executing" processes will be waiting for execution.

Aready queue orrun queue is used incomputer scheduling. Modern computers are capable of running many different programs or processes at the same time. However, the CPU is only capable of handling one process at a time. Processes that are ready for the CPU are kept in aqueue for "ready" processes. Other processes that are waiting for an event to occur, such as loading information from a hard drive or waiting on an internet connection, are not in the ready queue.

Running

[edit]

A process moves into the running state when it is chosen for execution. The process's instructions are executed by one of the CPUs (or cores) of the system. There is at most one running process per CPU or core. A process can run in either of the two modes, namelykernel mode oruser mode.[1][2]

Kernel mode

[edit]
  • Processes in kernel mode can access both: kernel and user addresses.
  • Kernel mode allows unrestricted access to hardware including execution ofprivileged instructions.
  • Various instructions (such asI/O instructions and halt instructions) areprivileged and can be executed only in kernel mode.
  • Asystem call from a user program leads to a switch to kernel mode.

User mode

[edit]
  • Processes in user mode can access their own instructions and data but not kernel instructions and data (or those of other processes).
  • When the computer system is executing on behalf of a user application, the system is in user mode. However, when a user application requests a service from theoperating system (via asystem call), the system must transition from user to kernel mode to fulfill the request.
  • User mode avoids various catastrophic failures (e.g., a systemcrash) by:
    • Providing an isolatedvirtual address space for each user mode process,
    • Ensuring isolated execution of processes so they do not affect each other,
    • Preventing direct access to any hardware device.

Blocked

[edit]

A process transitions to ablocked state when it cannot carry on without an external change in state or event occurring. For example, a process may block on a call to an I/O device such as a printer, if the printer is not available. Processes also commonly block when they require user input, or require access to acritical section which must be executed atomically. Such critical sections are protected using a synchronization object such as a semaphore or mutex.

Terminated

[edit]
Main article:Zombie process

A process may beterminated, either from the "running" state by completing its execution or by explicitly beingkilled. In either of these cases, the process moves to the "terminated" state. The underlying program is no longer executing, but the process remains in theprocess table as azombie process until its parent process calls thewaitsystem call to read itsexit status, at which point the process is removed from the process table, ending the process's lifetime. If the parent fails to callwait, this continues to consume the process table entry (concretely theprocess identifier or PID), and causes aresource leak.

Additional process states

[edit]

Two additional states are available for processes in systems that supportvirtual memory. In both of these states, processes are "stored" on secondary memory (typically ahard disk).

Swapped out and waiting

[edit]

(Also calledsuspended and waiting.) In systems that support virtual memory, a process may be swapped out, that is, removed from main memory and placed on external storage by the scheduler. From here the process may be swapped back into the waiting state.

Swapped out and blocked

[edit]

(Also calledsuspended and blocked.) Processes that are blocked may also be swapped out. In this event the process is both swapped out and blocked, and may be swapped back in again under the same circumstances as a swapped out and waiting process (although in this case, the process will move to the blocked state, and may still be waiting for a resource to become available).

See also

[edit]

References

[edit]
  1. ^Abraham Silberschatz; Peter Baer Galvin; Greg Gagne (2008-07-29).Operating System Concepts.ISBN 978-0470128725.
  2. ^Maurice J. Bach (1986).The design of the UNIX operating system. Prentice-Hall, Inc. Upper Saddle River, NJ, USA ©1986.ISBN 0-13-201799-7.
  • Stallings, William (2005).Operating Systems: internals and design principles (5th ed.). Prentice Hall.ISBN 0-13-127837-1.
Particularly chapter 3, section 3.2, "process states", including figure 3.9 "process state transition with suspend states"
Retrieved from "https://en.wikipedia.org/w/index.php?title=Process_state&oldid=1334402436"
Category:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp