Kezdőoldal » Számítástechnika » Programozás » Ha megtanulnám a X86 Assembly-...

Ha megtanulnám a X86 Assembly-t, milyen munkakörökben venném hasznát?

Figyelt kérdés
Az informatika mely területén lehet hasznát venni ha valaki tudja a X86 Assembly-t?

jan. 8. 14:20
1 2
 11/19 anonim ***** válasza:
48%

"ASM nélkül nincs jó hang/video codec, nincs jó video lejátszó, nincs hatékony általános célú tömörítő program se." -> Különösen akkor hasznos ez ha ma már szinte minden ilyen programnál elvárás a platform függetlenség (főleg úgy, hogy már az ARM is terjed mint a pestis, ami egészen más architektúra, mint az x86). Az, hogy vannak még lusta emberek, akik ahelyett hogy gondolkodnának x86 ASM-ben írnak meg dolgokat, az nem azt jelenti, hogy ma ez egy kiemelten fontos irány.


"Lotus 123 táblázatkezelő"-mikor is jelent meg, és miért halt ki vajon? 1983-ban kezdték feljeszteni! Azért azóta eltelt 40 év! és végül 2002-ben 22 évvel ezelőtt be is fejezték a fejlesztését. Talán ez sem véletlen.


Szintén nem véletlen, hogy az 1970-ben kezdett unixot, amint a C stabil lett 1973-ban komplett újra írták C-ben. (Ez 50 éve történt).


Tehát 10-eske kb. 40 évvel vagy elmaradva a világtól. Nem azt mondom, hogy nem árt ismerni legalább egy proci ASM-jét alapszinte, de a mai világban teljesen feleslges. Én most nem látok sehol futó komolyabb fejlesztéseket (leszámítva amit fent már írt valaki, hogy beágyazott rendszerek, és néhány nagyon speciális terület) amik x86 ASM-ben történnek. Egy mai jó C fordító nagyon durván képes optimalizálni. OK, esetleg az a néhány ember aki ezekkel foglalkozik neki még érdemes az ASM-et ismerni.

jan. 9. 08:28
Hasznos számodra ez a válasz?
 12/19 anonim ***** válasza:
31%

11, a te szavaid buta, önigazolást kereső mondatok.


- Egy video lejátszó kodekje még 20 év múlva is natív lesz és a kopogó vason fog futni nem valami fos virtuális gépen.

- A lotus 123 az egyik példa volt arra, hogy történik 100 %-os ASM fejlesztés is. Mellesleg, a táblázatkezelő végét az jelentette, hogy DOS alkalmazás volt. Ezt írják róla:

"óriási népszerűségnek örvendett, és jelentősen hozzájárult az IBM PC-kompatibilis számítógépek sikeréhez az üzleti piacon."

- A Unixot soha nem írták "újra" C-ben, mivel eleve C-ben írták meg.

Akkoriban az oprendszereket, így a tervezett multics-ot is asm-ben fejlesztették. A nagygépre tervezett multi-useres, időosztásos multics speckója azonban nagyon durvára sikeredett, így azt a cégek által delegált szakemberek egyszerűen nem voltak képesek implementálni (Ugyanez történt később az ADA speckója esetében is). Ezért az erre megalakított munkaszövetség feloszlott. Ennek a kudarcnak ellenpontozásaként kezdte meg a két őshüllő (multics alapokon) megtervezni és megírni a UNIX-ot. Ezért is lett az a neve, hogy UNICS. Ehhez szülték meg az C nyelv ősét ami lényegében egy nagyon tömör makrónyelv volt, ami .asm kimenetet generált.

Ezt a tömörséget az indokolta, hogy a gép, amin elkezdték a UNIX fejlesztését, egy használaton kívüli pdp 11-es gép volt, mindössze négy vagy nyolc kiloszó (kWord) memóriával.


Neked láthatóan lövésed nincs arról, hogy mi megy programfejlesztés terén.

Ha egy komolyabb programnak vannak sebesség-kritikus részei, akkor azt assemblyben írják meg, ha tetszik ez neked, ha nem. Ha vannak benne időzítések, triggerek, akkor azokat a részeket szintén assemblyben fogják megírni.

A C "nagyon durva" optimalizációját meg akár fel is dughatod magadnak.

A C nem fog kódot írni, csak azt tudja optimalizálni, ami érkezik neki a bemeneten.

A C-ben szarul megírt kódon pedig hiába optimalizál a fordító akár 15 %-ot, ha ugyanaz a feladatrész asm-ben megírva fél-, harmadannyi idő alatt lefut.

Már pedig ez gyakori. C-ben nincsenek regisztereid és nincs sok más sem, ami assembly-ben nem csak hogy adott, de ki sem lehet kerülni.


Csak azt tudom megismételni, amit a kolléga már leírt, soha nem írtak annyi assembly kódot, mint manapság. Annak ellenére, hogy az applikációk száma iszonyat sebességgel nő, az assembly nyelv a stabil 12.-15. környéki helyet foglalja el a tiobe indexen, immár tizensok éve.

jan. 9. 11:16
Hasznos számodra ez a válasz?
 13/19 anonim ***** válasza:
64%

Az a baj, hogy nálad a sánta kutya effektus működik, mert ténybeli dolgokban hazudsz!


Az összes ezzel foglalkozó forrás szerint a Unixot (néhány forrás szerint a unix kernelt) 1972-1973 években újra(!!!) írták C-ben! És ez történelmi TÉNY nem VÉLEMÉNY hanem ellenőrizhető tény!



[link]


"Ken Thompson teamed up with Dennis Ritchie, who wrote the first C compiler. In 1973 they rewrote the Unix kernel in C. The following year a version of Unix known as the Fifth Edition was first licensed to universities. The Seventh Edition, released in 1978, served as a dividing point for two divergent lines of Unix development. These two branches are known as SVR4 (System V) and BSD. "


----


[link]


"Unix was firstly written in the low-level PDP-7 assembler language before it was rewritten in 1972 with the new C programming language."


---


A többi állításod is hasonlóan stabil alapokon nyugszik. Legalább olyat ne hazudj amit 10másodperc google-zás után ellenőrizni lehet, hogy HAZUGSÁG!

jan. 9. 11:31
Hasznos számodra ez a válasz?
 14/19 anonim ***** válasza:
12%

"A Unix operációs rendszer fejlesztése a Multics-szal (Multiplexed Operating and Computing System) kezdődött. A Multics projekt az 1960-as évek közepén indult, a General Electric, Massachusetts Institute for Technology és a Bell Laboratories együttműködésében. 1969-ben a Bell Laboratories kivonult a projektből.


A Bell Laboratories egyik munkatársa, Ken Thompson részt vett a Multics projektben. Szerette a Multicsot, de túl komplexnek találta. Thompson a Multics nyomdokain haladva egy PDP–7-esen egy hónap alatt megírta az első Unicsot. A UNICS jelentése „Uniplexed Operating and Computing System”. Ahogy az operációs rendszer változott, a nevét lerövidítették, és így született meg a rövidebb "Unix" név. A UNICS 1969 szeptemberében jelent meg.


A UNIX ******** rendszermagját ********* eleinte assembly segítségével készítették el, majd 1973-ban nagyrészt átírták C nyelvre, amely lehetővé tette az egyszerű portolást ******* a különböző hardverekre."


--

A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével 1969 és 1973 között a UNIX rendszerekre.

Az 1973-as évben a C nyelv elég hatékonnyá vált, így a UNIX rendszermag legnagyobb részét, melyek PDP-11/20 assembly nyelven íródtak, újraírták C-ben. Ez volt az egyik első operációs rendszer rendszermag, mely nem assembly nyelven íródott,

jan. 9. 11:41
Hasznos számodra ez a válasz?
 15/19 anonim ***** válasza:
12%
jan. 9. 11:55
Hasznos számodra ez a válasz?
 16/19 anonim ***** válasza:
31%

Tizenhármaska!


Tudod az úgy volt, hogy a Unixot felfejlesztették olyan szintre, hogy kereskedelmi termékként el lehessen adni. Ez meg is történt, de nem 1973-ra, hanem már 1972-re. A Unix kernele valóban portolva lett C-re, de erre azért volt szükség, hogy a Unixot le lehessen fordítani másféle géptipusokra is. A C fordítója is azért lett olyan, amilyen. Bármilyen processzor assembleréhez könnyen hozzá lehetett igazítani.

Ha eszed lenne, eltöprengenél azon, hogy vajon ki lenne olyan hülye, hogy egy asmben megírt kernelt C-re portol? Hacsak nincs a dologban üzleti megfontolás. Na de hát, volt.

A Unix úgy született, hogy a Multics fiaskója megfeküdte a két ember gyomrát. Kielemezték, hogy mi volt a Multics kudarcának a forrása és azokat kikapcsolták a projektből. Ezek a részek voltak, a teljesség igénye nélkül: a túlzott biztonságosság, az események túlnaplózása, a rendszer vég nélküli skálázhatósága és a bonyolult rendszerterv. Lényegében megritkították a Multics fájának lombkoronáját. Ez lett a Unix. Az egyszerűsítés abban állt még, hogy bizonyos részeket, főleg a file I/O-t és annak adminisztrációját nem assemblyben, hanem valamivel magasabb szintű nyelven, C-ben valósították meg. A PDP 7-es és az egy hónapos fejlesztési idő nem igaz. Megvan az eredeti forrás, egy hónap alatt senki nem képes ilyen volumenű munka elvégzésére. Ez csak a legendárium része. Ahogy a PDP-7 is. Ott van a forrásban, hogy PDP 11 volt a célgép.


Küzdesz, mint disznó a jégen, csak az a gond, hogy nincs elég eszed, és ezt a hiányosságodat nyers agresszióval próbálod pótolni.

jan. 9. 13:14
Hasznos számodra ez a válasz?
 17/19 anonim ***** válasza:
56%
"Küzdesz, mint disznó a jégen, csak az a gond, hogy nincs elég eszed, és ezt a hiányosságodat nyers agresszióval próbálod pótolni." -> mondod te. Shol nem volt aggresszív a válaszom. A Tied viszont az. Már nem is egy válaszodat törölték ez miatt.
jan. 9. 20:41
Hasznos számodra ez a válasz?
 18/19 anonim ***** válasza:
55%
Ugye jelenti mindenki egypipás delfipapa összes válaszát, összes profilját?
jan. 10. 19:46
Hasznos számodra ez a válasz?
 19/19 anonim ***** válasza:
26%
Mekiben a sültkrumpli sütésnél nagyon hasznos lesz.
jan. 12. 16:21
Hasznos számodra ez a válasz?
1 2

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!