# how much memory the emulated machine will have megs: 128



Podobne dokumenty
Sieciowa komunikacja procesów - XDR i RPC

Informatyka. Wy-02 Tablice, wskaźniki, warunki i pętle. mgr inż. Krzysztof Kołodziejczyk

Wstęp do Programowania, laboratorium 02

Zadanie1. Wykorzystując serwis internetowy Wikipedii wyjaśnij następujące pojęcia: wirtualizacja, VirtualBox, Vmware, KVM, Virtual PC, Hyper-V.

Pobieranie argumentów wiersza polecenia

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

1. Ustanawianie ograniczeń na użycie zasobów

Git, Bitbucket, IntelliJ IDEA

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

Instalacja Windows XP z USB, pendrive-a lub karty pamięci flash

Tomasz Greszata - Koszalin

Procesy. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 9 października 2011

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Podstawy Programowania.

Programowanie mikrokontrolerów AVR

Systemy Operacyjne - Operacje na plikach

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

MikroTik Serwer OpenVPN

Shared memory and messages. Functions. process 0. process 1. program 0. program 0. data 0. data 1. program 1. data 0. data 1.

Dla każdej operacji łącznie tworzenia danych i zapisu ich do pliku przeprowadzić pomiar czasu wykonania polecenia. Wyniki przedstawić w tabelce.

Podstawy Programowania

Programowanie Proceduralne

Microsoft IT Academy kurs programowania

Laboratorium 1. I. Zainstaluj program Eclipse (wersja C/C++ w odpowiednim systemie operacyjnym

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

2. W oknie dialogowym Choose Toolbox Items w zakładce.net Framework Components naciskamy przycisk Browse...

Podstawy wykorzystania bibliotek DLL w skryptach oprogramowania InTouch

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Programowanie proceduralne INP001210WL rok akademicki 2015/16 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Administracja serwerami

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Integracja MS Windows Service Pack 4 z płytą instalacyjną MS Windows 2000

Zaawansowane aplikacje internetowe

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

Signals + Threads: Qt vs. Boost

Modelowanie numeryczne w fizyce atmosfery Ćwiczenia 3

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

klikamy Next 4. Wybieramy zgodność z systemem Virtual Machine hardware compatibility z listy zaznaczamy Workstation 6 Next 5.

Linux wykład 9. Paweł Rajba.

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Technologie Komponentowe. Piotr Łukasik p /

1. Utwórz blok pamięci współdzielonej korzystając z poniższego kodu:

T: Instalacja systemu Windows 2008 Serwer w maszynie wirtualnej VirtualBox.

4.2 Sposób korzystania z l acza

Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Functionalization. Jeszcze o funkcjach i strukturze projektu. Marcin Makowski. 3 grudnia Zak lad Chemii Teoretycznej UJ

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

x szereg(x)

Comarch e-sklep Sync. wersja

Zbieranie podstawowych śladów działalności.

Ćwiczenie 1. Przygotowanie środowiska JAVA

Przygotowanie komputera do pracy w trybie LAN-LAN

Laboratorium nr 4 Sieci VPN

Instytut Teleinformatyki

Wstęp do Informatyki

Proste algorytmy w języku C

Viszio. SZARP v3.1. Adam Smyk. 1. Uruchamianie programu. SZARP

1 Timery i zdarzenia

System backup ów Bacula

Laboratorium nr 5 Sieci VPN

oprogramowania F-Secure

INSTRUKCJA INSTALACJI I URUCHOMIENIA PROGRAMÓW FINKA DOS W SYSTEMACH 64 bit

Programowanie Proceduralne

Pliki. Informacje ogólne. Obsługa plików w języku C

Instalacja oprogramowania Wonderware Application Server 3.0 na potrzeby Platformy Systemowej Wonderware

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Program 22. #include <iostream> using namespace std; struct Osoba { string Imie; string Nazwisko; char Plec; int RokUr; };

Praca zdalna z poziomu systemu Linux

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Instalacja Systemu Linux na maszynie writualnej

Instrukcja korzystania z Virtual Box-a i SQLPLUS-a

Lab 8. Tablice liczbowe cd,. Operacje macierzowo-wektorowe, memcpy, memmove, memset. Wyrażenie warunkowe.

5 Przygotował: mgr inż. Maciej Lasota

Instrukcja dla programu Ocena.XP

Aplikacja Sieciowa. Najpierw tworzymy nowy projekt, tym razem pracować będziemy w konsoli, a zatem: File->New- >Project

Informatyka. Wy-03 Dynamiczna alokacja pamięci, wyjątki. mgr inż. Krzysztof Kołodziejczyk

Wskaznik. Przekazywanie wyniku funkcji przez return. Typy i zmienne wskaznikowe. Zmienna wskazywana. typ * nazwa_wkaznika

DLA DREAMBOX & FLASHWIZARD

Arrays -II. Arrays. Outline ECE Cal Poly Pomona Electrical & Computer Engineering. Introduction

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

KLASA UCZEN Uczen imię, nazwisko, średnia konstruktor konstruktor Ustaw Wyswietl Lepszy Promowany

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

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

Wstęp do programowania

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Narzędzie konfiguracji rozruchu

Puppet Jak zacząć? Marcin Piebiak Linux Polska sp. z o.o.

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

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Wstęp do systemów wielozadaniowych laboratorium 03 Praca w powłoce UNIX-owej

Transkrypt:

MINIX HOW TO instalation under WinXP 1)install Bochs 2.3.7 - full install wraz z dlx linux! 2) Zawartosc katalogu C:\Program Files\Bochs2.3.7\dlxlinux przekopiowac do C:\Program Files\Bochs2.3.7\minix2 3) uŝywając np. WinSCP ściągnąć pliki (minix203.img,floppy.img) z folderu roboczego na galerze galera.ii.pw.edu.pl (logując się jak na laborce). Nastepnie skopiowac je do naszego minix2. 4) edytujemy plik C:\Program Files\Bochs-2.3.7\minix2\ bochsrc.bxrc Jego NOWA POSTAĆ: ############################################################### # bochsrc.txt file for DLX Linux disk image. ############################################################### # how much memory the emulated machine will have megs: 128 # filename of ROM images romimage: file=../bios-bochs-latest vgaromimage: file=../vgabios-lgpl-latest # what disk images will be used floppya: 1_44=floppy.img, status=inserted #floppyb: 1_44=floppyb.img, status=inserted #to aby mozna uzywac dyskietki floppy.img # hard disk ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 ata0-master: type=disk, path="minix203.img", cylinders=615, heads=6, spt=17 #ata0-slave: type=cdrom, path=minix2.iso, status=inserted #jesli boot z.iso # choose the boot disk. boot: disk #boot: cdrom #jesli boot z.iso # default config interface is textconfig. #config_interface: textconfig #config_interface: wx #display_library: x # other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga # where do we send log messages? log: bochsout.txt # disable the mouse, since DLX is text only mouse: enabled=0 # enable key mapping, using US layout as default.

# # NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows. # However, the key mapping tables are used in the paste function, so # in the DLX Linux example I'm enabling keyboard_mapping so that paste # will work. Cut&Paste is currently implemented on win32 and X windows only. #keyboard_mapping: enabled=1, map=$bxshare/keymaps/x11-pc-us.map #keyboard_mapping: enabled=1, map=$bxshare/keymaps/x11-pc-fr.map #keyboard_mapping: enabled=1, map=$bxshare/keymaps/x11-pc-de.map #keyboard_mapping: enabled=1, map=$bxshare/keymaps/x11-pc-es.map najwazniejsze sa te miejsca pogrubione. #to komentarz 5) edytujemy plik C:\Program Files\Bochs-2.3.7\minix2\ run.bat Jego nowa postac ma byc: cd "C:\Program Files\Bochs-2.3.7\minix2"..\bochs -q -f bochsrc.bxrc 6)w tym momencie uruchamiamy emulator za pomaca run.bat. wyskakuje BLAD: PANIC ata0-0 disk size doesn't match specified geometry -nie kill ujemy procesu, robimy continue! -jak się okazuje wszystko działa jak na laboratorium.

POMOC DO LAB1 //procedura obslugi syscallla (trzeba to wklepac w /usr/src/mm/main.c np. gdzies na koncu) int do_getprocnr(void) int procnum; for(procnum = 0; procnum < NR_PROCS; ++procnum) /*tu moŝecie dostac dodatkowe zadanie polegające na tym ze np. dla procesu o pid = 15 naleŝy zwracac zawsze 999 robimy to tak: odkomentuj ponizsza linijke: if(pid==15) return 999; */ if( ( (mproc[procnum].mp_flags & IN_USE)!= 0) && (mproc[procnum].mp_pid == pid) ) return procnum; return ENOENT; funkcja testujaca -cd cd root -vi main.c //w tym momentcie w folderze root tworzymy(o ile nie istnieje) plik testujący nasza nowa funkje systemowa moŝna to zrobic rownie dobrze w innym folderze kod w root/main.c #include </usr/include/lib.h> #include </usr/include/stdio.h> //funkcja testujaca int main (int argc, char* argv[]) int result; int i; if(argc == 1) printf("argument needed!\n"); else int value = atoi(argv[1]); for(i=0;i<10;i++) result = getprocnr(value+i); if(result!=-1) printf("indeks procesu o pid: %d to %d\n",value+i,result); else printf("procesu o pid: %d nie ma w tablicy! Kod bledu: %d\n",value+i,errno); return 0;

//funkcja uzytkownika do wywolywania syscalla int getprocnr(int proc_id) message msg; msg.m1_i1 = proc_id; return (_syscall(0,78,&msg)); /*tu juz musi istniec nasza funkcja systemowa*/ dodatkowe zadanie do wykonania aby całość zadania zadziałała: -w callnr.h na poczatku zmienic 78 na 79 na koncu dopisac #define GETPROCNR 78 -w proto.h dodac na koncu linie: _PROTOTYPE( int do_getprocnr, (void) ); -w mm/table.c dodac po ostatniej komendzie przed klamerka ; : do_getprocnr, /*78 */ -w fs/table.c dodac tam kawalek za srodkiem ponizej "do_svrctl, /* */" dopisac linie(tuz przed ; ) no_sys, W RAZIE PROBLEMOW Z REKOMPILACJA: wykonac następujące kroki po starcie - cd - cd minix - rm * - cd - cd usr/src/tools - make clean -make hdboot //tutaj sie troche zejdzie -cd -shutdown -boot opcjonalnie: cd root i cc main.c./a.out 33 -wywolac testowanie z parametrem

UZYWANIE DYSKIETKI Dyskietka to plik o nazwie floppy.img który kopiujemy z serwera na laborce0 wraz z obrazem minixa minix203.img uruchom normalnie minixa i wpisuj co nastepuje mkfs /dev/fd0 1440 //to sie wpisuje tylko za pierwszym razem (to jest jakby format a: ) mount /dev/fd0 /mnt //montujemy w katalogu mnt masz teraz to co będzie zapisane w wirtualnym obrazie floppy.img czyli robimy dalej tak cd root cp main.c /mnt cp a.out /mnt i masz juz oba pliki które zrobiono wczesniej na laborce na floppy.img na koniec koniecznie cd umount /dev/fd0 sync <ctrl-d> //opcjonalnie wylogowanie teraz w pliku floppy.img sa twoje 2 pliki stworzone na laborce moŝesz je wysłać do kogokolwiek, który gdy zamontuje floppy.img (nie wykonac mkfs!! Bo utracimy nasze pliki, tylko mount itd ) to będzie miał w swoim folderze /mnt nasze pliki.