Programmera eget OS till vanlig processor?

Permalänk

Programmera eget OS till vanlig processor?

Hej!

Är det möjligt att på något sett föra över ett hemmaprogrammerat OS till en vanlig intel/AMD-processor?

När jag var på PRAO programmerade jag för första gången till en maskinvara (hade programmerat vanliga .exe program och spel tidigare), dvs en mikroprocessor. Hade varit kul att göra något liknande hemma fast mer avancerat.

Går det att överföra ett eget BIOS till en "vanlig" processor?

Permalänk

Det tror jag inte då CPUn inte har BIOSen utan BIOSen sitter på moderkortet. Det låter ju som en kul grej, men det går inte så vitt jag vet att programmera in något på en CPU

Visa signatur

Mobo: ASUS X58 SABERTOOTH, CPU: Core-i7 960, RAM: 3x2GB HyperX 1600MHz + 3x2GB XMS3 1600MHz, GPU: 2x ASUS RADEON HD6870 1GB Direct CU: SSD A-DATA SP900 256GB

Permalänk
Medlem

Annars finns det ju mer avancerade mikroprocessorgrejor att köpa. Har inga i huvet atm, så skriver inga heller

Permalänk
Medlem

Absolut så går det, Linus Torvalds gjorde ju det. Men det är nog mycket svårare än att göra något till en mikroprocessor.

Permalänk
Medlem
Skrivet av 3liteSoldier:

Hej!

Är det möjligt att på något sett föra över ett hemmaprogrammerat OS till en vanlig intel/AMD-processor?

När jag var på PRAO programmerade jag för första gången till en maskinvara (hade programmerat vanliga .exe program och spel tidigare), dvs en mikroprocessor. Hade varit kul att göra något liknande hemma fast mer avancerat.

Går det att överföra ett eget BIOS till en "vanlig" processor?

BIOS sitter på moderkortet och är anpassat efter den hårdvara som moderkortet är skapat med. Inget man bör vara och ändra saker i. Sen finns det säkert personer som har reverse engineered nåt BIOS och gjort ändringar (skulle inte förvåna mig om det är olagligt). Nu är frågan vad man tjänar på det dock

Skrivet av bjjb:

Absolut så går det, Linus Torvalds gjorde ju det. Men det är nog mycket svårare än att göra något till en mikroprocessor.

Yepp, ett operativsystem kan vem som helst skapa om de har rätt kunskap. Lycka till.

Visa signatur

5700x3D | RTX 2060 Super | 2 TB M.2 | 32 GB RAM | Gigabyte DS3H| 750 WATT

Permalänk
Medlem

HAHA! Du roddade om i minnet på mig, kände igen detta.
http://www.sweclockers.com/forum/17-linux-och-ovriga-operativ...

Kanske inte till mycket hjälp men en god motiverare!
Det är inte enkelt, det är inte prydligt, det är inte snabbt, det är inte nödvändigt, det kommer inte användas, MEN det går.

Visa signatur

CITERA OM DU VILL HA SVAR! :)

Permalänk
Medlem

Du har alltså programmerat i maskinkod. Alla program, .exe osv, körs i maskinkod. De skrivs i högnivåspråk som C++, Java osv, men när man kompilerar så översätts det till maskinspråk.

Du kan läsa maskinvaruprogrammering på Högskolan, men förvänta dig inte att det är lätt. Vill du leka lite själv så kolla på MIPS.

Här har du en bra guide:

www.eecs.harvard.edu/~ellard/Courses/cs50-asm.pdf

Lycka till.

Kan dock krossa din dröm om att enkelt kunna skriva ett eget enkelt textbaserat operativsystem. Då pratar vi om tonvis med instruktioner. Men plugga Civilingenjör Datateknik i 5 år med inriktning Inbyggda System, så är du en bit på vägen

Visa signatur

Hackintosh?
Mac OSX Tweaks/Hacks?

--> Besök nya [B]groths.org[/B]

Permalänk
Medlem
Skrivet av Cindori:

Du har alltså programmerat i maskinkod. Alla program, .exe osv, körs i maskinkod. De skrivs i högnivåspråk som C++, Java osv, men när man kompilerar så översätts det till maskinspråk.

Java kompileras dock inte till maskinkod.

Permalänk
Medlem
Skrivet av MrMadMan:

Java kompileras dock inte till maskinkod.

Sant, bytekod heter det kanske? Det går iallafall att kompilera till native maskinkod, om man vill.

Visa signatur

Hackintosh?
Mac OSX Tweaks/Hacks?

--> Besök nya [B]groths.org[/B]

Permalänk

Kan tipsa om en sida med intressanta tutorials.
http://www.osdever.net/tutorials/index

Men som sagt:

Citat:

Plugga Civilingenjör Datateknik i 5 år med inriktning Inbyggda System

Permalänk
Medlem
Skrivet av Cindori:

Sant, bytekod heter det kanske? Det går iallafall att kompilera till native maskinkod, om man vill.

På sätt och vis... JVM gör en s.k. just-in-time kompilering av bytekoden, vilket i praktiken (nästan) innebär att koden "tolkas". Men visst. Allt man "kör" måste ju vara maskinkod i slutändan. Det är dock inget man märker av (eller ens behöver känna till) som javakodare.

Permalänk

Är snart inne på mitt första år på gymnasiet, tänkte läsa teknik för att sedan plugga till civilingenjör inom datateknik.

Men tänkte att det kunde vara något litet fritidsprojekt på vägen upp dit, men det verkar nu inte vara så lätt.

Skickades från m.sweclockers.com

Permalänk
Medlem
Skrivet av 3liteSoldier:

Hej!

Är det möjligt att på något sett föra över ett hemmaprogrammerat OS till en vanlig intel/AMD-processor?

När jag var på PRAO programmerade jag för första gången till en maskinvara (hade programmerat vanliga .exe program och spel tidigare), dvs en mikroprocessor. Hade varit kul att göra något liknande hemma fast mer avancerat.

Går det att överföra ett eget BIOS till en "vanlig" processor?

Vill du skriva om processorns microcode menar du?

Visa signatur

[ AMD 7800X3D // EK-Block @ custom loop, 2x420mm ][ MSI B650 Tomahawk ][ 32GB G.Skill Z5 Neo @ DDR6000 CL28 1T ][ AMD 7900XTX @ custom loop ][ Corsair 750D // Corsair RM1000X ][ 2TB Samsung 990PRO M.2 SSD ][ Win10 PRO x64 ][ LG 34GN850 ]

Permalänk
Medlem
Skrivet av Cindori:

Du har alltså programmerat i maskinkod. Alla program, .exe osv, körs i maskinkod. De skrivs i högnivåspråk som C++, Java osv, men när man kompilerar så översätts det till maskinspråk.

Du kan läsa maskinvaruprogrammering på Högskolan, men förvänta dig inte att det är lätt. Vill du leka lite själv så kolla på MIPS.

Här har du en bra guide:

www.eecs.harvard.edu/~ellard/Courses/cs50-asm.pdf

Lycka till.

Kan dock krossa din dröm om att enkelt kunna skriva ett eget enkelt textbaserat operativsystem. Då pratar vi om tonvis med instruktioner. Men plugga Civilingenjör Datateknik i 5 år med inriktning Inbyggda System, så är du en bit på vägen

Så satans svårt att programmera maskinkod på 8-bitars mikrokontroller är det väl inte?

Permalänk
Medlem
Skrivet av 3liteSoldier:

Är snart inne på mitt första år på gymnasiet, tänkte läsa teknik för att sedan plugga till civilingenjör inom datateknik.

Men tänkte att det kunde vara något litet fritidsprojekt på vägen upp dit, men det verkar nu inte vara så lätt.

Skickades från m.sweclockers.com

Göra ett eget OS är nog lite väl stort projekt ja Det är nog roligare att skriva assembler till en mindre avancerad CPU där man har mer koll på saker, men det går ju att skriva program till x86 också.

Finns ju gott om demo-programmerare som bootar upp datorn på USB-minne eller annat med egen boot-loader som bara kör igång demot med musik, effekter m.m.

Visa signatur

Shadows never sleep...
Specs: Ryzen 5600X, Powercolor Fighter RX 6700XT, ASUS B550-I ITX, 32GB 3600MHz DDR4, Bitfenix Phenom µ-ATX

Permalänk
Medlem
Skrivet av 3liteSoldier:

Hej!

Är det möjligt att på något sett föra över ett hemmaprogrammerat OS till en vanlig intel/AMD-processor?

När jag var på PRAO programmerade jag för första gången till en maskinvara (hade programmerat vanliga .exe program och spel tidigare), dvs en mikroprocessor. Hade varit kul att göra något liknande hemma fast mer avancerat.

Går det att överföra ett eget BIOS till en "vanlig" processor?

En CPU fungerar väldigt likt en 8-bits uC. Maskinkod och register, DMA och minnesmappningar.

Men jag tror inte du inser vilket stort projekt det är. Förutom OS måste du sen ta fram en kompilator m.m.

Månader av arbete av flera personer skulle resultera i något som inte är mycket häftigare än MS-DOS

Visa signatur

Ryzen 9 5950X, 32GB 3600MHz CL16, SN850 500GB SN750 2TB, B550 ROG, 3090 24 GB
Har haft dessa GPUer: Tseng ET6000, Matrox M3D, 3DFX Voodoo 1-3, nVidia Riva 128, TNT, TNT2, Geforce 256 SDR+DDR, Geforce 2mx, 3, GT 8600m, GTX460 SLI, GTX580, GTX670 SLI, 1080 ti, 2080 ti, 3090 AMD Radeon 9200, 4850 CF, 6950@70, 6870 CF, 7850 CF, R9 390, R9 Nano, Vega 64, RX 6800 XT
Lista beg. priser GPUer ESD for dummies

Permalänk
Skrivet av Herr Kantarell:

En CPU fungerar väldigt likt en 8-bits uC. Maskinkod och register, DMA och minnesmappningar.

Men jag tror inte du inser vilket stort projekt det är. Förutom OS måste du sen ta fram en kompilator m.m.

Månader av arbete av flera personer skulle resultera i något som inte är mycket häftigare än MS-DOS

Nejdå det hade jag heller inte tänkt. Ett OS behöver ju inte direkt innebära Windows 7 Ultimate 64 bits ;), tänkte mer som ett väldigt enkelt OS som att få processorn att skriva ut data på skärmen och kanske t.o.m få den att göra handlingar om man t.ex trycker ned en tangent.

Undrade mer bara om det var möjligt att överföra ett simpelt OS till en vanlig datorprocessor.

Permalänk
Medlem
Skrivet av 3liteSoldier:

Nejdå det hade jag heller inte tänkt. Ett OS behöver ju inte direkt innebära Windows 7 Ultimate 64 bits ;), tänkte mer som ett väldigt enkelt OS som att få processorn att skriva ut data på skärmen och kanske t.o.m få den att göra handlingar om man t.ex trycker ned en tangent.

Undrade mer bara om det var möjligt att överföra ett simpelt OS till en vanlig datorprocessor.

Skriva lite data på skärmen låter mer som ett vanligt program än ett OS.

Som sagt, kolla upp folk som skriver demos, om inte annat kan du ju fixa en bootdiskett med DOS eller linux och köra programmet direkt där, finns nog många små mini-OS att leka med program i.l

Visa signatur

Shadows never sleep...
Specs: Ryzen 5600X, Powercolor Fighter RX 6700XT, ASUS B550-I ITX, 32GB 3600MHz DDR4, Bitfenix Phenom µ-ATX

Permalänk
Skrivet av 3liteSoldier:

Hej!

Är det möjligt att på något sett föra över ett hemmaprogrammerat OS till en vanlig intel/AMD-processor?

När jag var på PRAO programmerade jag för första gången till en maskinvara (hade programmerat vanliga .exe program och spel tidigare), dvs en mikroprocessor. Hade varit kul att göra något liknande hemma fast mer avancerat.

Går det att överföra ett eget BIOS till en "vanlig" processor?

Det går att skriva ett enkelt OS som skall köras på en vanlig x86-processor, men det är rätt tidskrävande och kräver en del kunskaper inom realtidsprogrammering.
Det är i så fall lättare och mer avgränsat att skriva kod till en mikroprocessor.

Att köra reversenginering på ett BIOS och sedan göra ändringar och lägga in det igen är även det lösbart, men kräver även det en hel del programmeringskunskaper och tid.

Ett mer avgränsat hemmaprojekt skulle kunna vara att du köper ett labbkort till din dator (eller bygger ett) och programmerar ett program som interagerar med I/O på kortet och styr diverse prylar i hemmet, eller en testuppsättning med motorer och elektriska/pneumatiska ställdon.

Visa signatur

~Pelle~