Przejdź do treści

SCR Systemy Operacyjne L/S 2017/2018

Punktacja


 

Tematy prezentacji

Grupa: wtorek 7:30
  • 21.11.17
  •  28.11.17
    • P. Knapik, Zasada działania i zastosowania RTOS’ów na przykładzie FreeRTOS i mikrokontrolera STM32
    • P. Rzepka, Android – system operacyjny na urządzenia mobilne
  • 5.12.17
    • M. Malec, Mobilne systemy operacyjne
    • A. Zema, Macierzyste systemy plików
    • J. Kosowski, Protokół Kerberos
    • D. Czajkowski, GRUB – czym jest i jak go skonfigurować
    • B. Klag, VPN
  • 12.12.17
    • W. Sobieszek, Zalety i wady platform gier komputerowych
    • P. Marczewski, Wirtualizacja serwerów i kontenery
    • P. Szczepański, Porównanie platform embedded w zastosowaniach IoT
    • K. Dudziak, Czy inteligentne domy i pojazdy są bezpieczne?
  • 19.12.17
    • J. Machowski, Budowa centrum multimedialnego w oparciu o system openELEC i program Kodi
    • T. Kiewra, Wydajność systemów operacyjnych
    • M. Babski, Konie trojańskie – trojany
    • W. Lisowski, Jądro linuxa
    • B. Michalak, Wstęp do ROS’a – czyli robot z własnym systemem operacyjnym
  • 9.01.18
    • A. Hajdasz, Bezpieczeństwo w systemach komputerowych – szyfrowanie, podpisy cyfrowe
    • K. Dembski, Maszyny wirtualne – rodzaje i zastosowania
    • R. Orozco, Algorytmy szeregowania zadań w rozproszonych systemach komputerowych
    • J. Kuśka, Metody włamań do systemów komputerowych
    • N. Herkt, Rootowanie systemu Android
  • 16.01.18
    • B. Jakubowski, Exploity i rootkity
    • M. Drząkowski, Bezpieczeństwo danych, kopie zapasowe
    • N. Celiński, Python – czyli język do szybkich rozwiązań
    • A. Postawka, Podsystem Windows dla systemu Linux
    • C. Królikowski, Machine learning
  • 23.01.18
    • M. Zakrzewska, Zabezpieczenia na stronach internetowych
    • M. Kubica, Jak być anonimowym w internecie?
Grupa: piątek 7:30
  •  01.12.17
    • M. Wiadomski, Projektowanie systemów wbudowanych, wybór rozwiązania w zależności od wymagań aplikacji
    • M. Żurowski, IoT – czy dobrze jest mieć dom w internecie?
    • M. Szymczak, Systemy operacyjne na Raspberry Pi – ich działanie oraz możliwe wykorzystanie
    • M. Głowacki, Cechy systemu plików btrfs
  • 08.12.17
    • J. Walecki, Konteneryzacja aplikacji; docker & kubernetes
    • M. Bajger, Wirusy
    • M. Rędzia, VPN
    • R. Nowak, Systemy czasu rzeczywistego w przemyśle
    • M. Brzozowy, Bezpieczeństwo w systemach komputerowych, odzyskiwanie danych/systemu po awarii/włamaniu
  • 15.12.17
    • M. Wójcik, Bezpieczeństwo w systemach komputerowych – ochrona przed atakami i złośliwym oprogramowaniem, analiza powłamaniowa
    • M. Gottschling, Tego nie zobaczycie na studiach, czyli najdziwniejsze języki programowania
    • P. Mędyk, Tor, VPN, serwer proxy – anonimowość w internecie
    • B. Matysik, Technologia blockchain. Właściwości. Zastosowania. Przyszłość?
    • R. Madeja, Sposoby wyłudzania danych w internecie
  • 22.12.17
    • M. Filipowicz, Wine – wszędzie tam gdzie Linux nie może
    • J. Jarek, Oprogramowanie nowoczesnych samochodów
    • K. Lisakowska, Środowiska graficzne
    • A. Matyśkiewicz, Kontrola użytkownika w nowoczesnych systemach
    • A. Paździor, Bezpieczeństwo w systemach komputerowych- szyfrowanie, algorytm RSA
  • 05.01.18 (prawdopodobnie zajęcia będą musiały być przesunięte)
    • A. Wiśniowski, Dystrybucje Linuxa
    • A. Matyśkiewicz, Kontrola użytkownika w nowoczesnych systemach
    • M. Gotszalk, Protokół Kerberos
    • M. Marciniak, Algorytmy kompresji
    • M. Skoczylas, Bezpieczeństwo w systemach mobilnych
  • 12.01.18
    • S. Kuprasz, Technologie sieciowe do zastosowań przemysłowych, systemów czasu rzeczywistego i systemów wbudowanych
    • Ł. Lechowicz, Maszyny wirtualne – rodzaje, możliwości i zastosowania
    • J. Cycoń, Android -System operacyjny na urządzenia mobilne
    • E. Michalski, Mobilne systemy operacyjne – iOS
    • F. Wojtowicz, Metody włamań do systemów komputerowych
  • 19.01.18
Kryteria oceny – laboratorium

 

Lista nr 4
  • Punktacja podana w instrukcji

Max 16 pkt

Lista nr 5

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

Zad 2

  • 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 20 pkt

Lista nr 6
  • 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

Lista nr 7

Max 15 pkt

 

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]

 

Sygnały

Generowanie podstawowych sygnałów:
Ctrl-C –> SIGINT (domyślnie zamyka proces)
Ctrl-Z –> SIGTSTP (domyślnie zawiesza proces)
Ctrl-\ –> SIGQUIT (domyślnie zamyka proces)

[code lang=”cpp”]
// The simple example of specific reaction definition
// on received signal (SIGQUIT in this case)
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
#include <stdlib.h>

// The function used as a handler.
void message(int sig)
{
printf("\nReceived signal nr=%d, sig");
}

int main()
{
struct sigaction act;
act.sa_handler = message; // Pointer to handler

sigemptyset(&act.sa_mask); // Clears the mask of signals

sigaction(SIGQUIT, &act, NULL); // Sets the signal bit in signals mask

while (1)
{
sleep(2);
}
}
[/code]

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/