• Napisz program rozwiązujący problem 5

Transkrypt

• Napisz program rozwiązujący problem 5
•
Napisz program rozwiązujący problem 5-filozofów, stosując jednoczesne operacje
semaforowe i rozwiązanie asymetryczne.
•
Napisz program rozwiązujący problem 5-filozofów, stosując kolejki komunikatów
i rozwiązanie z jadalnią.
•
Zsynchronizuj procesy za pomocą kolejek komunikatów.
Procesy:
A(a1, a2, a3)
B(b1, b2, b3)
wykonują MAX cykli.
Relacja pierwszeństwa: { (a1, b1), (b1, a2), (a3, b3) }
•
Napisz program w c, który tworzy kolejkę FIFO i tworzy nowy proces (fork). Za
pomocą kolejki FIFO proces potomny przekazuje do procesu macierzystego tekst: „to
jest tekst”, a proces macierzysty odczytuje ten tekst z FIFO po znaku i zlicza ile razy
występuje w nim litera ‘t’, wynik wyświetla na ekranie.
•
Napisz program c, który tworzy potok nienazwany (pipe) i nowy proces (fork). Proces
potomny wyświetla plik ( execvp, cat), którego nazwa jest parametrem programu
(argv), a proces macierzysty odczytuje te dane z potoku i przetwarza w ten sposób, Ŝe
zamienia wszystkie znaki ‘a’ na ‘A’.
•
Napisz program, który:
a. Odczytuje wartość zmiennej LAS
b. Jeśli nie jest ustawiona nadaje jej wartość „brzezina” i ponownie odczytuje i
wypisuje na monitorze wartość tej zmiennej
c. Jeśli jest ustawiona wczytuje datę z klawiatury wg formatu yyy/mm/dd
gg:mm:ss (przykład: 2006/06/03 10:30:00) i wypisuje ją jako liczbę sekund,
jaka upłynęła od początku 1970 r.
•
Napisz program w języku c, który analizuje argumenty wiersza poleceń pod kątem
poprawności uŜytych opcji oraz ich wartości. Dopuszczalne opcje: a, b, c, d; opcja c
wymaga podania wartości.
•
Napisz program w c, w którym:
a. Odczytaj bieŜącą datę,
b. zamień ją na strukturę tm, wyświetl pola tej struktury opisujące rok, miesiąc
oraz dzień.
c. Wprowadź dowolna datę w formacie: YYYY/MM/DD z klawiatury do bufora,
d. zamień ją na strukturę tm, wyświetl pola tej struktury opisujące rok, miesiąc
oraz dzień.
•
Napisz program, który:
a. Definiuje zmienną środowiskową X1, nadając jej wartość TEKST
b. Odczytuje wartość zmiennej X2
c. Jeśli X2 jest ustawiona wczytuje datę z klawiatury podaną w formacie:
„YYYY – MM – DD” i wyświetla skróconą nazwę dnia tygodnia.