[Allegro 5] Bluelex


#1

Witam :slight_smile:

Oto mój pierwszy post na tym forum. Lata temu wpisałem się na forum warsztatu.
Stamtąd też przenoszę swój projekt wirtualnego systemu nazwanego: Bluelex

Projekt ten naśladuje działanie systemu operacyjnego wraz z wirtualnym systemem plików, który zarządza danymi w tym systemie. Z początku projekt miał tylko stworzyć wirtualny pulpit, a z czasem zmienił się w coś bardziej złożonego.

Najwięcej czasu poświęciłem właśnie na system plików, szyfrowanie plików, oraz menedżer okien, który już dobrze przedstawia zarządzanie oknami oraz plikami jak w prawdziwych systemach operacyjnych.

Krótko o tym co projekt posiada:

  • explorer - główne narzędzie do przemieszczania się po strukturze plików,folderów
  • dodawanie nowych folderów i notatników
  • konta użytkowników - dodawanie, usuwanie,zmiany nazwy,hasła
  • personalizacja pulpitu, zmiany wyglądu, kompozycje
  • konsola/terminal posiadająca podstawowe komendy do operacji na plikach
  • wirtualne dyski twarde
  • możliwość wrzucania do systemu plików graficznych oraz muzycznych .mp3
  • szyfrowanie wybranych plików graficznych
  • podgląd plików graficznych oraz odtwarzacz plików mp3
  • podstawowe operacje na plikach np. kopiuj/wytnij/przenieś itd

Sam system tak jak wspomniałem szyfruje dane: foldery,notatki,zdjęcia co uniemożliwia dotarcie do nich z zewnątrz. Projekt powoli idzie do przodu i staje się coraz stabilniejszy. Jest ciężko ,ale krok za krokiem łatam kolejne bugi i staram się by np. graficznie wyglądało to spójnie i należycie.


#2

Witam :slight_smile: Ciąg dalszy pisania projektu i już coś nowego udało się dołożyć.

Wirtualny Bios, który jest dopiero w powijakach i dopiero co zaczynam go pisać. Nie będzie to coś nadzwyczajnego. Po prostu dobrze będzie coś takiego dołożyć do wirtualnego systemu.

Następnymi krokami będzie dalsze usprawnianie projektu i jego stabilności.


#3

Jak zrobisz tak żeby w tym systemie dało się przerzucać pliki między systemami plików Windows/Linux/inne? to to sprzedasz za fajną kasę ;D

<Kiedy gostek z internetuf napisał własną wirtualizację w allegro> :0

Mogę zapytać jak szyfrujesz (jakie algorytmy) pliki i jak taki system odpalasz?


#4

Chciałbym bardzo napisać, że odpalam to na Virtualboxie i działa to nieźle,ale niestety tak nie jest.

Projekt pisany jest w Visual Studio i działa jak normalny program odpalony na Windows. Jednakże program ten tworzy swoje wirtualne środowisko i swój wirtualny system plików. Wygląda to jak system. Jego pliki tworzące go są szyfrowane moim autorskim algorytmem, który ma mało wspólnego z czymś takim jak np RSA. Każdy plik ma swój taki niby klucz potrzebny do odszyfrowania całości. Tak zaszyfrowane są bitmapy, notatniki, oraz cały system plików. Na tą chwilę występują małe przekłamania podczas deszyfracji danych ,a przyczynę trudno się doszukać. Może to dlatego że sam algorytm jest zbyt czuły na błędy…

Mimo wszystko pliki tekstowe z notatnika windows oraz pliki graficzne da się swobodnie przekonwertować do systemu i poruszać się między nimi. Pliki mp3 są tylko kopiowane do katalogu głównego systemu i wyświetlane na jego pulpicie. Odtwarzacz robi resztę. Jest pomysł na konwersję mp3 do systemu ,ale wymaga już to sporo pracy i czasu którego mam mało.

Samo przenoszenie swobodne plików ntfs, ext to nie wiem czy możliwe skoro sam program korzysta z bibliotek windows. Wszak gdyby nawet ten program leżał na pendrive ntfs i był dostosowany do linuxa i się na nim uruchamiał to nie rozumiem po co przerzucać pliki między tymi systemami. Tutaj barierką ograniczającą jest system plików i struktura ntfs ext. Musiałby zostać napisany konwerter ntfs ext i inne. Ale to już raczej jako nowy system operacyjny z własnym kernelem i własnym systemem plików,aby wirtualnie przenosić pliki z jednej parycji na wirtualną i z wirtualnej na docelową.


#5

Witam :slight_smile:

Ostatnio zabrałem się za kolejną funkcję, a w zasadzie program ,który będzie częścią wirtualnego systemu Bluelex. Program ten będzie takim jakby interpreterem języka C++, przy pomocy którego będzie można napisać sobie program w programie :slight_smile:

Na początek prosta obsługa konsoli i odpalenie prostego programu “Hello World”.

I teraz wiem ,że napisanie interpretera to będzie wręcz niekończąca się udręka, jednak chciałbym ,aby w tym wirtualnym systemie dało się napisać własne programy właśnie tak jak można napisać w prawdziwych systemach. I teraz językiem ,który będzie rozumiał interpreter będzie właśnie C++, a nie żaden inny wymyślony, ponieważ łatwiej będzie pisać w tym co się rozumie niż uczyć się wymyślonej składni.

Mam taki mały plan ,by dzięki temu napisać na początek kalkulator, a potem próbować sił pisać inne programy, które dołączą do systemu, ale to na razie odległa przyszłość/

Na razie postępy są małe, ale chcę to w miarę możliwości rozwinąć i dokończyć swój pomysł.


#6

Interpreter prostego języka nie jest aż tak trudny - na studiach mieliśmy semestr kompilatorów i taki parser + przerzucenie na jakiś ASM czy wykonanie instrukcji na prostym modelu dopóki to nie musi być wydajne jest robialny. Parsery są trudne ale są narzędzia ułatwiające generację parserów.

Za to naprawdę nie bierz c++… to jest kobyła.
Zrób lepiej jakiś mały podzbiór, takie C style skrypty. I pewnie na jakiś prosty model typu maszyna stosowa z kilkoma instrukcjami i prostą pamięcią. Nie to do czego się c++ kompiluje niskopoziomowo + możliwości chaczenia tego na wszystkie sposoby wbudowane w język.

Większość języków typu C# czy Java mapodobną składnię do C(++) ale nie ma wszystkich dziwactw c++, headerów, preprocesora, templateów z opcją obliczeń w compile time i innych rzeczy które tam się nawarstwiły przez lata.

Sukcesu komercyjnego nie wróżę, ale zabawa może być fajna jako hobby edukacyjnie.