Search
Cílem cvičení je seznámení s učebnou, zopakování základních pojmů na téma reprezentace dat v počítači.
Na cvičení budeme vycházet z následujícího programu v C, který budeme dále modifikovat.
Program pro zobrazování reprezentace čísel:
/* Simple program to examine how are different data types encoded in memory */ #include <stdio.h> /* * The macro determines size of given variable and then * prints individual bytes of the value representation */ #define PRINT_MEM(a) print_mem((unsigned char*)&(a), sizeof(a)) void print_mem(unsigned char *ptr, int size) { int i; printf("address = 0x%016lx\n", (long unsigned int)ptr); for (i = 0; i < size; i++) { printf("0x%02x ", *(ptr+i)); // == printf("0x%02x ", ptr[i]); } printf("\n"); } int main() { /* try for more types: long, float, double, pointer */ unsigned int unsig = 5; int sig = -5; /* Read GNU C Library manual for conversion syntax for other types */ /* https://www.gnu.org/software/libc/manual/html_node/Formatted-Output.html */ printf("value = %d\n", unsig); PRINT_MEM(unsig); printf("\nvalue = %d\n", sig); PRINT_MEM(sig); return 0; }
/opt/apo/binrep/print_binrep
gcc -Wall -pedantic -o print_binrep ./print_binrep.c
Makefile
Učebna KN:E-2 je vybavena počítači se síťovou instalací operačního systému Debian GNU/Linux Jessie.
Po zapnutí počítače je zaveden z lokálního serveru přes PXE zavaděč PXElinux. Ten umožňuje volit
DCE 4.9 stretch app
Volba menu zajistí natažení image jádra GNU/Linux a počátečního RAM-disku ze sítě s využitím protokolu TFTP. Po spuštění jádra je připojen přes NFS kořenový svazek. Ten je ale připojen jen v režimu pro čtení. Pro dočasné uložení lokálních změn je pak nad tuto adresářovou strukturu namapovaný souborový systém pro dočasné uložení lokálních změn. Jedná se buď o modul Overlayfs (dříve se používal AUFS). Pro ověření přihlašovacích údajů se používá systém Kerberos a ověřuje se proti hlavnímu ČVUT heslo. Po úspěšném přihlášení je pak do adresářové struktury stanice připojen přes NFS svazek s uživatelským kontem, ke kterému má uživatel práva pro čtení a zápis.
Další informace o použitém řešení lze nalézt na stránce Wiki Jak vytvořit bezdiskový stroj s operačním systémem GNU/Linux. Dále jsou k dispozici slide DiskLess Debian/GNU Linux z prezentace našeho řešení na konferenci/akci Install Fest.
Pro ověření oprávnění k přístupu do systému a se používá centrální ČVUT/FEL heslo.
Kromě místnosti KN:E-2 je prostředí dostupné v místnosti KN:E-s109 a na externě přístupném serveru postel.felk.cvut.cz přes SSH spojení. Pro přenos souborů lze pak použít příkaz SCP případně jiné klienty podporující SCP/SFTP protokol.
Konto si lze připojit do vlastního GNU/Linux systému přes utilitu sshfs, např.:
sshfs jmeno@postel.felk.cvut.cz: /mnt/tmp
fusermount -u /mnt/tmp
ssh -X jmeno@postel.felk.cvut.cz
Poznámka: Jméno nebylo zvoleno pouze z důvodu pohodlného přístupu z pohodlí domova, ale je především připomínkou jedné z klíčových osobností počítačové sítě Internet - Jona Postela.
V případě problémů s instalací GNU/Linxu kontaktuje Aleše Kapicu ze skupiny IT (http://support.dce.felk.cvut.cz/mediawiki/index.php/IT_kontakty) případně další kolegy ze skupiny IT, kteří mají správu hardware a sítí ne jen v KN:E-2 na starosti.