Operating Systems

 

 

 

List four design issues for which the concept of concurrency is relevant.
What is the basic requirement for the execution of concurrent processes?
List three degrees of awareness between processes and briefly define each.
What is the distinction between competing processes and cooperating processes?
List the three control problems associated with competing processes and briefly
define each.
List the requirements for mutual exclusion.
What is a monitor?
What is the distinction between blocking and nonblocking with respect to messages?

Operating Systems

 

 

Using “fork()” (Creating a Process)
In multitasking OS, processes (running programs) need a way to create new processes to run
other programs. In Unix/Linux OS fork is an operation whereby a process creates a copy of
itself. It is usually a system call, implemented in the kernel. Fork is the primary method of
process creation on Unix-like operating systems.
For a process to start the execution of a different program, it first forks to create a copy of itself.
Then, the copy, called the “child process”, calls the exec system call to overlay itself with the
other program: it ceases execution of its former program in favor of the other.
The fork operation creates a separate address space for the child. The child process has an
exact copy of all the memory segments of the parent process.
The fork function is the primitive for creating a process. It is declared in the header file unistd.h
Function: pid_t fork (void)
http://www.gnu.org/software/libc/manual/html_node/Creating-a-Process.html
A program is an executable file residing in a disk file. An executing instance of a program is
called a process. In Unix/Linux a program is read into memory and executed by the kernel as a
result of one of the six exec functions.
Every Unix/Linux process is guaranteed to have a unique numeric identifier called the process
ID. The process ID (short: PID) is always a nonnegative integer.
Under Unix, the only way (except for some very special processes) to create a new processes
is when an existing process calls the fork function. You will find details about fork and wait in the
manual pages (Unix/Linux command: “man fork”).
Assignment:
Write a simple program that uses the “fork” function. The new process created by fork is called
the “child” process. The function is called once but returns twice. Both the child and the parent
continue executing with the instruction that follows the call to fork. Here is a typical example:
/* parent creates a process */
pid = fork();
/* the return value is a process ID, that ALWAYS needs to be tested */
switch (pid) {
case -1:
/* error: fork was unsuccessful */
break;
case 0:
/* this is the child process */
/* no process ID */
/* … do something … */
break;
default:
/* this is the parent process */
/* pid=process ID of the child */
/* … */
}
/* both processes continue here */
You can list processes by using the ps command or the top command (to see the manual pages
use “man ps” or “man top”). Under Unix/Linux a process that has terminated, but whose
parent has not yet waited for it is called a zombie.
Adjust the sleep calls for parent and child and use the command ps to answer these questions
(add them as comments at the end of your program):
1. What status is being printed when the child terminates before the parent (in another terminal
use: ps ajxf | grep yourProgramName) ?
Note: run the command “man ps” for more options.
2. What is the parent process ID (PPID) of a child process whose parent terminates before
the child?

 

Operating Systems

1.2 Define the two main categories of processor registers.
1.3 In general terms, what are the four distinct actions that a machine instruction can specify?
1.4 What is an interrupt?
1.5 How are multiple interrupts dealt with?
1.10 In general, what are the strategies for exploiting spatial locality and temporal locality?
Problems (10 points each)
1.2 The program execution of Figure 1.4 is described in the text using six steps. Expand this
description to show the use of the MAR and MBR.
1.3 Consider a hypothetical 32-bit microprocessor having 32-bit instructions composed of two
fields. The first byte contains the opcode and the remainder an immediate operand or an
operand address.
a. What is the maximum directly addressable memory capacity (in bytes)?
b. Discuss the impact on the system speed if the microprocessor bus has

  1. a 32-bit local address bus and a 16-bit local data bus, or
  2. a 16-bit local address bus and a 16-bit local data bus.
    c. How many bits are needed for the program counter and the instruction register?
    1.5 Consider a 32-bit microprocessor , with a 16-bit external data bus, driven by an 8-MHz input
    clock. Assume that this microprocessor has a bus cycle whose minimum duration equals four
    input clock cycles. What is the maximum data transfer rate across the bus that this
    microprocessor can sustain in bytes/s? To increase its performance, would it be better to make
    its external data bus 32 bits or to double the external clock frequency supplied to the
    microprocessor? State any other assumptions you make and explain. Hint: Determine the
    number of bytes that can be transferred per bus cycle.
    1.7 In virtually all systems that include DMA modules, DMA access to main memory is given
    higher priority than processor access to main memory. Why?
    1.8 A DMA module is transferring characters to main memory from an external device
    transmitting at 9600 bits per second (bps). The processor can fetch instructions at the rate of 1
    million instructions per second. By how much will the processor be slowed down due to the
    DMA activity?

Operating systems

 

 

 

Discuss operating systems: Practices and Trends with New Digital Technologies. Use a word processor, such as Word. Include bibliographic references in the writing.

How have Operating Systems changed over the past ten years?
What digital technologies do you feel are the most useful today?

 

 

 

Discuss operating systems: Practices and Trends with New Digital Technologies. Use a word processor, such as Word. Include bibliographic references in the writing.

How have Operating Systems changed over the past ten years?
What digital technologies do you feel are the most useful today?

 

 

Operating systems

 

 

Client Specifications for Tetra Shillings Accounting

When developing your plan, keep in mind the following information about the client:

All desktops and laptops are currently running Windows 8.1 Enterprise.
About half of the laptops are less than a year old and will be retained for the upgrade.
All other laptops will be replaced with new hardware in time for the upgrade.
All desktop systems will be replaced with new laptops.
Your windows upgrade plan for Tetra Shillings Accounting should be based on Microsoft solutions and best practices and include the following points:

The advantages of upgrading to Windows 10, including at least three Windows 10 features that will provide the most benefit.
Recommendations for a version of Windows 10 for the upgrade and the install method(s) to be used.
At least two automated deployment options.
Plans to minimize disruptions to business operations.
A strategy that will keep operating systems updated.