operativ system source code porta ny hårdvara

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
hansit
Inlägg: 23
Blev medlem: 17 september 2017, 17:22:40
Ort: Sigtuna

operativ system source code porta ny hårdvara

Inlägg av hansit »

finns det något minimalt operativsystem som man kan porta till ny hårdvara?

har lite z80 och 68000 enkortsdatorer och det skulle vara kul att ha något slags os på dom.

cp/m är ett alternativ som jag kollat lite på, men finns det några andra?

/h
Användarvisningsbild
Berrabongo
Inlägg: 601
Blev medlem: 3 oktober 2006, 15:17:12
Ort: Solna

Re: operativ system source code porta ny hårdvara

Inlägg av Berrabongo »

Unix och OS9/9000 till 68000
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: operativ system source code porta ny hårdvara

Inlägg av MiaM »

Gammal tråd, men de som redan nämnts är väl de som faktiskt går att "använda".

Man kan i princip porta valfritt operativsystem från klassiska 70-80-talsdatorer, men väldigt många av dessa är inte särskilt kul att köra utan den speciella hårdvara de är avsedda för. Typ man vill nog åtminstone ha videohårdvara som är något sånär kompatibel med nån klassisk mikrodator för att man ska få ut särskilt mycket av resultatet. Men det kan ju för all del vara en kul övning att porta över saker även om resultatet inte är direkt användbart. Om du inte har några problem med att peta i läckt icke-fri kod så finns källkoden till AmigaOS läckt i det tillstånd den var i en bit in på 90-talet. På Aminet finns också ett program man kan köra på en Amiga med Kickstart 1.2 (första stabila versionen) som ger en kommenterad disassemblering av kärnan, vilket borde vara tillräckligt för att kunna peta på den så att den går att köra på annan 68000-hårdvara. Allt detta är ju dock inget att ge sig på om du nånsin tänkt kunna publicera resultatet på nåt vis.
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: operativ system source code porta ny hårdvara

Inlägg av Glenn »

Just AmigaOS är väl ett ganska dumt val då det är ganska hårdkodat mot alla customkretsar, alltså, en Amiga är ganska långt ifrån en generisk 68000-miljö som på ett labbkort.
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: operativ system source code porta ny hårdvara

Inlägg av MiaM »

Ja, fast å andra sidan lyckades ju Draco köra AmigaOS utan customkretsarna. Tänker att textlägesapplikationer borde gå att få igång om man enbart lyckas få igång den allmänna initieringen, kärnan (exec.library), någon drivrutin till lagring (enklast är kanske att att först labba med den resetöverlevande ramdisken och via debuggrejer trycka in en image på målsystemet) och givetvis någon slags serieport att köra konsoll mot. Om man får detta att fungera så skulle man sannolikt kunna få nån slags VNC-grej för att visa grafiska saker. Blir inte helt klok på om denna också behöver en lokal display eller inte. http://dspach.free.fr/amiga/avnc/

Eller så kan man ge sig på att porta AROS, opensource-AmigaOS-klonen.
Användarvisningsbild
Glenn
Inlägg: 33666
Blev medlem: 24 februari 2006, 12:01:56
Ort: Norr om Sthlm
Kontakt:

Re: operativ system source code porta ny hårdvara

Inlägg av Glenn »

Bara lösningen med två typer av minne lär ju ställa till det, och såväl grafik osom serierutiner är knutna mot customkretsar.

Draco var ju specifikt byggd för att köra AmigaOS, blir lite jobbigare om man redan har HW.

Borde finnas enklare OS av de skälen.
Användarvisningsbild
pi314
Inlägg: 5674
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: operativ system source code porta ny hårdvara

Inlägg av pi314 »

Minimalt operativsystem
Som kan köras på 68K och Z80.

Det begränsar valmöjligheterna.

OS för helt skilda hårdvaruplattformar gör mig frestad att föreslå Unix, men jag har lite svårt för att kalla Unix minimalt.

Kanske då om man kan hitta något bland dom lite mer udda distributionerna.

Minix
Minix kan ses som en föregångare till Linux. Andrew Tanenbaum, som är OS-guru och holländsk professor ville ha ett litet OS som kunde köras på en enkel X86-plattform och, då, i första hand, användas i utbildningsyfte.

Sedan dess har Minix blivit open-source och multi-platform.

På Wikipediasidan står det så här om plattformar.
PC compatibles, PC, PC/AT, PS/2, Motorola 68000, SPARC, Atari ST, Commodore Amiga, Macintosh, SPARCstation, Intel 386, NS32532, ARM, Inmos transputer, Intel Management Engine[3]
https://en.wikipedia.org/wiki/Minix

Z80 är inte med i listan.
Men det finns Unix-varianter (eller Minix-varianter?) som körs på Z80.
Lite om detta.
https://hackaday.com/2017/04/16/z80-fuz ... oned-unix/
https://github.com/chettrick/uzics

På Minix egen hemsida skrivs det rätt mycket om PC och ARM.
https://wiki.minix3.org/doku.php?id=www ... :read-more

Jag implementerade ett mini-unix på en 68K enkortsdator för drygt 30 år sedan. Som jag minns var det mest pyssel med att göra drivisar för diskkontrollers för floppy och hårddisk.

/Pi
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: operativ system source code porta ny hårdvara

Inlägg av MiaM »

Glenn: Om man inte har Amigacustomkretsarna så kan man betrakta allt minne som "chip". Det finns ju flera olika serieportkort från olika tillverkare som funkar utmärkt rakt av med cirka all mjukvara, så det är inga problem att byta ut standarddrivern.

Jag säger inte att det är en bra idé, säger ungefär bara att den är nog bättre än att porta t.ex. nåt såndär mer eller mindre kommersiellt realtids-OS där man bara kan köra sina egenskrivna applikationer. Iaf om man vill köra nånting färdigskrivet. Nog för att mängden textlägesgrejer till Amiga är rätt lågt men det finns ju iaf ett komplett kommandoskal och det finns diverse små textlägesprogram t.ex. för att packa / packa upp arkiv osv, och så finns det ju komplett TCP/IP-stack. (Minns inte riktigt dock hur det var med källkod och licens för de olika varianterna, var äldre AmiTCP open source?)

Pi314: Som jag förstod det så har TS flera olika kort varav vissa med Z80 och vissa med 68k. Men jag kan ha uppfattat fel...
Nerre
Inlägg: 26654
Blev medlem: 19 maj 2008, 07:51:04
Ort: Upplands väsby

Re: operativ system source code porta ny hårdvara

Inlägg av Nerre »

hansit skrev: 15 september 2022, 16:16:53 finns det något minimalt operativsystem som man kan porta till ny hårdvara?

har lite z80 och 68000 enkortsdatorer och det skulle vara kul att ha något slags os på dom.
Jag läste nyligen en artikel om bakgrunden till C, och föregångaren till C var B, som byggde på BCPL.

Och poängen med BCPL var att det var "självkompilerande". Man kunde alltså i assembler skriva en liten kompilator som man sen kunde använda för att kompilera den kompletta kompilatorn. Hela poängen där var tydligen just att det skulle vara enkelt att portera till annan hårdvara.
Användarvisningsbild
pi314
Inlägg: 5674
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: operativ system source code porta ny hårdvara

Inlägg av pi314 »

Konceptet att "bootstrappa" en maskinoberoende kompilator till godtycklig hårdvara löste Nikluas Wirth vid ETH i Zürich på ett elegant sätt.

Han tog fram en Pascal-komplilator, skriven i Pascal, som kompilerade till P4-kod. Kod för en virtuell maskin. Det reducerade problemet att implementera kompilatorn på en godtycklig maskin till att skriva en P4-tolk för den aktuella maskinen. Det underlättade om man hade tillgång till en fungerande kompilator. På någon maskin. Men, om man hade kompilatorn i källkod och i P4-kod så behövdes inte det.

http://pascal.hansotten.com/niklaus-wir ... -compiler/

Så, ett enkelt sätt att sprida ett programmeringsspråk med en kompilator som var lätt att implementera på godtycklig hårdvara.

Men, tyvärr sträckte sig inte intresset längre än till programmeringsspråket.

Om det funnits ett OS som kunde spridas och implementeras lika enkelt så skulle det kanske blivit en succe?

Kanske kan man säga att Unix och dess koppling till C gör Unix just så enkelt att implementera på godtycklig hårdvara? Så mycket enklare kan det nog inte bli?

/Pi
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: operativ system source code porta ny hårdvara

Inlägg av MiaM »

Anledningen att Unix och mer specifikt Linux och BSD finns för så många olika hårdvaror är väl en kombination av att det allmänt är ett populärt OS, att det finns som öppen källkod och att väldigt mycket går att köra i textläge.

Det finns mig veterligen inget annat OS som uppfyller dessa tre kriterier.

Idag spelar textläge mindre roll när det gäller "skrivbordsdatorer", men de andra två kriterierna är viktiga. Det behövs en kritisk massa för att få en uppåtgående spiral för att ett OS ska bli något för fler än ett fåtal entusiaster. Och det behövs öppen källkod om det ska spridas organiskt.

Om vi tittar på de OS som dykt upp under alla år som mikrodatorer varit kapabla att köra ett OS med multitasking och grafiskt användarinterface så är det egentligen bara Windows NT-serien, Mac OS X, Android, iOS, Linux och BSD som blivit särskilt populära.

De fyra förstnämnda är mer eller mindre lösningar på att vad som fanns innan var skitdåligt. Windows 3.x och 9x/ME var allmänt inget vidare. Mac OS före OS X var ren skit som fick Windows 3 att framstå som ett tekniskt underverk.

Android och iOS slog igenom på grund av att t.ex. Symbian var skit, både tekniskt och affärsmodellmässigt. (Tekniskt för att vad jag förstått så kördes t.ex. nätverk som del av applikationer snarare än i operativsystemet, så när man växlade mellan webbläsare och chattklient så hade bara den aktiva applikationen riktig kontakt med nätverket. Affärsmodellsmässigt för att det inte fanns nån "app store" och framförallt för att främst Ericsson och Nokia tyckte det var viktigare att göra det så dåligt som möjligt för varandra än att göra det så bra som möjligt för varandra, d.v.s. de gjorde telefoner som inte kunde köra varandras appar vilket fick icke-Symbianmobiler att framstå som bättre. Hade de gjort en app store för Symbian och sett till att nästan alla appar fungerar på alla mobiler så hade det nog blivit klart svårare för Android att slå igenom).

Det har gått extremt långsamt för Linux och BSD att slå igenom, och de har mestadels haft framgångar som server-OS och konkurrerat ut de kommersiella unixvarianterna snarare än skrivbords-OS:en. Vilket år som helst kommer året då Linux körs på skrivborden :mrgreen: Dock kan man ju på sätt och vis visserligen se Android som en Linuxframgång, fast inte riktigt eftersom det är avgrenat såpass att det inte är kompatibelt.

================

Angående att skriva kompilator som går att köra på olika plattformar så är ju inte jobbet att få kompilatorn i sig att kunna kompilera sig själv, utan att kunna generera kod för målplattformen. När kompilatorn kan generera kod för målplattformen så kan den automatiskt kompilera sig själv för målplattformen, och då spelar det ingen roll hur stor/liten del av kompilatorn som är plattformsspecifik. På sjuttiotalet var det nog en bra idé att ha så lite plattformsspecifik kod som möjligt, men idag så är prioritet snarast att göra den delen såpass stor att den kan optimera så mycket som möjligt.
Användarvisningsbild
Icecap
Inlägg: 26105
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: operativ system source code porta ny hårdvara

Inlägg av Icecap »

Alltså - vilka funktioner ska ett OS ha?
Med t.ex. en Z80 är det ju en del begränsningar, 68000 har ju en del mer möjligheter.

Men med OS, menas det då något liknande DOS som ger tillgång till systemresurser (COMx, LPTx RAM osv.).

Jag kan fint fatta detta med att man har ett basalt lager som tar hand om hårdvaran, interrupts osv. och som ger möjlighet att lägga in externa program o köra dom.

Men det är ju i grunden vad man gör redan med firmware.

Jag har t.ex. standardrutiner för serieporte (RS232, RS485), 1-Wire, displaydrivning osv. i filer jag bara inkluderar i mina projekt så jag bara behöver skriva själva programmet, allt annat är klart, testat o debuggad.
Användarvisningsbild
pi314
Inlägg: 5674
Blev medlem: 23 oktober 2021, 19:22:37
Ort: Stockholm

Re: operativ system source code porta ny hårdvara

Inlägg av pi314 »

Vilka uppgifter har ett operativsystem?
I det allmänna fallet, ungefär dessa.
– Filhantering.
– Minneshantering.
– Processhantering.
– I/O-hantering.
– Enhetshantering och fördelning.

Alla OS har inte alla dessa funktioner, men i dom flesta OS ställer man krav som går långt över vad som framgår av listan ovan. Inte minst inom området säkerhet, mot oavsiktliga eller avsiktliga skadliga händelser.

Hur mycket vill TS få ut av ett OS till sina enkortsdatorer?

/Pi
Användarvisningsbild
Icecap
Inlägg: 26105
Blev medlem: 10 januari 2005, 14:52:15
Ort: Aabenraa, Danmark

Re: operativ system source code porta ny hårdvara

Inlägg av Icecap »

Jag så en YT där det blev förtalt att man kan göra ett skyddad minnessystem på en Z80.

Tydligen var tricket att koppla NMI till port-skrivningen som styr minnesmapparen, då skulle det vara möjligt att fixa resten med mjukvara.

Sedan känns det dock lite vekt med en 8-bitars för sånt ett projekt när man kan få en 32-bitars till samma pris.

Men nog lite nörd-kul. Jag kunde hitta på att titta på detta...
MiaM
Inlägg: 9903
Blev medlem: 6 maj 2009, 22:19:19

Re: operativ system source code porta ny hårdvara

Inlägg av MiaM »

För dessa processorer, speciellt Z80 men i nån mån även 68k, så är gränsen mellan firmware och operativsystem flytande. Det var väldigt vanligt att åttabitarsdatorer hade operativsystem och basictolk i ROM. Vissa hade tillräckligt i ROM för att använda bandspelare men behövde ladda saker från disk för att köra disketter (t.ex. Spectravideo, Atari 8-bitars, IBM PC osv). Vissa hade till och med diskdrivegrejerna i ROM (t.ex. Commodore 8-bitars som man alltså kan använda fullt ut om man enbart har hårdvaran samt blanka disketter). För åttabitarsdatorer var det egentligen bara CP/M-maskiner som man var tvungen att ladda saker från disk för att komma igång. (Lite gränsfall var Sharps åttabitarsdatorer, de hade en maskinkodsmonitor i ROM och sen laddade man t.ex. BASIC från kassett).

För 68k så hade Mac och Amiga merparten av operativsystemet i ROM. Tror Atari ST också hade det men har dålig koll på ST. Visst, dessa burkar krävde en diskett för att starta, men åtminstone för Amiga så krävdes det bara enstaka kilobyte kod på disketten för att starta upp såpass att man får ett grafiskt användarinterface där man på klassiskt sätt kan peka och klicka för att starta program, kopiera, flytta och radera filer och liknande. Med ännu mindre kod på en startdiskett fick man enbart ett skal, dock så kunde man i princip bara byta katalog utan att ha några körbara filer på disk. Sånt som kommandot för att lista filer låg alltid på disk.

Men för enkortsgrejer är det ju fråga om vad man vill göra. Idag så är väl dessa kort mer en retrodatorlabbgrej eller samlargrej än nåt man faktiskt använder till nån "riktig" applikation - typ de utklassas ju av små enkortsdatorer man kan köpa över disk hos Kjell & co.

Förresten, det vore intressant att veta lite mer om enkortdatorerna. Hur mycket minne har de? Kan de mappa in RAM istället för ROM i början av adressutrymmet? (CP/M för Z80 kräver detta, och jag skulle väl tro att det är användbart för åtminstone vissa 68k-operativsystem)
Skriv svar