Answered step by step
Verified Expert Solution
Question
1 Approved Answer
please code in python 1 Description The project will be implemented as three separate programs. There will be a logger responsible for logging all activity.
please code in python
1 Description The project will be implemented as three separate programs. There will be a logger responsible for logging all activity. There will be an encryption program responsible for encrypting and decrypting strings. There will be a driver program that will interact with the user to use the encryption program. The entire system will be ran by running the driver program, which will launch the other programs and communicate with them through pipes, If you use C/C++ to code your project you must use the linux system calls fork, pipe, and dup2. If use Java to code your project you must use the Process class. If you use Python use the Subprocess module. Examples for all these approaches will be provided in class. Details of each of the programs are below. 2.3 Driver Program The driver program should accept a single commandline argument - the name of the log file. Upon start, the driver program will create two new processes, executing the logger and the encryption program. Pipes should be used to connect to their standard input and standard ontput. Python and Java provide streams to communicate ower these pipes. C/C++ will need to use the read and write system calls to communicate. Once set up, the driver program should prompt the user for commands, looping until the quit command is received. Eech command should be logged, and the result of each command should also be logged. The start and exit of the driver program should be logged. All strings entered to be encrypted or decrypted should be saved in a history that hists only for this run. The driver program shotuld Operating Systems Concepts Page 2 CS/SE4348 Project 01 Spring 2023 password - Provide the user with the option of using a string in the history or entering a new string. If a new string will be used, prompt the user for a password, and then set it as the current password in the encryption program. If the history will be used, provide the user with a menu where a number can be used to select a string stored in the history. The entered password is not stored in the history. encrypt - Provide the user with the option of using a string in the history or entering a new string. If a new string will be used, prompt the user for a string, record it in the history, and send an encrypt command to the enicryption program. If the history will be used, provide the user with a menu where a number can be used to select a string stored in the history. The results should be printed to standard output and saved in the history. decrypt - Provide the user with the option of using a siring in the history or entering a new string. If a new string will be used, prompt the user for a string, record it in the history, and send an decrypt command to the encryption program. If the history will be used, provide the user with a menu where a number can be used to select a string stored in the history. The results should be printed to standard output and saved in the history. history Show the history. quit Send QUIT to the encryption program and logger, and then exit the program. In the above commands whenever the history is used, provide the user with a means to exit the history and enter a new string Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started