Systemy Operacyjne. Ćwiczenia

Podobne dokumenty
Tworzenie oprogramowania

Kompilacja i scalanie programów w linii poleceń gcc i make

Programy użytkowe (utilities)

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

SYSTEMY OPERACYJNE SYLABUS A. Informacje ogólne

Tworzenie oprogramowania

Zasady zaliczenia zajęć w roku akademickim 2016/2017 semestr letni

Zasady zaliczenia zajęć w roku akademickim 2017/2018 semestr zimowy

Podstawy Technologii Chemicznej

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Podstawy Technologii Chemicznej

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2015/2016

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Siecikomputerowe-laboratorium. Wstęp-zasady zaliczenia przedmiotu

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Podstawy użytkowania Linux a

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28

Badania operacyjne 2015/2016

Elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

PODSTAWY PROGRAMOWANIA STRUKTURALNEGO (C) SYLABUS A. Informacje ogólne

Regulamin ćwiczeń Laboratorium Inżynierii Ruchu Lotniczego

Optymalizacja programów Open Source. Profilery wysokiego poziomu część 2. Krzysztof Lichota

Wprowadzenie do laboratorium: Technologia informacyjna mgr Wojciech Czerski

Systemy Operacyjne - Operacje na plikach

Automatyzacja kompilacji. Automatyzacja kompilacji 1/40

Podstawy programowania. Wykład 9 Preprocesor i modularna struktura programów. Krzysztof Banaś Podstawy programowania 1

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

REGULAMIN ZAJĘĆ DYDAKTYCZNYCH Z PRZEDMIOTU

Badania operacyjne SYLABUS

Programowanie w asemblerze Linkowanie

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C15

Wstęp do Informatyki dla bioinformatyków

Z-ETI-1025 Systemy operacyjne Operating systems

elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

KARTA PRZEDMIOTU. Egzamin / zaliczenie. Egzamin / zaliczenie. ocenę*

Podstawy informatyki

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Karta Opisu Przedmiotu

Wewnętrzny regulamin dydaktyczny jednostki

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Programowanie Proceduralne

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

Technologia Chemiczna

Programowanie Systemów Wbudowanych

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

Wprowadzenie do programowania i programowanie obiektowe

Rok akademicki: 2014/2015 Kod: MIO s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

AKADEMIA GÓRNICZO - HUTNICZA IM. STANISŁAWA STASZICA w KRAKOWIE

Do czterech razy sztuka

Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

REGULAMIN ZAJĘĆ DYDAKTYCZNYCH Z PRZEDMIOTU

E-1IZ2-06-s4. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

E-I-0006-s3. Informatyka I stopień (I stopień / II stopień) ogólnoakademicki (ogólno akademicki / praktyczny)

Wewnętrzny regulamin dydaktyczny jednostki

PRZEWODNIK PO PRZEDMIOCIE

Zajęcia trwają 15 tygodni (2 godziny wykładu, 2 godziny laboratorium tygodniowo) Zaliczenie zajęć jest uwarunkowane zaliczeniem zajęć laboratoryjnych

PRZEWODNIK PO PRZEDMIOCIE

Informatyka II stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny)

PRZEWODNIK PO PRZEDMIOCIE

SYSTEM OCENIANIA PRACY STUDENTA NA ZAJĘCIACH

Statystyka matematyczna SYLABUS

Informatyka I stopień ogólnoakademicki niestacjonarne Teleinformatyka Zakład Informatyki dr inż. Adam Krechowicz mgr inż.

PRZEWODNIK PO PRZEDMIOCIE

Rok akademicki: 2016/2017 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Pracownia Elektroniczna mieści się w sali nr F-1-17 (I piętro). Pracownia jest pod opieką Zakła du Fizyki Gorącej Materii.

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

PRZEWODNIK PO PRZEDMIOCIE

Sposoby wykrywania i usuwania błędów. Tomasz Borzyszkowski

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

SYSTEM OCENIANIA PRACY STUDENTA NA ZAJĘCIACH

przedmiot specjalnościowy obowiązkowy polski semestr V semestr zimowy nie

System Oceniania Na Lekcjach Historii i WOS. w Szkole Podstawowej Nr 340 dla II i III oddziałów gimnazjalnych

SYSTEM OCENIANIA PRACY STUDENTA NA ZAJĘCIACH

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

PRZEWODNIK PO PRZEDMIOCIE

Laboratorium 2: Biblioteki statyczne i dynamiczne w języku C. mgr inż. Arkadiusz Chrobot

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Programowanie współbieżne... (10) Andrzej Baran 2010/11

SYSTEMY OPERACYJNE I laboratorium 3 (Informatyka stacjonarne 2 rok, semestr zimowy)

PRZEWODNIK PO PRZEDMIOCIE

AKADEMIA GÓRNICZO - HUTNICZA IM. STANISŁAWA STASZICA w KRAKOWIE

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C6

KARTA KURSU. Języki skryptowe

Podstawy programowania strukturalnego (C) SYLABUS A. Informacje ogólne

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 1. Wprowadzenie, środowisko programistyczne, pierwsze programy

Procesy i systemy dynamiczne Nazwa przedmiotu SYLABUS A. Informacje ogólne

Here comes the sun. Wyk lad niesystematyczny. Marcin Makowski. 24 października Zak lad Chemii Teoretycznej UJ

A. USYTUOWANIE MODUŁU W SYSTEMIE STUDIÓW

Zintegrowane systemy informatyczne zarządzania

Instrukcja laboratoryjna cz.0

Transkrypt:

Systemy Operacyjne Ćwiczenia

Sprawy organizacyjne Kontakt: Artur.Basiura@agh.edu.pl Konsultacje po uzgodnieniu mailowym terminu Prośba o kontakt mailowy do jednej osoby z grupy (zmiany w terminach zajęć) Zasady współpracy: https://geist.re/pub:teaching:gris Instrukcje: http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:so:2017:start Literatura: M.J.Rochkind - Programowanie w systemie UNIX dla zaawansowanych (Advanced UNIX Programming) - obowiązuje wyd. 3 PL = wyd. 2 EN

Zajęcia Zasady współpracy: https://geist.re/pub:teaching:gris Obecności obowiązkowe - 1 nieobecność nieusprawiedliwiona Możliwość odrabiania zajęć Student może nie zostać dopuszczony do zaliczenia poprawkowego w przypadku opuszczenia więcej niż 20% zajęć (powyżej 3 zajęć). 3 kolokwia Kartkówka z tematyki poprzednich zajęć i tematyki przyszłych zajęć (2 pytania) Możliwość uzyskania plusów na zajęciach za aktywność (1plus = 1 pkt) Zaliczenie > 50% max pkt.

Oceny Punktacja Kartkówka: 2 pyt x 1pkt = 2pkt (planowo 10 kartkówek) Na kartkówkach obowiązuje materiał z poprzedniego laboratorium oraz bieżącego. 1. kolokwium: 5 lab x 4pkt = 20pkt 2. kolokwium: 4 lab x 4pkt = 16pkt 3. kolokwium: 3 lab x 4pkt = 12pkt Powyższe punkty stanowią 100% maksymalnej łącznej liczby punktów (MAX 68 pkt) Ocena (wg Skali Ocen Regulaminu Studiów AGH 13 p.1) >= 91% - bardzo dobry (5.0); >= 81% - plus dobry (4.5); >= 71% - dobry (4.0); >= 61% - plus dostateczny (3.5); >= 50% - dostateczny (3.0); < 50% - niedostateczny (2.0).

Zajęcia 1 - Wprowadzenie 1. Organizacja przedmiotu 2. Dokumentacja systemu UNIX 3. Wykorzystanie funkcji systemowych i sprawdzanie błędów 4 Kompilowanie programów: gcc i make 5 Daty i czasy w Unixie (o ile czas pozwoli) 6 Standardy systemu (o ile czas pozwoli)

Instrukcje i zajęcia Instrukcje: http://ai.ia.agh.edu.pl/wiki/pl:dydaktyka:so:2017:start User: so Pass: $02017 Harmonogram zajęć

Dokumentacja systemu UNIX Dokumentacja: man, apropos, whatis, info man Kategorie dokumentacji (8+ kategorii) - passwd(1), passwd(5) Sekcje stron w man (np. NAMES, SYNOPSIS, DESCRIPTION, ERROR,whati OPTIONS ) Konwencja w dokumentacji as_is, argument, [opcje opcje] Poruszanie się po man (less): /słowo,?słowo, n, p Różne opcje wyszukiwania informacji: a (all pages),-f (whatis), -k(apropos) opisy funkcji systemowych, np. open(2) man gcc

ex0_0.c ex0_0e.c ex0_0.s 1. PREPROCESUJ (-E) cpp - tworzy plik do kompilacji (-E) gcc -E ex0_0.c > ex0_0e.c cpp ex0_0.c > ex0_0e.c 2. KOMPILUJ (-S) cc,cc1 kompiluje do asmblera ( S) gcc -S ex0_0.c *.o 3. ASEMBLER ( c ) as - tworzy kod maszynowy ex0_0.o ex0_0 4.LINKUJ (bez opcji) : ld - linkuje kod z odpowiednimi bibliotekami ldd prezentuje biblioteki które ładuje podczas wykonywania programu

gcc GCC -v (opcje kompilacji) -O[0-3 c] (optymalizacje) -shared (biblioteka), l / -L (linkowanie z zewnętrznymi bibliotekami) -Wall (uwagi), pedantic, -std gcc -Wall -ansi -pedantic pliki-wejściowe.c [-o plik-wykonywalny] Inne narzędzia: gdb debugger (opcja g) file typ pliku nm lista symboliczna objektów - przydatne do sprawdzenia czy funkcja jest zlinkowana ldd pokazuje dynamicze biblioteki z których korzysta funkcja ulimit / core dump /valgrind

make Makefile (domyślnie, f <<plik>>) Proces budowy kodu (przyrostowo) cel1: prerekwizyt1 prerekwizyt2... <tab> <tab> komenda1 <tab> <tab> komenda2 <tab> <tab>... cel2:... <tab> <tab>... zmienne: $@, $<, $?, $^.PHONY cel pozorny (nie buduje przyrostowo) dependency - zależności (cel: prerekwizyty)

make kompiluj: gcc -c ex0_0.c -o ex0_0.o gcc -o ex0_0 ex0_0.o all: ex0_0 ex0_0 : ex0_0.o gcc -o ex0_0 ex0_0.c ex0_0.o : ex0_0.c gcc -c ex0_0.c clean: rm ex0_0.o ex0_0 PROGRAM_NAME = ex0_0 CFLAGS = -O2 -Wall -g ex0_0 : ex0_0.o gcc $(CFLAGS) $^ -o $@ %.o : %.c gcc $(CFLAGS) -c $< clean: rm *.o rm $(PROGRAM_NAME) run: ex0_0 @echo ""./program test1

Funkcje systemowe Funkcja systemowa - wykonywane przez proces jądra/procesy systemowe Błędy Charakterystyczne dla każdej funkcji errno / perror / strerror strerror_r - thread safe Kod błędu - exit Funkcja - atexit Różnica między exit a return

Data i czas w systemie UNIX Czas kalendarzowy: problem roku 2038 Czas wykonywania programu: clock_t (CLOCKS_PER_SEC/_SC_CLK_TCK), tms time() vs times() vs clock()

Standardy POSIX API, polecenia, powłoka _POSIX_VERSION POSIX.1-2001 POSIX.1-2008 ograniczenia systemu ulimit a _POSIX_VERSION = 200112L _POSIX_VERSION = 200809L sysconf parametry systemu _SC_CHILD_MAX ilość procesów potomnych _SC_OPEN_MAX ilość otwartych plików wartość -1 (bez błędu) oznacza brak ograniczeń

M.J.Rochkind - Programowanie w systemie UNIX dla zaawansowanych (Advanced UNIX Programming). Wydanie 3PL / 2EN Proszę przeczytać rozdział - Rozdział 1. Pojęcia podstawowe. - Rozdzial 2. Podstawowe operacje wejściawyjścia dla plików