Egy operációs rendszer nélküli robotra hogy lehet programot írni?





Az operációs rendszerre nincs feltétlenül szükség. A program maga vezérelheti a ki és bemeneteket azt kész .
A legegyszerűbben például kisautó és robotban mikro vezérlő van ezeket könnyű programozni például erre ott a platformio ami pillanatok alatt elsajátítható.





Mondhatni maga a felhasználói program az operációs rendszer. A rendszerindításkor az bootol be és tartalmazza a hardver kezeléséhez szükséges rutinokat, nincs rá szükség, hogy egy OS végezze el helyette.
Akinek volt régen Amigája, annak nem igazán kell ragozni: volt a gépnek egy oprendszere (workbench), de ezt tulajdonképpen elég ritkán kellett használni: a felhasználói programok, játékok, demok általában bootdiskeken voltak, ezek indításához nem kellett elindítani a WB-t, hogy az alól futtassuk, hanem az adott lemezről indítva a gépet rögtön a szoftver indult el, oprendszer nélkül...





>>Mondhatni maga a felhasználói program az operációs rendszer.
Ezt azért nem mondhatni. A felhasználói program, vagy inkább, csak program, ha nem kell kommunikálnia másik, vele párhuzamosan futó programmal, akkor nem igényel olyan szolgáltatásokat sem, amiket egy operációs rendszer szokott biztosítani. Amikor mindig csak egy program fut egy processzoron, akkor az operációs rendszer fölösleges. Legalábbis, az esetek nagy részében.





@14: nem feltétlenül kell a programnak egy másik, vele párhuzamosan futó programmal kommunikálnia ahhoz, hogy kelljen alá OS. Nem minden rendszer multutasking...
Ellenben a hardverrel igen. Ha csak egy adott hardverkonfiguráción akarod használni vagy minden egyes hardverelemhez megírod a drivereket, akkor kihagyható az OS, ahol viszont eltérő hardvereken is futtatni akarod anélkül, hogy ezzel külön foglalkoznod kellene, ott ezt a feladatot az OS látja el...





Általában FreeRTOS vagy egyéb más real-time OS van ezekben a rendszerekben, mivel sokkal egyszerűbb külön szálakra lebontani mindent (még ha nem is valós multi threading), mint rakni a millió state machinet egy while loop-ba. Ott ha valami beszrik vagy változtatásra van szükség, nehezebb, mint ha már adott egy RTOS alap.
RTOS-ban adottak a szemafórok, időzítők, mutexek, stb.. Dolgoztam embedded berendezéseken, ha már kicsivel komolyabb logika kellett egyszerre, pl. wifi, szenzorok olvasása, esetleg egy display, akkor már mindjárt az RTOS-t vettük elő. Simán elképzelhető, hogy valamilyen RTOS van a kisautón, nem pedig full "os" nélkül tolják. Ha csak nem több százezres vagy milliós darabszámról beszélünk, nem okoz jelentős költségnövekedést pár KB-al nagyobb MCU-t venni (konkrétan centekről beszélünk) és RTOS-al használni.





Ez a "csak áramkörök" dolog elég pongyola, és kisarkított megfogalmazás. Végső soron a mikrovezérlő, vagy akár a számítógép is csak áramkörök összessége.
A kérdés inkább az, hogy elektronikusan programozható-e. Ha igen, akkor nincs különösebben lényege annak, hogy van-e rajta operációs rendszer. Vezérlési feladatokhoz nem is szükséges, sőt, sokszor kifejezetten felesleges, ha még egy oprendszer is van az eszközön. Ezek is programozhatóak (legpopulárisabb ilyen pl. az Arduino), nyilván a programot más eszközön írják meg, ezekre csak rámásolják azt, és indítás után egyből arra kerül a vezérlés.
Ami elektronikusan nem programozható, azt valamilyen mechanikus módon "programozzák".





"Simán elképzelhető, hogy valamilyen RTOS van a kisautón, nem pedig full "os" nélkül tolják."
Inkább az képzelhető el nehezen, amit te állítasz.
Az ilyen kis vackokra nem szokás és nem is érdemes OS-t pakolni és arra ráfejleszteni, mert csak kibaszik magával a fejlesztő (időzítések, performancia, tárhely).
Esetedben is valószinűnek tartom, hogy te inkább csak hallottál a FreeRTOS-ról, Chibi-ről, hasonlókról, de soha nem használtad ezeket.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!