Process and Memory Management in Operating Systems

Resource Management

Processes and Flows

  • Def Process: Program in execution.
  • Homepage More names:
    • Control-Flow
    • Tasks
    • Threads (I will comment with a Java language example)
    • Thread (of execution)
  • The Operating System (OS) assigns a data structure (BCP) to all processes.
  • What does the BCP contain?
    1. Current status
    2. Process Identifier
    3. Process priority
    4. Location in memory
    5. Resources used

Thread and States of Processes

  • Def Thread: Point of execution of a process (a process can have one or more threads).
  • Example: Word running
Read More

Concurrency and Memory Management in Operating Systems

Producer-Consumer Problem (Condition Variable)

pthread_cond_t not_empty_cv = PTHREAD_COND_INITIALIZER;
pthread_cond_t not_full_cv = PTHREAD_COND_INITIALIZER;
static int volatile count = 0;
void *producer(void* arg) {
for(;;) {
pthread_mutex_lock(&countmutex);
while(count == MAXCOUNT) {
pthread_cond_wait(&not_full_cv, &countmutex);
}
count = count + 1;
// Create Item
pthread_cond_signal(&not_empty_cv);
pthread_

Read More

Operating Systems and Network Fundamentals

Operating Systems

An Operating System (OS) is a set of software algorithms and routines intended to allocate resources to processes and provide a user-friendly environment that hides the hardware details.

Types of Operating Systems

For the Number of Users

  • Monouser (e.g., DOS)
  • Multiuser

By the Number of Concurrent Processes (Tasks)

  • Single-tasking or Uniprocessor (e.g., DOS)
  • Multitasking or Multiprocessing
  • Multitasking Time-Shared (the larger the higher priority, the more runtime the process will have)
  • Multiprocessing
Read More

Performance Analysis of Single-Cycle and Multi-Cycle Processors

1. Single-Cycle and Multi-Cycle Processor Implementations

Program A

Program B

lw $6, 80($1)

sw $3, 100($6)

add $4, $3, $4

beq $3, $2, 50

add $5, $5, $5

lw $6, 400($5)

sub $3, $2, $1

beq $4, $3, 36

add $4, $3, $4

beq $3, $2, 20

add $5, $5, $5

beq $2, $3, 128

Two programs, A and B, shown in the above table, are going to be executed on two different machines. One of the machines is a single-cycle machine (Figure 1), and the other is a multi-cycle machine (Figure 2).

Assume that operational delay is 4ns for memory,

Read More

Computer Evolution and Architecture: From ENIAC to Modern OS

Computer: Definition and Early Stages

A computer is a machine capable of processing data. It accepts a set of input data, processes it, and produces output data. The forerunners of current desk calculators were the machines of Pascal and Leibniz.

Concepts Incorporated in Babbage’s Analytical Engine

  • Input Device
  • Output Device
  • Memory
  • Control Unit
  • Arithmetic/Logic Unit

Punch cards were used to contain the information of people surveyed. This led to the creation of a tabulating machine capable of reading and

Read More

Mining Fun Facts from Wikipedia Tables & Real-Time Event Stream Processing

Mining Fun Facts from Wikipedia Tables

Introduction – Problem Definition

  • Modern search engines provide contextual information surrounding query entities beyond ten blue links in the form of information cards.
  • Among the various attributes displayed about entities, there has been recent interest in providing fun facts.
  • Obtaining such trivia at a large scale is, however, non-trivial: hiring professional content creators is expensive, and extracting statements from the Web is prone to uninteresting, out-
Read More