Mik azok a linuxos parancsok, amiket nem c-ben, hanem c++-ban írtak?
Olyasmikre gondolok, mint az awk, sed, wc, grep...
Már ha van olyan, amit nem C-ben írtak.
#19
Ez eléggé értelmetlen kijelentés, de már maga a kérdés is az. Talán C++ forráskódokat akar olvasgatni a kérdező, vagy miért?
Porkoláb Zoltán válasza:
Szerintem nyugodtan hívhatod parancsnak, utility-nek.
Ezek önálló végrehajtható állományok, akármiben meg lehet írni őket, C-ben, C++-ban, Pascal-ban, ADA-ban, Haskell-ben...
Nyilván, ha a szabványos Unix parancsokat úgy készítik, hogy minimális
külső függőségük legyen (pl. ne függjenek egy Haskell végrehatjó
rendszertől, Pascal könyvvtártól), hiszen a minimális telepített
csomagok esetén is szeretnénk használni ezeket. Ezért praktikus okokból
C-ben írják őket. Ami amúgy valószínűleg a legtömörebb és leggyorsabb.
üdv
gsd
#24
Így van. Egy adott programot ugyanúgy hívhatunk shell parancsnak, mint programnak, attól függően, milyen kontextusban beszélünk róla.
Például, ha a "parted" programról beszélek, szerintem senki nem fog belekötni, ha parancsnak nevezem. Vagy ha azt mondom, add ki az "mkfs.ext4" parancsot, az sem elítélendő dolog.
24,26:
Nincs itt semmiféle réteg.
Az operációs rendfszer tervezője gondoskodik arról, hogy a rendszere miképpen szolgálja ki a usert. Ennek szerves része a parancskészlet meghatározása, sőt, implementálása is.
Azért, mert bizonyos programokat (amelyeknek amúgy semmi közük az oprendszerhez), konzolból is meg lehet hívni, még nem lesznek parancsok.
Ugyanígy nem lesz a linux vagy unix parancskészlet része az MC, MCEdit sem, hiába is tett rá itt - amúgy tévesen - hivatkozást valaki.
Egy operációs rendszer parancskészlete nem rágógumi, hanem egy pontosan definiált lista.
Ez bármiféle rétegtől, szemlélettől totál független.
#27
Ez mind nagyon szép és jó, amit leírtál, de úgy baromság, ahogy van.
Már az is rétegszemléleti kérdés, hogy mit nevezünk operációs rendszernek. Ha szigorúak vagyunk, akkor Linux esetén csak és kizárólag a kernelt nevezzük az operációs rendszernek (nem véletlenül különböztetjük meg a Linuxot a GNU/Linuxtól). Ez esetben szomorúan tapasztaljuk, hogy még parancsot sem igen tudunk bevinni, hisz shellünk sincs, így az általunk ismert parancsok 99,9%-át nem fogjuk tudni futtatni.
A kernel legfeljebb a meghívható rendszerutasításokat hatázozza meg (syscalls), de a bevihető parancsokat nem.
Ha továbbmegyünk, és fogjuk a GNU toolchaint, akkor már lesz pár parancsunk, az más kérdés, hogy interaktiv shell híján hogyan is visszük be őket.
Ha az egész mellé odacsapunk még egy bash-t, is akkor már lesz pár parancsunk (pl. a "cd" már működni fog, de az "echo" és a "pwd" még nem, merthogy ezek is külső parancsok), de még mindig nagyon kevés. Egy ilyen Linux-szal nem sokra mennénk. Még init rendszerünk sincs, az is kell, meg egy halom _segédprogram_, mint pl. chmod, chown, date, find, grep, pwd, echo, stb., amiket a hétköznapi életben (vagy akár egy szakvizsgában) egyszerűen csak parancsnak hívunk. Ki dönti el, hogy ezeknek van-e köze az operációs rendszerhez, és milyen alapon lehetne eldönteni? Technikailag miben különbözik pl. a "date" program a "doom"-tól - ha már az egyiket lehet parancsnak hívni, a másikat nem?
Namost akkor hol húzzuk meg a határt? Mi az, ami még parancsnak számít, mi az, ami már nem? libc? cgroups? posix? udev? systemd? dbus? pulseaudio? Ráadásul mindezek időről-időre változnak, régiek esnek ki, újak jönnek be...
Ha lenne egy olyan, általános elfogadott referenciakönyv, ami tűpontosan definiálná a Unix/Linux parancskészletet, akkor igazad lenne, de ilyen könyv nincs.
"Már az is rétegszemléleti kérdés, hogy mit nevezünk operációs rendszernek. Ha szigorúak vagyunk, akkor Linux esetén csak és kizárólag a kernelt nevezzük az operációs rendszernek"
LOL :o)
Na látod, ez a baromság.
Amatőr vagy te de nagyon, sőt, sajnos még annak is silány.
Ha nem lennél az, nem írnál ilyen ökörségeket, hogy a linux kernele az operációs rendszer, hogy a többi, még nagyobb baromságra ("Technikailag miben különbözik pl. a "date" program a "doom"-tól") már ki se térjek.
Ez meg aztán mindent visz:
"A kernel legfeljebb a meghívható rendszerutasításokat hatázozza meg (syscalls), de a bevihető parancsokat nem."
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!