Computer Science

Process Management in Operating Systems

Process management in operating systems refers to the management of processes, which are instances of programs that are being executed. This includes creating, scheduling, and terminating processes, as well as managing their resources and communication with other processes. The goal of process management is to ensure efficient and effective use of system resources while providing a stable and responsive computing environment.

Written by Perlego with AI-assistance

6 Key excerpts on "Process Management in Operating Systems"

  • Computer Fundamentals - 8th Edition
    eBook - ePub

    Computer Fundamentals - 8th Edition

    Concepts, Systems & Applications

    job ) is a program in execution. The main objective of process management module of an operating system is to manage the processes submitted to a system in a manner to minimize the idle time of processors (CPUs, I/O processors, etc.) of the system. In this section, we will learn about some of the mechanisms that modern operating systems use to achieve this objective. We will also see how these mechanisms have evolved gradually from the early days of computers.

    Process Management in Early Systems

    In early computer systems, the process of executing a job was as follows:
    1. A programmer first wrote a program on paper.
    2. The programmer or a data entry operator then punched the program and its data on cards or paper tape.
    3. The programmer then submitted the deck of cards or the paper tape containing the program and data at the reception counter of a computer centre.
    4. An operator then loaded the cards deck or paper tape manually into the system from card reader or paper tape reader. The operator also loaded any other software resource (such as a language compiler), or carried out required settings of hardware devices for execution of the job. Before loading the job, the operator used front panel switches of the system to clear any data remaining in main memory from previous job.
    5. The operator then carried out required settings of the appropriate switches in the front panel to run the job.
    6. Finally, the operator printed and submitted the result of execution of the job at the reception counter for the programmer to collect it later.
    Every job went through the same process. The method was known as manual loading mechanism because the operator loaded the jobs one after another in the system manually. Notice that in this method, job-to-job transition was not automatic. Hence, a computer remained idle while an operator loaded and unloaded jobs and prepared the system for a new job. This caused enormous wastage of valuable computer time. To reduce this idle time, researchers later devised a mechanism (called batch processing
  • CentOS Quick Start Guide
    eBook - ePub

    CentOS Quick Start Guide

    Get up and running with CentOS server administration

    Process Management

    Processes access multiple resources in a running system. Process management is essential to manage these resources effectively and keep your system up and running smoothly. In this chapter, you will learn how to view processes running on a Linux system and how to employ interactive management from the command line. Then, you will learn how to control different programs running on a Linux system using the command line. You will also learn how to communicate with different processes using signals and how to modify their priority level on a running system.
    In this chapter, we will cover the following topics:
    • Understanding processes
    • Viewing current processes
    • Communicating with processes using signals
    • Monitoring processes and load averages
    • Managing a processes' priority levels with nice and renice
    • Controlling jobs on the command line
    Passage contains an image

    Understanding processes

    This section deals with various concepts related to processes, such as their types, states, attributes, and so on. Process management is an essential skill that all types of users of Linux systems should master.
    Passage contains an image

    Defining a process

    A process is an instance of a program in execution. It differs from a program or command in the sense that a single program can start several processes simultaneously. Each process uses several resources, as mentioned in the following list:
  • Key Concepts in Operations Management
    Process Management
    Process management is the set of management activities by which managers design, monitor, and improve the way in which business operations are conducted.

    OVERVIEW OF PROCESS MANAGEMENT

    Process management is the direct consequence of the principle of a vertical division of labour developed by Frederick Taylor in the early twentieth century. The vertical division of labour implies the separation of the individual executing a task from the individual designing the task. Instead, a specialist – a process analyst – is in charge of using a number of techniques to identify the best ways to do things, to document and implement them, and to seek ways of improving them as an organisation evolves.
    When applied properly, processes and operating routines result in process capital, i.e. a unique source of competitive advantage that companies can tap into to differentiate their provision of products and services to customers.
    Process managers should make sure that their decisions are aligned with corporate strategy: this forms the domain of process strategy. To complement process strategy, technology management is primarily concerned with the identification of the promising technologies that a company should develop or acquire. Once a process strategy is agreed upon, managers have to adopt an appropriate process system. If this process is developed internally, it is a process design task. If the process is adapted from well known ‘off-the-shelf’ process systems, then it is a process selection task.
    Processes are not static resources. As markets, customers, and competition change, firms have to improve their processes continually to make sure that these are adequate and appropriate. Process analysis refers to the use of process design techniques to model and analyse existing processes for the sake of finding ways to improve them. If this redesign is radical rather than incremental, it is referred to as Business Process Re-Engineering
  • Basic Principles of an Operating System
    eBook - ePub

    Basic Principles of an Operating System

    Learn the Internals and Design Principles

    HAPTER 3

    Process Management

    In this chapter, we are going to learn the process, different stages of a process, process scheduling, and scheduling algorithms.

    3.1 Introduction

    A process is a program in execution. The process is an entity i.e. every process has its own address space which consists of:
    1. Stack region: Instructions and local variables for active procedure calls are stored in the stack region.
    2. Text region: The text region contains the code of the executing process.
    3. Data region: The dynamically allocated memory and variables used by a process during execution are stored in a data region.
    The local variables and instructions for active procedure call are stored in the stack region, a data region and text region. The stack contents expand as the process issues nested procedure calls and shrink as the called procedures return. The program is a passive entity and process is an active entity.

    3.1.1 Process Control Blocks/Process Descriptors

    When a process is created, the operating system should be able to identify the process. Therefore, the Process Identification numbers (PID) are given to the processes. Operating systems also create a Process Control Block (PCB)/Process Descriptors that contain the information required by the operating system to manage the processes. The information contained by PCBs is PID, process state, program counter, scheduling, priority, address space, parent process, child process, flags, and execution content. The operating system maintains pointers to each PCB corresponding to the particular process ID.
    (figure 3.1 )
    Figure 3.1 Process descriptors

    3.1.2 Process Operations

    There are various process operations performed by the operating system.
    (figure 3.2 )
    These are:
    • Creating process: The new process may be created by the operating system or the process itself. If the process creates a new process, then the process which is producing a sub process is called a parent process and the produced process is known as a child process.
  • C++ Programming for Linux Systems
    eBook - ePub

    C++ Programming for Linux Systems

    Create robust enterprise software for Linux and Unix-based operating systems

    • Desislav Andreev, Stanimir Lukanov(Authors)
    • 2023(Publication Date)
    • Packt Publishing
      (Publisher)

    2

    Learning More about Process Management

    You became familiar with the concept of processes in the previous chapter. Now, it’s time to get into details. It is important to understand how process management is related to the system’s overall behavior. In this chapter, we will emphasize fundamental OS mechanisms that are used specifically for process control and resource access management. We will use this opportunity to show you how to use some C++ features too.
    Once we’ve investigated the program and its corresponding process as system entities, we are going to discuss the states that one process goes through during its lifetime. You are going to learn about spawning new processes and threads. You are also going to see the underlying problems of such activities. Later we are going to check out some examples while slowly introducing the multithreaded code. By doing so, you will have the opportunity to learn the basics of some POSIX and C++ techniques that are related to asynchronous execution.
    Regardless of your C++ experience, this chapter will help you to understand some of the traps that you could end up in at the system level. You can use your knowledge of various language features to enhance your execution control and process predictability.
  • UNIX
    eBook - ePub

    UNIX

    The Textbook, Third Edition

    • Syed Mansoor Sarwar, Robert M. Koretsky(Authors)
    • 2016(Publication Date)
    The Bakery Algorithm is an elegant solution for the N-process critical section problem. Browse the Web or see a book on operating system principles and concepts to find out the name of the author of this algorithm. Who is the author?
    19.3  PROCESS MANAGEMENT CONCEPTS
    Process management entails several things, from process creation to termination and everything in between, including suspending a process, having a process wait for an event such as the termination of a child process, sending a signal (software interrupt) to a process, handling signals, setting up an alarm in a process, and duplicating a file descriptor in the PPFDT. Table 19.1 shows a few system calls for process management.
    TABLE 19.1 The UNIX System Calls for Process Management
    fork() Create a clone (i.e., a child) of the calling process
    execve() Overwrite the main memory image of the caller process
    wait() Suspend the calling process and wait for a child process to terminate
    waitpid() Wait for the termination of the process with the given PID
    exit() Terminate the caller process and return status to the parent of the process
    getpid() Get the PID of the caller process
    getppid() Get the PPID of the parent of the caller process
    getuid() Get the UID of the owner of the caller process
    getgid() Get the GID of the owner of the caller process
    signal() Handle a signal by ignoring it, taking the default (kernel-defined) action, or taking the programmer-defined action specified for the relevant signal
    kill() Send a signal of a particular type to a process; normally used to terminate a process
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.