Instrumente în Informatică - Curs 4
26 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Care dintre urmtoarele comenzi poate fi folosit pentru a crea un director gol?

  • rm
  • rmdir
  • touch
  • mkdir (correct)

Ce opțiune a comenzii grep permite căutarea fără a ține cont de majuscule?

  • -R
  • -n
  • -w
  • -i (correct)

Care dintre următoarele comenzi returnează liniile care nu conțin expresia specificată?

  • ls -l | grep ^d
  • find / -name hello
  • grep printf *.c
  • grep -v -w printf *.[ch] (correct)

Ce opțiune a comenzii find limitează rezultatele la un anumit tip de fișiere?

<p>-type (D)</p> Signup and view all the answers

Cum se scrie sintaxa corectă pentru a căuta un fișier numit 'hello' în directorul rădăcină?

<p>find / -name hello (B)</p> Signup and view all the answers

Care dintre următoarele opțiuni nu este o opțiune utilă a comenzii grep?

<p>-type (B)</p> Signup and view all the answers

Ce semnale nu pot fi 'prinse' de un proces?

<p>SIGKILL (D)</p> Signup and view all the answers

Ce efect are semnalul SIGINT asupra proceselor?

<p>Îndeamnă procesul să execute un handler definit (C)</p> Signup and view all the answers

Care dintre următoarele comenzi este corectă pentru a termina un proces utilizând semnalul TERM?

<p>$ kill -TERM 4899 (B)</p> Signup and view all the answers

Ce rezultat are semnalul SIGTSTP asupra unui proces?

<p>Suspendă execuția procesului curent (B)</p> Signup and view all the answers

Care dintre următoarele comenzi generează semnalul SIGINT?

<p>Apăsarea Ctrl-c (C)</p> Signup and view all the answers

Ce reprezintă un proces în contextul execuției unui program?

<p>O instanță a programului împreună cu starea sa la un moment dat (D)</p> Signup and view all the answers

Care este rolul comenzii 'ps' în gestionarea proceselor?

<p>Afișează PID-urile proceselor în rulare (C)</p> Signup and view all the answers

Care dintre următoarele descrie cel mai bine execuția proceselor?

<p>Execuția proceselor este secvențială, fără execuție paralelă (B)</p> Signup and view all the answers

Care dintre următoarele motive nu este un motiv pentru cooperarea proceselor?

<p>Reduce complexitatea programului (B)</p> Signup and view all the answers

Ce reprezintă modelele IPC în comunicația între procese?

<p>Modalități prin care procesele schimbă informații (C)</p> Signup and view all the answers

Care dintre următoarele afirmații despre IPC prin trecere de mesaje este adevărată?

<p>Procesele comunică prin trimitere și recepție de mesaje. (D)</p> Signup and view all the answers

Care dintre următoarele este o caracteristică a comunicării directe în IPC?

<p>Procesele își identifică explicit partenerii de comunicare. (D)</p> Signup and view all the answers

Ce primitive de comunicare sunt utilizate pentru transmiterea mesajelor prin intermediul unei cutii poștale?

<p>send(A, message) și receive(A, message) (C)</p> Signup and view all the answers

Care dintre următoarele caracterizează un modul blocant de transmitere a mesajului?

<p>Transmițătorul este blocat până când mesajul este recepționat. (A)</p> Signup and view all the answers

Ce caracterizează o operație de tip send neblocant?

<p>Transmițătorul trimite mesajul și continuă execuția. (A)</p> Signup and view all the answers

Care dintre următoarele caracteristici sunt specifice pipe-urilor anonime în Unix?

<p>Procesele cooperante își cunosc implicit identitatea. (D)</p> Signup and view all the answers

Ce funcție este folosită pentru crearea unui pipe cu nume (FIFO) în Unix?

<p>mkfifo() (B)</p> Signup and view all the answers

Care dintre următoarele evenimente poate genera un semnal către un proces?

<p>O operație de citire din memoria nealocată. (B)</p> Signup and view all the answers

Ce se întâmplă când un proces primește un semnal?

<p>Procesul poate ignora semnalul, îl poate prelucra, sau poate fi oprit. (D)</p> Signup and view all the answers

Care dintre următoarele este un exemplu de semnal care indică terminarea unui proces?

<p>SIGCHLD (A)</p> Signup and view all the answers

Flashcards

mkdir

Creează un director nou. Numele directorului este specificat ca argument.

rmdir

Șterge un director gol. Directorul trebuie să fie gol pentru a fi șters.

touch

Creează un fișier gol. Dacă fișierul există deja, nu se întâmplă nimic.

mv

Mută un director sau un fișier. Poate fi folosit pentru a redenumi fișiere sau directoare.

Signup and view all the flashcards

cp

Copiază un director sau un fișier. Poate fi folosit pentru a crea copii ale fișierelor sau directoarelor.

Signup and view all the flashcards

grep

O comandă utilizată pentru a căuta text în fișiere, acceptând tipare și expresii regulate.

Signup and view all the flashcards

grep -R sau -r

Opțiunea pentru grep care permite căutarea recursivă în directoare.

Signup and view all the flashcards

grep -i

Opțiunea grep face căutarea insensibila la majuscule/minuscule

Signup and view all the flashcards

find

O comandă utilizată pentru a căuta fișiere în directoare, bazată pe caracteristici specifice.

Signup and view all the flashcards

find ... -exec

Opțiunea find care permite executarea unei comenzi asupra fișierelor găsite.

Signup and view all the flashcards

Proces

O abstracție a execuției unui program, incluzând instrucțiunile și datele, precum și starea sa la un moment dat, reflectată de registrele CPU și valorile variabilelor.

Signup and view all the flashcards

PID (Process ID)

Un ID unic care identifică un proces.

Signup and view all the flashcards

Execuție secvențială

Procesul de execuție a instrucțiunilor unui program într-o ordine liniară, fără execuție paralelă.

Signup and view all the flashcards

Stivele de date

Tipuri de date asociate unui proces, cum ar fi datele globale, variabile locale, parametrii funcțiilor.

Signup and view all the flashcards

Memorie partajată

O metodă de comunicare între procese care permite accesul la aceiași memorie.

Signup and view all the flashcards

Evenimente care nu produc erori majore

Sunt evenimente care nu provoacă erori majore sau consecințe grave.

Signup and view all the flashcards

Terminarea Programului

Terminarea unui program prin trimiterea unui semnal de închidere.

Signup and view all the flashcards

Prinderea Semnalelor

Un program poate captura un semnal și să îl proceseze conform indicațiilor sale. Această captură se numește "prindere" a semnalului.

Signup and view all the flashcards

Rutina de tratare a semnalului (handler)

O rutină specială din program care se execută atunci când programul primește un semnal.

Signup and view all the flashcards

Semnale neprinse

Nu toate semnalele pot fi "prinse". Exemple: SIGKILL, SIGSTOP. Semnalul KILL întrerupe întotdeauna programul.

Signup and view all the flashcards

IPC - Mesaje

IPC (Inter-Process Communication) este un mecanism care permite proceselor să comunice între ele. În IPC bazat pe mesaje, procesele trimit și primesc mesaje fără a partaja variabile direct.

Signup and view all the flashcards

send si receive

Operatiile send si receive permit proceselor sa trimita si sa primeasca mesaje.

Signup and view all the flashcards

Dimensiune mesaj

Mesajele pot avea dimensiune fixă sau variabilă, in functie de protocoalele utilizate.

Signup and view all the flashcards

Comunicare directa

Comunicarea directa implica trimiterea de mesaje direct către procese specifice, folosind identitatea procesului.

Signup and view all the flashcards

Comunicare indirecta

Comunicarea indirecta presupune trimiterea și primirea mesajelor in/din casute postale, numite si porturi.

Signup and view all the flashcards

Port

Un port este o casuta postala cu un ID unic, folosit pentru comunicarea indirecta.

Signup and view all the flashcards

Operatii casuta postala

Operatiile de creare, trimitere, primire și stergere a casutelor postale sunt folosite pentru a gestiona comunicarea indirecta.

Signup and view all the flashcards

Sincronizare

Schimbul de mesaje poate fi blocant (sincron) sau neblocant (asincron).

Signup and view all the flashcards

Blocant

Modul blocant face ca procesul să se oprească până când mesajul este trimis sau primit.

Signup and view all the flashcards

Neblocant

Modul neblocant permite procesului să continue chiar dacă mesajul nu a fost trimis sau primit încă.

Signup and view all the flashcards

Study Notes

Instrumente și tehnici de bază în Informatică - Curs 4

  • Subiectul cursului 4 este fisiere și directoare (epilog), procese, comunicare inter-proces și semnale.

Comenzi utile pentru lucrul cu fisiere

  • mkdir: Creează directoare.
  • rmdir: Șterge directoare (dacă sunt goale).
  • touch: Creează un fisier gol dacă nu există deja.
  • mv: Mută directoare sau fisiere, redenumire (nu face copiere fizică, doar dacă datele sunt mutate de pe un disc pe altul.)
  • cp: Copiază directoare (cu -r) sau fisiere. Poate copia mai multe fisiere simultan către un director-țintă.
  • rm: Șterge directoare (cu -r) sau fisiere.
  • Permite crearea de linkuri hard sau simbolice.
  • mknod: Creează fisiere speciale de tip caracter, bloc sau FIFO (First-In, First-Out).

Wildcards

  • ~: Simbolizează începutul liniei.
  • $: Simbolizează sfârșitul liniei.
  • *: 0 sau mai multe apariții ale atomului precedent.
  • +: Cel puțin 1 apariție a atomului precedent, posibil mai multe.
  • ?: Cel mult o apariție a atomului precedent (0 sau 1 apariție).

Căutare în fișiere

  • Comanda grep este utilizată pentru căutare în fișiere folosind tipare și expresii regulate.
  • grep <expresie> <fisiere>: cauta expresia în fișiere.
  • Optiuni utile:
    • -R/-r: Căutare recursivă (cu/fără dereferentiere a linkurilor simbolice).
    • -i: Case-insensitive (insensibil la majuscule/minuscule).
    • -n: Afiseaza numerele liniilor.
    • -W: Caută cu exactitate tiparul (cuvânt, termen).
    • -v: Inversează sensul căutării (afisează liniile care nu se potrivesc).

Căutare în directoare

  • Comanda find este utilizată pentru căutare în directoare.
  • find <pathname> -name <expresie>: Căuta expresia în pathname.
  • Optiuni utile:
    • -exec: Execută comanda specificată asupra fişierelor găsite.
    • -type: Limitează rezultatele la un anumit tip (de ex., fișiere).
    • -iname: Similar cu -name, dar insensibil la majuscule/minuscule.
    • -maxdepth: Limitează nivelul de recursivitate.

Procese

  • Procesul este o abstractizare a executiei unui program, reprezentând programul + starea de execuție.
  • Este identificat prin PID (Process ID).
  • Comanda ps afișează PID-urile proceselor active.
  • Multe procese ale aceluiași program sunt procese diferite, cu PID-uri diferite.
  • Execuția este secvențială (nu paralelă).
  • Mai multe componente: codul programului, stare curentă, stiva (date temporare), parametri, adrese, variabile locale, date inițializate/neinițializate, heap (memorie alocată dinamic).

Comunicare inter-proces (IPC)

  • Procese pot fi independente sau cooperante.
  • Motivații cooperare: partajare informații, accelerare calcul, modularitate, confort.
  • IPC: mijloace de comunicare inter-proces.
  • Modele IPC: memorie partajată și schimb de mesaje (message passing).

Tipuri de comunicare

  • Directe: procesele își folosesc identitatea explicit.
  • Indirecte: mesajele sunt trimise/primite în/din casute postale (porturi). Fiecare casuta are ID unic. Procese comunică prin partajarea unei casute. Operatii: creeaza casuta, trimite/primeste mesaje prin intermediul casutei, sterge casuta. Primitive de comunicare: send(A, message) si receive(A, message).

Sincronizare

  • Schimbul de mesaje poate fi blocant sau neblocant.
  • Modul blocant este sincron (blocat pana la receptia mesajului). Modul neblocant este a-sincron. Sunt posibile combinatii blocante/neblocante.

Comunicare FIFO în Unix

  • Prin pipe-uri anonime sau cu nume (FIFO). Interacțiunea dintre procese poate fi directa/indirecta. Pipe-urile anonime au comunicare unidirecțională. Pipe-urile cu nume (FIFO) sunt fisiere speciale care permit comunicare indirectă.

Semnale

  • Notificări asincrone de la proces la proces, reprezentând evenimente.
  • Echivalente software ale excepțiilor.
  • Generate din diverse surse (apel sistem kill, tastatură, etc.).
  • Reacția la semnal depinde de tipul semnalului și decizia programului.

Posibilități de tratare a semnalelor

  • Ignorare.
  • Terminare proces.
  • Tratare manuală printr-o rutină (handler).

Exemple utilizare semnale

  • Comanda kill este folosită pentru a trimite semnale către procese.
  • Exemplu, Ctrl+C generează SIGINT, terminând procesul dacă nu este procesat. (Ctrl+Z) generează SIGTSTP.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Acest quiz abordează subiectele din cursul 4 de Informatică, incluzând operarea cu fișiere și directoare, procesele și comunicarea inter-proces. Vei explora comenzi esențiale precum mkdir, rmdir și cp, precum și utilizarea wildcard-urilor. Testează-ți cunoștințele și îmbunătățește-ți abilitățile în gestionarea fișierelor!

More Like This

Linux Basics: Commands Overview
10 questions

Linux Basics: Commands Overview

EfficientForethought2795 avatar
EfficientForethought2795
Linux Befehle und Dateiverwaltung
27 questions
Linux File Management Commands
41 questions
Use Quizgecko on...
Browser
Browser