Programowanie kart elektronicznych. wykład 9: Polecenia - część 1

Podobne dokumenty
Programowanie kart elektronicznych. wykład 11: System zarządzania plikami

Laboratorium Programowania Kart Elektronicznych

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

OPERACJE NA PLIKACH. Podstawowe pojęcia:

Pliki. Operacje na plikach w Pascalu

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa logiczna

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Laboratorium Programowania Kart Elektronicznych

Laboratorium Programowania Kart Elektronicznych

Organizacja typowego mikroprocesora

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Karty inteligentne - programowanie i zastosowania. Piotr Nazimek

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

Wykład 4. Tablice. Pliki

Wykład PASCAL - Pliki tekstowe

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Załącznik I Instrukcja działania FBs-PACK

Programowanie Niskopoziomowe

Industrial Ethernet Dokumentacja techniczna połączenia Sterowniki S7-400(300) firmy Siemens - System PRO-2000 firmy MikroB

Tabela wewnętrzna - definicja

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Oracle11g: Wprowadzenie do SQL

Przykładowe B+ drzewo

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Programowanie w językach

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

instrukcja użytkownika terminala ARGOX PA-20 SYSTEMY AUTOMATYCZNEJ IDENTYFIKACJI

Logiczny model komputera i działanie procesora. Część 1.

Szczegółowy opis przedmiotu zamówienia

Algorytm. a programowanie -

16MB - 2GB 2MB - 128MB

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.

Materiały do laboratorium MS ACCESS BASIC

Struktura i działanie jednostki centralnej

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

asix4 Podręcznik użytkownika Drajwer OPC Podręcznik użytkownika

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

A Zasady współpracy. Ocena rozwiązań punktów punktów punktów punktów punktów

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Wykład 5: Komunikacja z kartą elektroniczną

Wykład 2 Składnia języka C# (cz. 1)

ARCHITEKTURA PROCESORA,

ZMODYFIKOWANY Szczegółowy opis przedmiotu zamówienia

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

Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w

Oracle PL/SQL. Paweł Rajba.

Laboratorium Programowania Kart Elektronicznych

Kursor jawny. Rozdział 10a Kursory. Deklarowanie kursora (1) Deklarowanie kursora (2)

Autor: Joanna Karwowska

dr inż. Jarosław Forenc

Smarty PHP. Leksykon kieszonkowy

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Algorytmy i struktury danych. Wykład 6 Tablice rozproszone cz. 2

Bazy danych 2. Wykład 1

Bloki anonimowe w PL/SQL

Język PL/SQL Procedury i funkcje składowane

JPK Jednolity Plik Kontrolny.

Przed przystąpieniem do czytania dokumentu, proszę o zapoznanie się z podstawowym dokumentem Instrukcja obsługi AZU dla użytkownika zewnętrznego.

Przed przystąpieniem do czytania dokumentu, proszę o zapoznanie się z podstawowym dokumentem Instrukcja obsługi AZU dla użytkownika zewnętrznego.

Użycie Visual Basic for Applications ("VBA")

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

JPK Jednolity Plik Kontrolny.

Programowanie Mikrokontrolerów

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych

Działanie i charakterystyka sterownika GE FANUC VersaMaxNano

Programowanie Niskopoziomowe

Spis treści. 1 Moduł Modbus TCP 4

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Komunikacja między sterownikami przez protokół ADS

asix4 Podręcznik użytkownika CAN_AC_PCI - drajwer protokołu CANBUS dla karty CAN_ACx_PCI Podręcznik użytkownika

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Karta kibica - wymagania dla systemów stadionowych Strona 1 z 9

asix4 Podręcznik użytkownika S7_TCPIP - drajwer do wymiany danych ze sterownikami SIMATIC poprzez Ethernet

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Materiały dodatkowe Krótka charakterystyka protokołu MODBUS

Instrukcja programu użytkownika OmegaUW.Exe. Program obsługuje następujące drukarki fiskalne: ELZAB OMEGA II generacji ELZAB OMEGA F, MERA, MERA F.

Znaki globalne w Linuxie

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

Zasady programowania Dokumentacja

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Programowanie w SQL. definicja bloku instrukcji BEGIN...END, warunkowe wykonanie instrukcji IF...ELSE, wyrażenie CASE,

OpenOfficePL. Zestaw szablonów magazynowych. Instrukcja obsługi

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Podstawy programowania. Wykład 7 Tablice wielowymiarowe, SOA, AOS, itp. Krzysztof Banaś Podstawy programowania 1

TRX API opis funkcji interfejsu

Czym są właściwości. Poprawne projektowanie klas

Transkrypt:

Programowanie kart elektronicznych wykład 9: Polecenia - część 1 dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015

POLECENIA wybór pliku, zapis i odczyt, wyszukiwanie, operacje na plikach, dr hab. dr hab. inż. inż. Marek Marek Mika, Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 2

Plan Wstęp Polecenia wyboru pliku Polecenia zapisu i odczytu Polecenia wyszukiwania Polecenia operacji na plikach PLAN dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 3

Protokoły i komunikacja master-slave Komunikacja zawsze w trybie master-slave polecenie z terminala przetwarzanie na karcie odpowiedź do terminala karta nigdy sama nie inicjuje wymiany danych Komunikacja zawsze z zastosowaniem wybranego protokołu T=0, T=1, itp. protokoły zaprojektowane i zoptymalizowane do zastosowań w obszarze KE ściśle określone zmiany wewnątrz aplikacji niedopuszczalne dane transmitowane najczęściej w kontenerach APDU transparentne dla warstwy transportowej POLECENIA - WSTĘP dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 4

Wpływ zastosowań główne zastosowania: przechowywanie danych i/lub medium autoryzacyjne zbiory poleceń zoptymalizowane pod kątem zastosowań ograniczenia pamięciowe nie pozwalają na stosowanie poleceń innych niż te zaprojektowane do konkretnego zastosowania tylko nieliczne systemy operacyjne zawierają niezredukowany zbiór poleceń POLECENIA - WSTĘP dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 5

Standard czy rozwiązania producenckie Działania producentów: tendencja do tworzenia własnych zbiorów poleceń dopasowanych do obecnych i przyszłych potrzeb systemów operacyjnych motywacja: brak odpowiednich poleceń w standardzie dążenie do uzyskania przewagi nad konkurencją dążenia do wyeliminowania konkurencji z pewnych obszarów zastosowań przed przystąpieniem do projektowania aplikacji wymaga zapoznania się z dokumentacją producenta systemu operacyjnego Wybór istniejącego standardu: otwartość, łatwość rozszerzania, sprawdzony system POLECENIA - WSTĘP dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 6

Klasyfikacja standardów Ogólne: ISO/IEC 7816-4, -7, -8, -9, -13 [ogólnie dla wszystkich zastosowań, bazodanowe, kryptograficzne, zarządzanie plikami i aplikacjami] Global Platform [podstawowy standard dla aplikacji JavaCard] Transakcje płatnicze: EMV 2000 [standard dla systemów operacyjnych kart stosowanych w sektorze finansowym] CEN EN 1546 [portmonetka elektroniczna] CEPS [portmonetka elektroniczna] Telekomunikacyjne: SIM: TS 51.011, TS 51.014 UICC: TS 102 221 USIM: TS 102 222 Łącznie ponad 20 standardów (lub względnie stabilnych draftów standardów) międzynarodowych ponad 150 poleceń POLECENIA - WSTĘP dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 7

Klasyfikacja poleceń wg funkcjonalności Polecenia operacyjne: operacje na plikach operacje na danych bazy danych bezpieczeństwo aplikacyjne Polecenia administracyjne: zarządzanie plikami produkcja testowanie sprzętu/oprogramowania transmisja danych POLECENIA - WSTĘP dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 8

Przegląd poleceń Polecenia operacyjne zdefiniowane w standardach, polecenia administracyjne na ogół charakterystyczne dla poszczególnych systemów operacyjnych Negatywna odpowiedź (błąd lub zabroniona operacja) zawiera tylko kod powrotu Niektóre polecenia mają opisane w standardzie opcje, które jednak nie są spotykane w praktyce (zbyt skomplikowane, bez praktycznego znaczenia) Opis dotyczy wyłącznie wariantów mających znaczenie praktyczne Opis na podstawie standardu, który definiuje największą liczbę opcji dla danego polecenia POLECENIA - WSTĘP dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 9

Plan Wstęp Polecenia wyboru pliku Polecenia zapisu i odczytu Polecenia wyszukiwania Polecenia operacji na plikach Polecenia związane z autoryzacją osób Polecenia związane z autoryzacją urządzeń PLAN dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 10

Wybór pliku Operacje plikowe we wszystkich współczesnych systemach operacyjnych dla kart elektronicznych są zorientowane obiektowo zatem przed wykonaniem jakiejkolwiek operacji na pliku należy go najpierw wybrać Operacje plikowe można wykonywać tylko na pliku, który jest w danej chwili wybrany System operacyjny kontroluje reguły dostępu do pliku Pozytywnie wykonane SELECT nowy plik wybrany w miejsce obecnego, negatywnie obecny plik nadal jest wybrany POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 11

Typy plików MF (master file, plik główny) główny katalog systemu plików karty, domyślnie wybrany po restarcie karty (nie wymaga stosowania instrukcji wyboru) DF (directory file, dedicated file) plik reprezentujący katalog EF (elementary file) plik roboczy (terminal) lub plik z danymi (karta) POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 12

Instrukcja SELECT Służy do wyboru pliku lub katalogu Plik adresowany jest: dwubajtowym identyfikatorem pliku (FID) ścieżką dostępu (tylko w normie ISO) - względną względem bieżącego DF - bezwzględną względem MF Katalogi adresowane są: nazwą katalogu (1 do 16 bajtów) może ona zawierać międzynarodowy numer aplikacji (AID 5-16 bajtów) - można zastosować część AID (pomijając najmniej znaczące bajty) możliwość wyboru poprzedniego, następnego, pierwszego lub ostatniego katalogu względem bieżącego DF Wykonanie SELECT pozytywne nowy plik wybrany w miejsce obecnego, negatywne obecny plik nadal jest wybrany POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 13

Żądanie informacji o pliku Ze strony terminala po pozytywnym wykonaniu SELECT W odpowiedzi karta udostępnia zestaw informacji o pliku określony w standardzie i zależny od typu pliku m.in.: struktura pliku rozmiar reguły dostępu POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 14

Funkcjonalność SELECT wg ISO/IEC 7816-4 Argumenty FID względna ścieżka dostępu bezwzględna ścieżka dostępu lub wybór DF wyższego poziomu pierwszy, poprzedni, następny, ostatni katalog (dla częściowego AID) lub żądanie podania informacji o wybranym pliku lub nazwa katalogu (jeśli DF) POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 15

Schemat typowego przetwarzania SELECT Terminal (IFD) Karta (IFC) SELECT [FID = 3F00 ] Przeglądanie drzewa plików w poszukiwaniu pliku o FID = 3F00 IF (znaleziono plik) THEN kod powrotu = OK ELSE kod powrotu = nie znalezionp pliku IF (kod powrotu = OK) THEN pozytywny wybór pliku ELSE nie można wybrać pliku Odpowiedź [kod powrotu] POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 16

Bezpośredni wybór pliku Tylko dla standardowych poleceń zapisu / odczytu Przez podanie 5-bitowego skróconego FID tylko dla EF ograniczenie do bieżącego DF Plik wybierany bezpośrednio przed operacją zapisu / odczytu Zalety i wady: uproszczona sekwencja poleceń większa prędkość przetwarzania (brak SELECT) POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 17

Polecenie STATUS Wg TS 51.011 Zwraca informacje o bieżącym pliku (podobnie jak SELECT) typ struktura rozmiar FID prawa dostępu informacje o blokadzie rzadko używany wtedy, gdy terminal potrzebuje informacje o bieżącym pliku POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 18

Funkcjonalność STATUS wg TS 51.011 Argumenty: brak Odpowiedź: informacje o bieżącym pliku kod powrotu POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 19

Polecenie CLOSE APPLICATION Wg EN 726-3 Uzupełniająco do SELECT i STATUS jako polecenie zakończenia aplikacji Argumentem FID zamykanej aplikacji W odpowiedzi karta wraca to pierwotnego (po resecie) stanu bezpieczeństwa Stosowane, gdy terminal musi mieć gwarancję powrotu o pierwotnego stanu bezpieczeństwa Jeśli system operacyjny karty nie obsługuje tego polecenia, to pierwotny stan bezpieczeństwa osiągany jest przez wybór MF POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 20

Plan Wstęp Polecenia wyboru pliku Polecenia zapisu i odczytu Polecenia wyszukiwania Polecenia operacji na plikach PLAN dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 21

Polecenia odczytu i zapisu - wstęp Stosowane głównie dla aplikacji traktujących kartę jako bezpieczne miejsce przechowywania danych Dane w plikach EF Możliwość ustalenia indywidualnych reguł dostępu do pliku dla poszczególnych aplikacji i/lub użytkowników Różne metody odczytu i zapisu w zależności od struktury pliku EF (brak zgodności z OO, historyczne) Dwie klasy poleceń: dla plików transparentnych (płaskich) dla plików strukturalnych (cykliczna, liniowa stała, linowa zmienna) POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 22

Odczyt / zapis w transparentnym EF Plik transparentny amorficzny, bez wewnętrznej struktury danych Historycznie pierwszy z typów plików stosowanych w KE (pamięciowych) Plik adresowany liniowo o dostępie bajtowym Podstawowe polecenia do odczytu: - READ BINARY do zapisu: - WRITE BINARY - UPDATE BINARY POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 23

Argumenty: liczba bajtów do odczytu offset pierwszego odczytanego bajta skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie) Odpowiedź: dane odczytane z pliku kod powrotu Funkcjonalność READ BINARY wg ISO/IEC 7816-4 POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 24

Argumenty: liczba bajtów do zapisu dane (bajty) do zapisania offset pierwszego zapisywanego bajta skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: kod powrotu Funkcjonalność WRITE BINARY wg ISO/IEC 7816-4 POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 25

Argumenty: liczba bajtów do zapisu dane (bajty) do zapisania offset pierwszego zapisywanego bajta skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: kod powrotu Funkcjonalność UPDATE BINARY wg ISO/IEC 7816-4 POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 26

WRITE BINARY i UPDATE BINARY - różnice Programowalna pamięć trwała karty (EEPROM, Flash) w stanie niskiej energii znajduje się w tzw. stanie bezpiecznym (logiczne 0 lub 1 w zależności od konwencji) Przejście ze stanu bezpiecznego do stanu przeciwnego wymaga naładowania tych komórek (operacja czyszczenia dawniej możliwa tylko na całych blokach danych) WRITE BINARY przywraca stan komórki do stanu bezpiecznego (AND dla 0, OR dla 1) obecnie rzadko stosowany UPDATE BINARY radzi sobie równie dobrze zarówno z przywracaniem do stanu bezpiecznego, jak i z przejściem do stanu przeciwnego (jest równoważne działaniu ERASE i WRITE na wybranych bajtach) POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 27

Przykładowe zastosowania WRITE BINARY i UPDATE BINARY WRITE BINARY pliki o dostępie WORM (write once, read multiple) WRITE BINARY i UPDATE BINARY bezpieczne liczniki: - każdy bit odpowiada jednostce monetarnej - WRITE BINARY służy do sprowadzenia takiego bitu do stanu bezpiecznego (zdejmowanie jednostek monetarnych z karty) - UPDATE BINARY służy do doładowania karty (nie da się tego osiągnąć manipulując właściwościami fizycznymi środowiska) POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 28

Przykładowa sekwencja odczytu i zapisu część 1 - READ BINARY Zawartość pamięci przed: 01 02 03 FF 00 FF 00 n READ BINARY ([offset = 2 bajty, liczba bajtów = 5]) IF (kod powrotu = OK) THEN pozytywny odczyt ELSE przerwij działanie Odczytane dane 03 FF 00 FF 00 Odpowiedź : - odczytane dane - kod powrotu Zawartość pamięci po: 01 02 03 FF 00 FF 00 n POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 29

Przykładowa sekwencja odczytu i zapisu część 2 - WRITE BINARY Zawartość pamięci przed: 01 02 03 FF 00 FF 00 n READ BINARY ([offset = 3 bajty, liczba bajtów = 2, dane do zapisu = F0F0 ]) Odpowiedź : - kod powrotu IF (kod powrotu = OK) THEN pozytywny zapis ELSE przerwij działanie Zawartość pamięci po: 01 02 03 F0 00 FF 00 n POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 30

Przykładowa sekwencja odczytu i zapisu część 3 - UPDATE BINARY Zawartość pamięci przed: 01 02 03 F0 00 FF 00 n READ BINARY ([offset = 5 bajtów, liczba bajtów = 2, dane do zapisu = F0F0 ]) Odpowiedź : - kod powrotu IF (kod powrotu = OK) THEN pozytywny zapis ELSE przerwij działanie Zawartość pamięci po: 01 02 03 F0 00 F0 F0 n POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 31

Polecenie ERASE BINARY Usuwa dane z pliku EF począwszy od podanego offsetu do miejsca wyznaczonego przez drugi offset lub do końca pliku Usunięcie danych oznacza w tym przypadku stan logicznego wymazania danych, który nie zawsze jest tożsamy z fizycznym stanem wymazania i musi być indywidualnie zdefiniowany dla każdego sytemu operacyjnego POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 32

Argumenty: offset pierwszego bajta do wymazania offset ostatniego bajta do wymazania (opcjonalne) skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: kod powrotu Funkcjonalność ERASE BINARY wg ISO/IEC 7816-4 POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 33

Odczyt / zapis w strukturalnym EF Plik strukturalny o określonej rekordowo zorientowanej wewnętrznej strukturze danych: cyklicznej liniowo stałej liniowo zmiennej Adresowanie danych: w operacji zapisu rekord w operacji odczytu rekord lub część rekordu od jego pierwszego bajta Po wybraniu (SELECT) strukturalnego pliku EF system operacyjny tworzy wskaźnik do rekordu (początkowo wartość niezdefiniowana) Wskaźnik do rekordu jest aktywny do momentu wybrania następnego pliku Podstawowe polecenia do odczytu: - READ RECORD do zapisu: - WRITE RECORD - UPDATE RECORD do wyszukiwania: - SEEK RECORD POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 34

Funkcjonalność READ RECORD wg ISO/IEC 7816-4 Argumenty: liczba rekordów do odczytania lub tryb (bieżący, następny, poprzedni, pierwszy ostatni) lub odczyt wszystkich rekordów od n do ostatniego lub odczyt wszystkich rekordów od pierwszego do ostatniego skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: odczytane dane kod powrotu POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 35

Argumenty: rekord danych do zapisania liczba rekordów do zapisania lub tryb (bieżący, następny, poprzedni, pierwszy ostatni) skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: kod powrotu POLECENIA POLECENIA ODCZYTU / ZAPISU Funkcjonalność WRITE RECORD wg ISO/IEC 7816-4 dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 36

Funkcjonalność UPDATE RECORD wg ISO/IEC 7816-4 Argumenty: rekord danych do zapisania liczba rekordów do zapisania lub tryb (bieżący, następny, poprzedni, pierwszy ostatni) skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: kod powrotu POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 37

Adresowanie rekordów Wszystkie polecenia mogą określić sposób dostępu do pliku: dostęp bezpośredni za pomocą bezwzględnego numeru rekordu domyślny nie powoduje zmiany wskaźnika rekordu pośredni przez względne adresowanie wskaźnika rekordu wartościami oznaczającymi pierwszy, ostatni, następny i poprzedni rekord POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 38

Przykładowy plik o strukturze rekordowej Nr rekordu Zawartość rekordu 1 Hiro Protagonist pierwszy 2 Y.T. 3 Juanita poprzedni 4 Raven bieżący 5 Onkel Enzo następny 6 The Black Sun 7 Cosa Nostra Pizza 8 Enki ostatni POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 39

Argumenty: rekord danych do zapisania skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: kod powrotu Funkcjonalność APPEND RECORD wg ISO/IEC 7816-4 POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 40

Argumenty: liczba obiektów danych do odczytu znacznik obiektów danych do odczytu (plik z rekordami TLV) Odpowiedź: odczytane obiekty danych kod powrotu Funkcjonalność GET DATA wg ISO/IEC 7816-4 POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 41

Argumenty: liczba obiektów danych do zapisu obiekty danych do zapisu Odpowiedź: kod powrotu Funkcjonalność PUT DATA wg ISO/IEC 7816-4 POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 42

Inne polecenia RESIZE zmiana rozmiaru pliku SET DATA i RETRIEVE DATA podobne do GET DATA i PUT DATA przeznaczone głównie dla dużych wolumenów danych kodowanych TLV POLECENIA POLECENIA ODCZYTU / ZAPISU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 43

Plan Wstęp Polecenia wyboru pliku Polecenia zapisu i odczytu Polecenia wyszukiwania Polecenia operacji na plikach PLAN dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 44

Polecenia wyszukiwania Ułatwiające znalezienie odpowiednich danych w plikach strukturalnych Możliwość podania offsetu Zmienna długość wyszukiwanego ciągu Możliwość określenia kierunku wyszukiwania (wprzód, wstecz) Wymagane podanie punktu początkowego Odnalezienie poszukiwanego ciągu powoduje ustawienie wskaźnika na właściwy rekord i poinformowanie terminala o pozytywnym zakończeniu wyszukiwania Polecenia: SEEK SEARCH RECORD SEARCH BINARY POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 45

Funkcjonalność SEEK wg TS 51.011 Argumenty: długość szukanego ciągu szukany ciąg offset tryb (wprzód od początku wstecz od końca wprzód od następnego rekordu wstecz od poprzedniego rekordu) podanie numeru znalezionego rekordu (opcja) Odpowiedź: numer rekordu (jeśli wybrano tę opcję przy podawaniu argumentów) kod powrotu POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 46

Funkcjonalność SEARCH RECORD wg ISO/IEC 7816-9 Argumenty: długość szukanego ciągu szukany ciąg offset tryb (wprzód od początku wstecz od końca wprzód od następnego rekordu wstecz od poprzedniego rekordu) skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: numer rekordu (jeśli wybrano tę opcję przy podawaniu argumentów) kod powrotu POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 47

Funkcjonalność SEARCH BINARY wg ISO/IEC 7816-9 Przeznaczenie: wyszukiwanie danych w pliku transparentnym Argumenty: długość szukanego ciągu szukany ciąg offset skrócony FID przy bezpośrednim wyborze pliku (opcjonalnie i tylko w wybranych OS) Odpowiedź: offset do znalezionych danych kod powrotu POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 48

Przykładowy plik o strukturze rekordowej Nr rekordu Zawartość rekordu 1 Hiro Protagonist pierwszy 2 Y.T. 3 Juanita poprzedni 4 Raven bieżący 5 Onkel Enzo następny 6 The Black Sun 7 Cosa Nostra Pizza 8 Enki ostatni POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 49

Terminal (IFD) SEEK [szukany ciąg = Enki, kierunek szukania = wprzód od początku, przesłanie numeru rekordu] IF (kod powrotu = OK) THEN znaleziono szukany ciąg ELSE nie znaleziono szukanego ciągu Schemat przykładowego zastosowania SEEK Karta (IFC) Wyszukiwanie Odpowiedź [numer rekordu = 8, kod powrotu] SEEK [szukany ciąg = Hiro Protagonist, kierunek szukania = wstecz od końca, przesłanie numeru rekordu] IF (kod powrotu = OK) THEN znaleziono szukany ciąg ELSE nie znaleziono szukanego ciągu Wyszukiwanie Odpowiedź [numer rekordu = 1, kod powrotu] POLECENIA POLECENIA WYBORU PLIKU dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 50

Plan Wstęp Polecenia wyboru pliku Polecenia zapisu i odczytu Polecenia wyszukiwania Polecenia operacji na plikach PLAN dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 51

Polecenia operacji na plikach Umożliwiają modyfikację zawartości pliku, ale nie przez prosty zapis Polecenia INCREASE i DECREASE stosowane do plików o strukturze cyklicznej są używane jako liczniki (w portmonetkach elektronicznych i licznikach) Polecenie EXECUTE powoduje wykonanie wykonywalnego pliku EF, program taki otrzymuje dane od terminala i wysyła z powrotem wyniki POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 52

Argumenty: odejmowana wartość Odpowiedź: wartość po odejmowaniu nowa wartość rekordu kod powrotu Funkcjonalność DECREASE wg TS 51.011 POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 53

Argumenty: dodawana wartość Odpowiedź: wartość po dodawaniu nowa wartość rekordu kod powrotu Funkcjonalność INCREASE wg TS 51.011 POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 54

Funkcjonalność EXECUTE wg EN 726-3 Argumenty: dane przekazywane do programu reprezentowanego przez plik wykonywalny Odpowiedź: dane będące wynikiem działania programu kod powrotu POLECENIA POLECENIA WYSZUKIWANIA dr hab. inż. Marek Mika, Instytut Informatyki, Politechnika Poznańska, 2011-2015 55