Zacznijmy od tego że to co masz napisane, nie jest, nie było i nie będzie OS-em z prawdziwego zdarzenia, co najwyżej aplikacją wyglądającą jak OS. Zgodnie choćby z definicją z Wikipedii OS sam zarządza pamięcią, komunikacją z procesorem itp. - generalnie interakcją ze sprzętem, a nie sądzę żebyś to też sam pisał.
Twoja aplikacja - zakładając że jest to Visual Basic z pakietu Visual Studio, czyli działający na platformie .NET - jest o dwa poziomy za wysoko: do swojego uruchomienia potrzebuje środowisko uruchomieniowego .NET (ono zajmuje się np. przydziałem i czyszczeniem pamięci, ale też tylko na poziomie frameworka, za faktyczne zarządzanie pamięcią odpowiada OS właśnie) dla języka pośredniego MSIL (czy CIL jak to teraz nazywają...), w którym jest kod wynikowy skompilowanej aplikacji.
Jeszcze piętro niżej jest "system operacyjny właściwy" (jak Windows czy Linux) na którego komendy framework tłumaczy język CIL. Dopiero tutaj, na najniższym poziomie, odbywają się te wszystkie procesy, które można nazwać "systemem operacyjnym".
Moim zdaniem jest niemożliwe zrobić to, o czym piszesz - chyba że podasz jakieś źródło gdzie to wyczytałeś
Może pisząc że te programy "mogą działać bez Windowsa" autor miał na myśli "mogą działać na Linuksie"?? Są dostępne frameworki pod Linuxa, np. Mono.
I już tłumaczę, dlaczego jest to niemożliwe:
1. Do odpalenia aplikacji .NET musisz mieć zainstalowany .NET framework, który zrozumie kod w skompilowanym programie. Na czymś trzeba jednak ten framework zainstalować - czyli musi być wcześniej jakiś system operacyjny, pod którego napisano framework - Windows, Linux, jakieś środowiska na urządzenia mobilne.
2. Przeglądarka internetowa, odtwarzacz muzyki i filmów - fajnie, że coś takiego napisałeś, tylko zastanów się, jak to naprawdę działa: to że aplikacja przeglądarki łączy Ci się z internetem, czy słychać dźwięk w odtwarzaczu nie bierze się z niczego. Biblioteka .NET którą do tego wykorzystałeś, korzysta z funkcji, które autorzy frameworka zaimplementowali na daną platformę - np. komunikacja przez http jest zaszyta w Windowsie, a .NET jedynie "pośredniczy" w tłumaczeniu pomiędzy Twoją aplikacją a funkcjami wbudowanymi w system operacyjny. Ba, to że wyświetla się zwykła forma - okienko, jest możliwe dzięki temu, że najpierw autorzy systemu operacyjnego coś takiego napisali i udostępnili, a potem twórcy frameworka .NET wykorzystali ich pracę do stworzenia swojej biblioteki WinForms.
Tak samo z dźwiękiem - aby obsłużyć kartę dźwiękową, trzeba komunikować się z jej sterownikiem zainstalowanym na jakimś systemie operacyjnym.
Jak widzisz pod swoją aplikacją masz dwa piętra, które chciałbyś wyciąć instalując swój program na "czystym" komputerze. Chcąc z nich zrezygnować, musiałbyś samemu napisać ich obsługę ;] i stworzyć najpierw własny system, a potem własnego frameworka na niego. Jednym słowem - bez szans
Bez systemu możesz co najwyżej próbować uruchamiać programy napisane w Assemblerze z instrukcjami pod dany typ procesora - a wtedy jakakolwiek bardziej skomplikowana operacja to droga przez mękę, gdy trzeba wynajdywać każde koło od nowa
, ewentualnie, jak pierwsze Windowsy - możesz próbować zrobić sobie jakąś nakładkę graficzną na MS DOS (który sam jest systemem operacyjnym).
0