Creating a child process

Assignment Help Operating System
Reference no: EM13498673

Part 1 - Creating a Child Process

The first task is to modify the main() function from the sample code provided so that a child process is forked and executes the command specified by the user. This will require parsing what the user has entered into separate tokens and storing the tokens in an array of character strings (args in the code provided). For example if the user enters the command ps -ael at th osh> prompt, the values stored in the args array are:

• args[0] = "ps"
• args[1] = "-ael"
• args[2] =NULL

This args array will be passed to the execvp() function, which has the following prototype: execvp(char *command, char *params[]);

Here, command represents the command to be performed and params stores the parameters to this command. For this project, the execvp() function should be invoked as execvp(args[0], args). Be sure to check whether the user included an & to determine whether or not the parent process is to wait for the child to exit.

Part 2 - Creating a History Feature

The next task is to modify the shell interface program so that is provides a history feature that allows the user to access the most recently entered commands. The user will be able to access up to 10 commands by using the feature. The commands will be consecutively numbered starting at 1, and the numbering will continue past 10. For example, if the user has entered 35 commands, the 10 most recent command will be numbered 26-35. The user will be able to list the command history by entering the command "history" at the osh> prompt. As an example:

Your program should support two techniques for retrieving commands from the command history:

1. When the user enters !!, the most recent command in the history is executed.
2. When the user enters a single ! followed by an integer N, the Nth command in the history is executed.

The program should also manage basic error handling. If there are no commands in the history, entering !! should result in a message "No commands in history." If there is no command corresponding to the number entered with the single !, the program should output "No such command in history."

Reference no: EM13498673

Questions Cloud

What does the term unwarrantable jurisdiction mean : What does the term unwarrantable jurisdiction mean and how does it relate to the relationship between England and colonist?
Explain how many minutes is required for sunlight to travel : How many minutes is required for sunlight to travel from the Sun to Earth. (Assume the Sun is 93,000,000 miles from Earth and that sunlight travels at 1.86 x 105 miles per second.) how do you work this to solve.
Short-comings of the capitalist price and market system : Describe how the price system answers the five fundamental questions of economics, and discuss at least two of the short-comings of the capitalist price and market system.
Explain what form is the product in the clear filtrate : In what form is the product (the chlorobenzoic acid) in the clear filtrate after the brown precipitate has been removed. After the addition of the hydrochloric acid
Creating a child process : Modify the shell interface program so that is provides a history feature that allows the user to access the most recently entered commands.
Explain the most probable mass of the object : Suppose that a series of measurements have shown that the mean mass of an object 201.3g with a standard deviation 1.3g How many significant figures are justified in the mean and how would you report the most probable mass of the object. Explain
Determine the pressure inside the container : Nine grams of water are placed in a 1.99 liter pressure cooker and heated to 535oC. What is the pressure inside the container
What is the frequency of the echo : Your car horn happens to have the unusual property of emitting a pure tone at a frequency of 640. Hz. What is the frequency of the echo
Find the magnitude of the force that acts on each segment : The drawing shows a wire composed of three segments, AB, BC, and CD. There is a current of I = 2.0 A in the wire. Find the magnitude of the force that acts on each segment

Reviews

Write a Review

Operating System Questions & Answers

  Differences and similarities between linux and unix?

What are some distinct differences and similarities between Linux and Unix? Why do you think it is important to know about both of these operating systems

  Protecting the company data

Suppose you work for a small, one office loan business. Your data is critical, and a fire or other disaster could destroy all of your computer documents.

  Security and data protection systems

Determine what fault tolerance, security, and information protection systems and procedures do you recommend be instituted on and for the corporation's network from the hypothetical condition below?

  Mobile computing technology

Discuss similarities and differences of patient vital signs using mobile computing technology to in-patient visits to the doctor's office or hospital.

  Implement the parser in two iterations

Implement the parser in a separate file. Implement the main parser function in a separate file main.c

  Solving a shell script issue

Determine when a script having these invisible characters are interpreted by linux or *nix shells, they are flagged as errors, since *nix uses 'n' as new lines.

  Circuit switch and packet switch environment

Provide two examples of a circuit switch and packet switch environment. Base one example on a circuit switch and the other on a packet switch.

  Securing standard telecommunications line vs voip connection

Determine the difficulty(s) of securing a standard telecommunications line vs. securing a VOIP connection?

  Design virtual memory system for new operating system

You are asked to design the virtual memory system for a new operating system working on small mobile devices. The memory operates at 333 MHz with a word size of 4 bytes.

  Evaluating performance improvement options

Processor X has a clock speed of 2Ghz and takes one cycle for integer operations, two cycles for memory operations, and four cycles for floating point operations.

  What would you do to influence procurement process-platform

What would you do to influence the procurement process for both platforms (hardware & OS, such as desktops, laptops, servers, etc.) and application software?

  Calculate waiting and average waiting time

A program that can do cpu scheduling algorithm priority using javascript or php to display gaant chart and calculate waiting and average waiting time

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd