OS-9 modułowy, wielozadaniowy system czasu rzeczywistego



Podobne dokumenty
OS-9 modułowy, wielozadaniowy system czasu rzeczywistego

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

UŻYTKOWNIK. APLIKACJE UŻYTKOWE (wszelkie programy zawarte domyślnie w systemie operacyjnym jak i samodzielnie zainstalowane przez użytkownika systemu)

Polecenia wewnętrzne:

Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.

Systemy Operacyjne - Operacje na plikach

DOS Podstawowe komendy Przygotowanie dyskietki do pracy Praca z katalogami w systemie DOS Operacje kopiowania

Znaki globalne w Linuxie

BASH - WPROWADZENIE Bioinformatyka 4

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

1 Przygotował: mgr inż. Maciej Lasota

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

Bash - wprowadzenie. Bash - wprowadzenie 1/39

Tworzenie oprogramowania

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

IdyllaOS. Prosty, alternatywny system operacyjny. Autor: Grzegorz Gliński. Kontakt:

Kurs systemu Unix wykład wstępny. Kurs systemu Unix 1

Działanie systemu operacyjnego

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

Struktura i działanie jednostki centralnej

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

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

PAMIĘĆ OPERACYJNA...107

Podstawy Programowania. Wykład 1

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Informatyka I. Wyk lad I. Wprowadzenie. Robert Muszyński Instytut Cybernetyki Technicznej Politechnika Wroc lawska

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

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Procesy pojęcia podstawowe. 1.1 Jak kod źródłowy przekształca się w proces

Kurs Zaawansowany S7. Spis treści. Dzień 1

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

SPIS TREŚCI: KARTY GRAFICZNE... 15

POPULARNE POLECENIA SKRYPTY. Pracownia Informatyczna 2

Wykład 4. Środowisko programistyczne

Paweł Skrobanek. C-3, pok

Komputery przemysłowe i systemy wbudowane

Podstawy programowania

Programowanie Systemów Wbudowanych

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

1.Wstęp. 2.Generowanie systemu w EDK

OS 9 modułowy, wielozadaniowy system czasu rzeczywistego materiały do wykładu Marek Wnuk

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach

Działanie systemu operacyjnego

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

OPERACJE NA PLIKACH. Podstawowe pojęcia:

Programowanie w asemblerze Linkowanie

Przedmiot : Programowanie w języku wewnętrznym. Ćwiczenie nr 4

System komputerowy. System komputerowy

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Architektura komunikacji

Wykład 3: Implementacja programów wbudowanych

Ćwiczenie 1. Ćwiczenie 2. Ćwiczenie 3. Opisz działanie następujących komend systemowych : COPY EDIT FDISK FIND FORMAT XCOPY

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Kernel Kompilacja jądra

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Język ludzki kod maszynowy

Zasady programowania Dokumentacja

KATEGORIA OBSZAR WIEDZY

SPIS TREŚCI. 3.3 Pasek narzędziowy

Systemy Operacyjne. Ćwiczenia

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

Wstęp do programowania. Wykład 1

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Tryb konsolowy ćwiczenie b

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

WPROWADZENIE DO INFORMATYKI

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Programowanie w Javie

Programowanie Komputerów 2FD. Materiały pomocnicze do laboratorium

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

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

Smarty PHP. Leksykon kieszonkowy

finiownia loginów. W zależności od ustawionej opcji użytkownik login:

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Struktury systemów operacyjnych

System operacyjny Linux wybrane zagadnienia. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Linux Polecenia. Problem nadpisywania plików. Zmienna noclobber i noglob. Filtry i metaznaki. Problem nadpisywania plików. Opracował: Andrzej Nowak

Podstawy programowania C. dr. Krystyna Łapin

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Krótka instrukcja obsługi debuggera HI-WAVE opracowano na podstawie: HI-WAVE Product Manual, Hiware, 1999 Marek Wnuk Wrocław,

Wiersz poleceń Windows

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

MATERIAŁY DO ZAJĘĆ I. Podstawowe pojęcia. Algorytm. Spis treści Przepis

Język programowania PASCAL

Javadoc. Piotr Dąbrowiecki Sławomir Pawlewicz Alan Pilawa Joanna Sobczyk Alina Strachocka

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Technologia informacyjna. Laboratorium nr 1.

MS-DOS polecenia wewnętrzne i

J adro systemu OS 9 moduł kernel

Techniki programowania INP001002Wl rok akademicki 2017/18 semestr letni. Wykład 7. Karol Tarnowski A-1 p.

Struktury systemów operacyjnych Usługi, funkcje, programy. mgr inż. Krzysztof Szałajko

Transkrypt:

OS-9 modułowy, wielozadaniowy system czasu rzeczywistego elastyczna, modułowa architektura 100% romowalność, praca bezdyskowa wielozadaniowość i wielodostepność podział czasu z wywłaszczaniem funkcje czasu rzeczywistego we/wy niezależne od sprzetu odporny na awarie system plików zgodność z UNIX-em na poziomie C dostepność jezyków wyższego rzedu narzedzia do uruchamiania programów na różnych poziomach (User, System, Source) MW-ZPCiR-ICT-PWr 1

Programy użytkowe OS 9 attr - odczyt i zmiana atrybutów pliku backup - duplikowanie dysku binex - zamiana pliku na postać szesnastkow a (S-rekordy) build - tworzenie krótkich plików tekstowych cmp - porównywanie plików code - wyświetlanie szesnastkowych kodów klawiszy copy - kopiowanie plików count - zliczanie znaków, słów i linii w pliku date - wyświetlanie daty i czasu MW-ZPCiR-ICT-PWr 2

dcheck - sprawdzanie poprawności katalogu/dysku deiniz - odł aczenie urz adzenia del - kasowanie plików deldir - kasowanie katalogów devs - wyświetlanie tablicy zainicjowanych urz adzeń weẃy dir - wyświetlanie zawartości kartoteki dsave - kopiowanie poddrzewa katalogów dump - szesnastkowe wyświetlanie zawartości pliku echo - wysyłanie tekstu na ekran edt - edytor liniowy exbin - zamiana S-rekordów na postać binarn a MW-ZPCiR-ICT-PWr 3

fixmod - odtworzenie sum kontrolnych i CRC modułu format - formatowanie dysków free - wyświetlanie wolnego miejsca na dysku grep - przeszukiwanie plików według wzorca help - wyświetlanie informacji o komendach ident - wyświetlanie informacji o modułach iniz - inicjowanie urz adzeń weẃy link - przył aczanie modułu w pamieci list - wyświetlanie zawartości pliku load - ładowanie modułów z pliku do pamieci login - wł aczanie sie do systemu (wielodostep) MW-ZPCiR-ICT-PWr 4

makdir - tworzenie katalogu mdir - wyświetlanie kartoteki modułów merge - ł aczenie plików na wyjście standardowe mfree - wyświetlanie wolnego miejsca w pamieci pd - wyświetlanie bież acej ścieżki danych pr - wyświetlanie pliku z formatowaniem procs - wyświetlanie aktualnych procesów qsort - szybkie sortowanie pliku w pamieci rename - zmienianie nazwy pliku save - składowanie modułów pamieciowych do plików shell - powłoka - interfejs użytkownika, jezyk komend MW-ZPCiR-ICT-PWr 5

sh - powłoka - interfejs użytkownika, jezyk komend sleep - zatrzymanie procesu na zadany czas, lub do przerwania tee - kopiowanie wejścia na kilka ścieżek wyjściowych tmode - wyświetlanie i ustawianie parametrów terminala touch - aktualizacja daty dostepu do pliku tr - zamiana znaków w pliku na inne (filtr) umacs - edytor ekranowy MicroEMACS 3.6 (mały) emacs - edytor ekranowy MicroEMACS 3.10 (rozbudowany) unlink - odł aczanie modułów pamieciowych xmode - zmiana parametrów urz adzenia znakowego MW-ZPCiR-ICT-PWr 6

Środowisko programowania w OS 9 Etapy tworzenia programu: tworzenie (edycja) źródła, kompilacja/asemblacja do plików relokowalnych (ROF - relocatable object file), ł aczenie (link) ROF-ów w moduł programowy, testowanie przy pomocy debuggera. Fazy kompilacji: wstepne przetwarzanie (cpp), kompilacja (c68, c68020), optymalizacja (o68). MW-ZPCiR-ICT-PWr 7

Narz edzia do tworzenia oprogramowania: cc egzekutor kompilatora C cpp preprocesor C c68 kompilator C dla 68000 i 68010 c68020 kompilator C dla 68020, 68030 i68040 o68 optymizator asemblera r68 asembler dla 68000 i 68010 r68020 asembler dla 68020, 68030 i 68040 l68 linker debug symboliczny debugger asemblera srcdbg symboliczny debugger C sysdbg debugger procesów w trybie systemowym MW-ZPCiR-ICT-PWr 8

Modułowa budowa systemu OS 9 APLIKACJE KOMENDY MATH CIO TAPE SBF REAL-TIME KERNEL PIPE- MAN PIPE RBF SCF FD HD NFM NET PIA ACIA MW-ZPCiR-ICT-PWr 9

Własności modułów Każdy moduł musi być: Re entrant - współużywalny, dostepny dla wielu procesów, Position independent - niezależny od położenia w pamieci. Moduł nie musi być: kompletnym programem, napisany w kodzie maszynowym. MW-ZPCiR-ICT-PWr 10

Budowa modułu *,+IH:J *,+.-0/2143 *,+6587:9;3 *,+.<=7?>?/A@4B *,+DC?E03GF! KMLONQPSRTNQUVK "$#%& "(')" MW-ZPCiR-ICT-PWr 11

Wspólna cz eść nagłówka modułu adr. C asm znaczenie module.h module.a 00 msync M$ID Znacznik modułu (4AFC) 02 msysrev M$SysRev Numer wersji systemu 04 msize M$Size Wielkość modułu 08 mowner M$Owner Wlaściciel modułu 0C mname M$Name Wskaźnik nazwy modułu 10 maccess M$Accs Zezwolenia na dostep 12 mtylan M$Type,M$Lang Typ i jezyk 14 mattrev M$Attr,M$Revs Atrybuty i wersja modułu 16 medit M$Edit Numer edycji modułu 18 musage M$Usage Wskaźnik komentarzy 1C msymbol M$Symbol Wskaźnik tablicy symboli 20 mident Kod identyf. modułu 22 mspare Zarezerwowane 2E mparity M$Parity Suma kontrolna nagłówka MW-ZPCiR-ICT-PWr 12

Wybrane pola nagłówka M$Accs: -- -- -- -- -- pe pw pr -- ge gw gr -- ce cw cr p public, g group, c creator, w write pozwala na zapis do modułu, r read pozwala ładować, przył aczeć i odł aczać moduł, e execute pozwala uruchamiać moduł. M$Type: 1 - Prgm - moduł programowy 2 - Sbrtn - moduł podprogramów 4 - Data - moduł danych 11 - TrapLib - biblioteka 12 - Systm - składnik systemu 13 - Flmgr - moduł zarz adzania plikami 14 - Drivr - moduł sterownika urz adzeń 15 - Desc - moduł deskryptora ur adzeń MW-ZPCiR-ICT-PWr 13

M$Lang: 1 - kod maszynowy 2 - kod pośredni Basic 3 - kod pośredni Pascal 4 - kod pośredni C 5 - kod pośredni Cobol 6 - kod pośredni Fortran M$Attr: sharable sticky supervisor -- -- -- -- -- sharable zezwala na równoczesne używanie modułu przez wiele procesów, sticky moduł jest usuwany z kartoteki przy wartości MD$Link=W 1, a nie 0, supervisor moduł pracuje w trybie uprzywilejowanym. M$Revs: Pozwala na dynamiczne zastepowanie istniej acych modułów ich nowszymi wersjami (nawet w ROM). Jeśli ładowany moduł ma wyższy numer wersji od istniej acego w kartotece, to funkcja F$Load podstawia w kartotece nowy moduł w miejsce starego. MW-ZPCiR-ICT-PWr 14

Zmienna cz eść nagłówka modułu Typ modułu adr. C asm znaczenie Flmgr, 30 mexec M$Exec Wskaźnik startu Systm 34 mexcpt M$Excpt Wskaźnik obsługi TRAP Drivr 38 mdata M$Mem Wielkość obszaru danych 3C mstack M$Stack Wielkość obszaru stosu 40 midata M$IData Wskaznik inicjalizacji danych Prgm 44 midref M$IRefs Wskaznik inicjalizacji wskaznikow 48 minit M$Init Wskaźnik inicjalizacji TRAP TrapLib 4C mterm M$Term Wskaźnik zakończenia TRAP MW-ZPCiR-ICT-PWr 15

Systemowy katalog modułów (Module Directory) adr. asm znaczenie 00 MD$MPtr Adres modułu w pamieci 04 MD$Group Identyfikator grupy modułów (adres 08 MD$Static pierwszego modułu grupy) Wielkość pamieci zajetej grupe modułów przez 0C MD$Link Licznik użytkowników modułu 0E MD$MChk Suma kontrolna nagłówka modułu F$Link - zwraca adres modułu o podanej nazwie, zwieksza MD$Link; F$Load - ładuje moduł z pliku o podanej ścieżce, wykonuje F$Link; F$UnLink - zmniejsza MD$Link dla modułu o podanym adresie, usuwa moduł i zwalnia pamieć przy MD$LinkX 0; F$UnLoad - zmniejsza MD$Link dla modułu o podanej nazwie, usuwa moduł i zwalnia pamieć przy MD$LinkX 0. MW-ZPCiR-ICT-PWr 16

Funkcje biblioteki C dla modułów Funkcja C Opis crc() obliczenie CRC dla modułu get module dir() pobranie elementu kartoteki modułów make module() utworzenie modułu mkdata module() utworzenie modułu danych (typu Data) modcload() załadowanie modułu do pamieci kolorowanej (colored memory) modlink() dowi azanie do modułu o zadanej nazwie i typie modload() załadowanie modułu do pamieci i dowi azanie modloadp() załadowanie modułu do pamieci z użyciem zmiennej PATH i dowi azanie munlink() usuniecie dowi azania do modułu o zadanym adresie munload() usuniecie dowi azania do modułu o zadanej nazwie MW-ZPCiR-ICT-PWr 17

Przykład dost epu do modułu danych /* zalozenie: w module typu Data o nazwie "my_module" sa umieszczone dane w postaci struktury o typie my_data; wskaznik dptr ma zostac ustawiony na ich poczatek */ #include <module.h> mh_com *mhptr; /* wskaznik struktury naglowka */ my_data *dptr; /* wskaznik struktury danych */ /* szukanie modulu */ mhptr = modlink("my_module", 0); /* wyjscie z bledem */ if(mhptr == -1) return (errno); /* znalezienie wskaznika do danych */ dptr = (my_data *)((char *)mhptr + mnptr->_mexec); MW-ZPCiR-ICT-PWr 18

Komendy systemowe dla modułów mdir Syntax: mdir [<opts>] [<mod names>] [<opts>] Function: display module directory Options: -a print language instead of type -e print extended directory listing -t=<type> list modules only of type <type> -u print unformatted listing load Syntax: load [<opts>] {<module> [<opts>]} Function: load a module into memory Options: -d load file from data directory -l print pathlist of file loaded -z get list of file names from std. input -z=<path> get list of file names from <path> MW-ZPCiR-ICT-PWr 19

link Syntax: link [<opts>] {<modname> [<opts>]} Function: link a module in memory Options: -z get list of module names from std. input. -z=<path> get list of module names from <path> unlink Syntax: unlink [<opts>] {<modname> [<opts>]} Function: unlink modules from memory Options: -z get list of module names from std. input -z=<path> get list of module names from <path> ident Syntax: ident [<opts>] {<modname> [<opts>]} Function: display module information Options: -m ident module in memory -q quick mode, only one line per module -s silent mode: quick, only disp. bad crcs -x ident module in execution directory -z get list of module names from std. input -z=<file> get list of module names from <file> MW-ZPCiR-ICT-PWr 20