Skip to main content

Operating System Processes

A process is defined as a program in execution which means that it must be active rather than passive. A process may include several distinct types of temporary data including function parameters, return addresses, and local variables. A process is also comprised of four sections: stack, heap, data, and text. 

Whenever a process is executed, it changes its state and may only hold one state at a time. The list below shows all the potential states that a process may be in. 

  • New - The process is being created. 
  • Running - Instructions are being executed. 
  • Waiting - The process is waiting for some event to occur (such as an I/O completion or reception of a signal). 
  • Ready - The process is waiting to be assigned to a processor. 
  • Terminated - The process has finished execution." 

A process control block, also known as a task control block "serves as the repository for any information that may vary from process to process." (Silberschatz et al. 2014) The process control block is comprised of seven parts including the process state, program counter, CPU registers, CPU – scheduling information, memory – management information, accounting information, and I/O status information. It also contains all the necessary information required to keep track of a process throughout its execution phase.  

A single thread will only allow one task to be performed at a given time. According to Silberschatz et al. 2014 “If a process has multiple threads of control, it can perform more than one task at a time.” Multithreaded processes can have numerous stacks and registers compared to a single thread that only contains one of each. Regarding thread models, there are three distinct ways that a thread can maintain a relationship with a kernel such as: 

  • Many-to-One – Utilizes multiple user-level threads to one kernel thread. 
  • One-to-One – Utilizes one user-level thread to one kernel thread. 
  • Many-to-Many – Utilizes multiple user-level threads to multiple kernel threads. 

To accurately understand the critical-section problem we need to understand what the critical-section is. The critical section is where a process may be altering different types of data. When a process is within its critical-section no additional process can be within the critical-section at the same time. Therefore, the critical-section problem is "to design a protocol that the processes can use to cooperate” where “each process must request permission to enter its critical section" (Silberschatz et al. 2014) A software solution used to help alleviate the critical-section problem is “Peterson’s Solution” Peterson’s solution solves the critical-section problem by allowing two different processes to alternate between their critical-section and their remainder section.  


References 

Silberschatz, A., Galvin, P. B., & Gagne, G. (2014). Operating system concepts essentials (2nd ed.). Retrieved from https://redshelf.com/



Comments

Popular posts from this blog

Peering Points and the Network Application Interface

According to Gibb (2019), “Peering is a method that allows two networks to connect and exchange traffic directly without having to pay a third party to carry traffic across the Internet.” Utilizing a peering point allows users to send a receive data directly to one another without the need to route through other computer networks. Doing so allows for a quicker, more efficient, and safer form of communication.  Researching the total number of active Internet Exchange Points (IXP) proved difficult as it was hard to pinpoint an accurate number. However, according to Rosas (2021), “as of January 2021, of the 630 registered IXPs, 229 are in Europe, 126 in North America, 140 in Asia-Pacific, 96 in Latin America and the Caribbean (LAC), and 39 in Africa.” These numbers are constantly changing as new IXPs are added, and some are removed.  Finding a definitive number of Internet Service Providers (ISP) globally was also difficult to accomplish. Most sources seem to point to the Nations Encyclop

VLAN Aggregation for Efficient IP Address Allocation

The project I chose to summarize on the Internet Engineering Task Force (IETF) website was RFC: 3069, VLAN Aggregation for Efficient IP Address Allocation. Within this project, the authors point out how inefficiently a Virtual Local Area Network (VLAN) allocates IP addresses along with their proposed solutions. I have also attached a diagram showing how the network would look pertaining to this project. Currently, an IP subnet would be made for each existing customer by understanding how many hosts they currently need and may need in the future. Based on that total number, the IP subnet and gateway address would change according to how many hosts the customer requested. For example, if a customer has indicated that they need ten hosts, and they only use five, the additional five that are not in use cannot be used by another customer. An illustration of this is shown below. The proposed solution to this problem is to allocate IP addresses under the same IP subnet and gateway address uti

Access Lists and Capabilities

To implement an access matrix, we must first understand what it is. An access matrix is a protection model within an operating system consisting of objects and domains. The access matrix determines which processes interact with objects within the domain. Objects within the domain can consist of both hardware and software. The lists below show the advantages and disadvantages of access lists associated with objects, and capabilities with domains.  Access lists associated with objects Advantages  Corresponds directly to the user’s needs.  Easy revocation and review of access.  Disadvantages  Difficult to determine access rights for a domain.  Takes time to search the domain for access rights.  Capabilities with domains Advantages  Useful for localizing information for a process.  Secured against unauthorized access.  Disadvantages  Inefficient at the revocation of capabilities.  Does not correspond directly to the user’s needs.  Even though each implementation has its own strengths and w