Punktacja
Tematy prezentacji
Grupa: wtorek 17:05
- 27.11.18
- Aleksander A. Podsystem Windows dla systemu Linux
- Mikołaj W. Podpisy cyfrowe
- 04.12.18
- Wojciech S. Wykorzystanie Lua w C/C++
- Miłosz C. Yocto – tworzenie własnego systemu
- Patrycja B. GRUB – czym jest i jak go skonfigurować
- Mateusz Z. Architektura procesorów
- Mariusz K. Ochrona systemów operacyjnych przed utratą danych
- 11.12.18
- Filip D. Algorytm RSA
- Łukasz P. Filozofia Javy
- Artur K. Android – system operacyjny na urządzenia mobilne
- Mariusz P. Wewnętrzna budowa mikrokontrolera
- Piotr B. Systemy rozproszone
- 18.12.18
- Wojciech K. Armia hakerów Korei Północnej
- Radosław B. VPN
- Mateusz P. Wzorce projektowe i dobre praktyki pisania kodu
- Michał P.Czy inteligentne domy i pojazdy są bezpieczne?
- Filip M. Bezpieczeństwo w systemach komputerowych
- 08.01.19
- Robert K. Dystrybucje Linuxa
- Damian S. Test Driven Development jako technika wytwarzania oprogramowania
- Rafał W. Systemy operacyjne czasu rzeczywistego i ich zastosowania
- Maciej G. Maszyny wirtualne – rodzaje i zastosowania
- 15.01.19
- Marcel S. Sieci neuronowe
- Paweł K. Darknet: zastosowania, niebezpieczeństwa, przeglądarka Tor
- Paweł P. Komputery w kosmosie
- Aleksandra R. Protokół Kerberos
- 22.01.19
- Tomasz D. Przyszłość technologii blockchain – praktyczne zastosowania łańcucha bloków
- Dawid P. Linux jako podstawa oprogramowania do nowoczesnych samochodów
- Maciej J. Programowanie funkcyjne
- 29.01.19
- Sebastian Z. Szyfrowanie SSL
Komunikacja między procesami – szkielet
[code lang=”cpp”]
#include <fcntl.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#define MAX_FILENAME_LEN 100
#define SHM_FILE "shm1" // It’ll be placed in /dev/shm
#define SHM_FILE_PATH "/dev/shm/"SHM_FILE
void parent_process();
void child_process();
// The program consists of two processes: a child and a parent.
// It creates the file and maps it to virtual memory adresses.
// The partent process asks user for names of files which will be readed
// and stored in shared memory. On the other hand, the subprocess reads
// data from mapped memory and displays images.
int main(void)
{
pid_t pid;
if ((pid = fork()) == -1)
{
fprintf(stderr, "Error: couldn’t create a subprocess.\n");
exit(-2);
}
if (pid > 0)
{
parent_process();
}
else
{
child_process();
}
return 0;
}
void parent_process()
{
char file_name[MAX_FILENAME_LEN];
// Create file used for data sharing
while ((option != ‘q’) && (option != EOF))
{
// Unmap memory if necessary
printf("\nPlease enter the name of the image file.\n");
scanf("%s", file_name);
if ((image_file = open(file_name, O_RDONLY)) == -1)
{
fprintf(stderr, "Error: Incorrect file path.\n");
exit(-3);
}
// Get the image file statistic and resize memory file
// Create a new mapping in virtual address space
// Read data from file and write it to the memory.
printf("\nPush ‘t’ to load next file. Otherwise push ‘q’.\n");
while ((option = getc(stdin)) == ‘\n’);
}
}
void child_process()
{
// Check if first image has been written and print all received images
}
[/code]
Kryteria oceny – laboratorium
Lista nr 8
Zad 1
- Utworzenie procesu nadrzędnego i podprocesu – 2 pkt
- Utworzenie potoku i poprawne przesłanie danych między procesami – 4 pkt
- Przekierowanie strumienia stdin na potok i uruchomienie programu do wyświetlania obrazków – 2 pkt
- Styl: formatowanie kodu, odpowiednie nazwy zmiennych, kompilacja bez ostrzeżeń – 2 pkt
Max 10 pkt
Lista nr 9
- Utworzenie potoku FIFO i poprawne przesłanie danych między procesami – 6 pkt
- Obsługa wielu plików w pętli nieskończonej – 2 pkt
- Styl: formatowanie kodu, odpowiednie nazwy zmiennych, kompilacja bez ostrzeżeń – 2 pkt
Max 10 pkt
Lista nr 10
- Utworzenie procesu nadrzędnego i podprocesu – 1 pkt
- Utworzenie pliku wymiany – 1 pkt
- Ustawienie odpowiedniej wielkości pliku wymiany – 2 pkt
- Zmapowanie pliku wymiany do obszaru pamięci – 3 pkt
- Wczytanie obrazu do zmapowanego obszaru pamięci wspólnej – 3 pkt
- Poprawne wyświetlenie kolejnych obrazów – 3 pkt
- Styl: formatowanie kodu, odpowiednie nazwy zmiennych, kompilacja bez ostrzeżeń – 2 pkt
Max 15 pkt
Skala ocen
5.5 >= 100%
5.0 >= 90%
4.5 >= 80%
4.0 >= 70%
3.5 >= 60%
3.0 >= 50%