0% au considerat acest document util (0 voturi)
115 vizualizări4 pagini

SOMIPP Lab6

Documentul prezintă o lucrare de laborator privind gestionarea proceselor în sistemul de operare GNU/Linux. Se studiază comenzile pentru gestionarea proceselor, programarea timpului de start al acestora și transferul de date între procese. Se propun patru cerințe: 1) crearea unui script care rulează o singură dată; 2) modificarea scriptului pentru a rula la fiecare 2 minute; 3) modificarea pentru a rula la fiecare 5 minute în zilele pare; 4) crearea a două procese de fundal și limitarea utilizării CPU la 20% pentru primul proces.

Încărcat de

Dan
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
115 vizualizări4 pagini

SOMIPP Lab6

Documentul prezintă o lucrare de laborator privind gestionarea proceselor în sistemul de operare GNU/Linux. Se studiază comenzile pentru gestionarea proceselor, programarea timpului de start al acestora și transferul de date între procese. Se propun patru cerințe: 1) crearea unui script care rulează o singură dată; 2) modificarea scriptului pentru a rula la fiecare 2 minute; 3) modificarea pentru a rula la fiecare 5 minute în zilele pare; 4) crearea a două procese de fundal și limitarea utilizării CPU la 20% pentru primul proces.

Încărcat de

Dan
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca DOCX, PDF, TXT sau citiți online pe Scribd

Ministerul Educației al Republicii Moldova

Universitatea Tehnică a Moldovei

Departamentul Ingineria Software și

Automatică

Lucrare de laborator nr.6


La disciplina SOMIPP
Tema : Gestionarea
proceselor în SO GNU/Linux

A realizat : Rotaru Dan ,[Link]-195


A verificat : [Link]. Victor Colesnic
Chișinău 2021
Scopul lucrării: studierea comenzilor destinate gestionării proceselor, programarea timpului de start
al proceselor, transferul și gestionarea datelor între procese.

1) Creați și executați o singură dată script-ul (în acest script, nu puteți utiliza operatorul de
condiție și operatorii de control a proprietăților și valorilor), care va încerca să creeze
directorul test în directorul home. În cazul în care directorul va fi creat, script-ul va
scrie în fișierul ~/raport un mesaj "catalog test was created successfully" şi va crea în
directorul test un fișier numit Data_Ora_Lansarii_Scriptului. Apoi, indiferent de
rezultatele etapei anterioare, script-ul trebuie să interogheze, folosind comanda ping,
adresa www.traiasca_moldova.md și în cazul în care host-ul nu este disponibil, adăugați
un mesaj de eroare în fișierul ~/raport (se recomanda - >,>>, ~, date, ||, &&).

2) Modificați script-ul din 1) pentru încă o singură executare peste 2 minute. Controlați
conținutul fișierului ~/raport și afișați liniile noi apărute ( se recomanda – at, tail).

3) Modificați script-ul din 1) ca să ruleze la fiecare 5 minute din oră, în zilele pare ale
săptămânii.
4) Creați două procese de fundal care efectuează același ciclu infinit de calcul (de
exemplu, înmulțirea a două numere). După lansarea proceselor, prevedeți posibilitatea
de a utiliza consolele virtuale din care au fost lansate. Folosind comanda top, analizați
procentul de utilizare a microprocesorului de către aceste procese. Rezervați primului
proces lansat o rată de utilizare a resurselor microprocesorului nu mai mare de 20% (se
recomanda – nice, kill).

Common questions

Dezvoltat cu IA

Challenges include creating a script without using conditional operators to manage whether a directory exists or not. The solution involves using redirection operators to log successful directory creation into a report and handling network checks using the ping command. If the network host is unavailable, an error message should be appended to the report using logical operators like && and || .

Logical operators, such as && and ||, can be used to handle errors seamlessly. In the context of verifying network connectivity with the 'ping' command, these operators can direct flow control based on command success or failure. For instance, failing to ping a host can trigger an error message to be written to a report file, ensuring the script adapts to connectivity issues automatically .

File manipulations allow scripts to automatically respond to events like creating a directory and logging success or failure messages. Using commands such as '>', '>>', and 'mkdir', the script can create directories, write to files, and append messages efficiently, enabling autonomous documentation and task execution without manual intervention .

One would implement this scheduling feature by using the 'at' command to schedule the script to run 2 minutes after the initial execution. This involves modifying the script to write to the '~/raport' file, and using 'tail' to display new lines added to the file after scheduling and execution .

Monitoring techniques include using the 'top' command to view real-time CPU utilization data of processes. Adjusting CPU usage can be managed by the 'nice' command to alter process priority, and 'renice' to change it dynamically for running processes. These techniques ensure balanced CPU utilization among user-defined processes .

The process involves editing the script to include cron job specifications, which dictate execution on specific days. Using crontab, one can set conditions like '*/5 * * * 2,4,6', ensuring the script runs at defined intervals only on even days (Tuesday, Thursday, Saturday). This approach requires familiarity with cron syntax and logic to apply correct scheduling based on weekday conditions .

A script can execute tasks sequentially using command chaining and redirection operators like '&&' and '||' without conditional statements. This approach allows executing follow-up commands based on the success or failure of prior commands. However, limitations include inflexibility in complex decision-making and inability to provide alternative logic paths beyond simple success/failure responses .

The method involves configuring a cron job using the crontab scheduler. The specified schedule would be set as '*/5 * * * 2,4,6' which indicates execution every 5 minutes on even days of the week (Tuesday, Thursday, Saturday). The script would be modified to adhere to this timing and perform its tasks consistently on the given schedule .

To transition between virtual consoles while maintaining the continuity of background tasks, you can utilize background execution operators (&) to send processes to the background. Using key combinations like Ctrl+Alt+F1 to Ctrl+Alt+F7 allows switching between different virtual consoles. This ensures ongoing background processes remain uninterrupted. Resources like 'screen' or 'tmux' could also be used for managing multiple sessions efficiently .

You can ensure equitable CPU resource allocation by using the 'nice' command to set the priority of the processes. By applying a nice value, you can control how much CPU time is allotted, with a lower nice value giving higher priority. Additionally, the 'top' command can be utilized to monitor and ensure that the first process does not exceed 20% CPU utilization, making adjustments using 'nice' as necessary .

S-ar putea să vă placă și