SCR Systemy Operacyjne L/S 2018/2019

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
    • Tomasz D. Przyszłość technologii blockchain – praktyczne zastosowania łańcucha bloków
  • 15.01.19
    • Marcel S. Sieci neuronowe
    • Paweł K. Darknet: zastosowania, niebezpieczeństwa, przeglądarka Tor
    • Dawid P. Linux jako podstawa oprogramowania do nowoczesnych samochodów
    • Paweł P. Komputery w kosmosie
    • Aleksandra R. Protokół Kerberos
  • 22.01.19
    • Sebastian Z. Szyfrowanie SSL
  • 29.01.19

 

Komunikacja między procesami – szkielet

#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
}
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

 

Skala ocen

5.5   >=  100%
5.0  >=  90%
4.5  >=  80%
4.0  >=  70%
3.5  >=  60%
3.0  >=  50%

Strona kursu: http://sequoia.ict.pwr.wroc.pl/~witold/opsys/

  • Polski
  • English