[ programer15 @ 17.02.2011. 15:26 ] @
Dosao sam na temu i hocu da napravim os ali samo u asm znaci nesto najprostije sto moze biti
[ laky123 @ 04.05.2011. 10:19 ] @
i jasi li ga napravio mozes li ga pokazati??
[ programer15 @ 15.10.2011. 07:43 ] @
Evo ga:
nazvao sam ga BlackDragon
- command line
- pokretanje programa .bin
- fat12
- 16 BIT
trenutno radim na razvoju gui-a za njega
i tako kako vam se cini!!!

[ burex @ 15.10.2011. 15:41 ] @
Source, ili bar IMG te diskete za virtuelnu masinu možeš da postaviš?
[ programer15 @ 15.10.2011. 18:43 ] @
Evo img diskete:
http://www.megaupload.com/?d=QIBLZYYH

[Ovu poruku je menjao programer15 dana 15.10.2011. u 20:01 GMT+1]
[ burex @ 15.10.2011. 20:34 ] @
Izgledalo mi je sumnjivo, ali nisam ništa hteo reći pre nego što si dostavio IMG datoteku.

Bilo bi lepo da ne kršiš licencu MikeOS-a:
Code:
==================================================================
MikeOS -- License
==================================================================


Copyright (C) 2006 - 2011 MikeOS Developers -- http://mikeos.berlios.de

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    * Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.

    * Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

    * Neither the name MikeOS nor the names of any MikeOS contributors
      may be used to endorse or promote products derived from this software
      without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY MIKEOS DEVELOPERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL MIKEOS DEVELOPERS BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


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


Za onoga ko ne razume, dotični je skinuo, blago izmenio, zatim iskompajlirao MikeOS koji se nalazi na BerliOS sajtu (ili neki njegov derivat):
http://mikeos.berlios.de/

Taj OS podržava:
Citat:
A text-mode dialog and menu-driven interface
Boots from a floppy disk, CD-ROM or USB key
Over 60 system calls for use by third-party programs
File manager, text editor, image viewer, game...
Includes a BASIC interpreter with 27 instructions
PC speaker sound and serial terminal connection


Pokušao sam pokrenuti običan BAS fajl sa Milanovog image-a (calc.bas - primer kalkulatora, dolazi uz MikeOS), i naravno, pokrenuo se putem ugrađenog Basic interpretera bez problema.
Najbliži fork MikeOS-a koji odgovara milanovom (početni logo, npr.) sam našao na GitHub-u:
https://github.com/vladkorotnev/CompOS/tree/master/disk_images

Usput, ne vidim razlog zašto se ova tema nalazi na "Izdvojenim temama" na glavnoj stranici ES-a.
[ programer15 @ 16.10.2011. 00:33 ] @
Kao prvo pitao sam Mike-a da editujem njegov os!!!
na njemu sam se ucio!!!
kad drugo
Citat:
Najbliži fork MikeOS-a koji odgovara milanovom (početni logo, npr.) sam našao na GitHub-u:
https://github.com/vladkorotnev/CompOS/tree/master/disk_images

ja sam pravio program za prikazivanje loga pri bootu!!!
[ burex @ 16.10.2011. 02:53 ] @
Ne moraš da pitaš Mike-a da bi mu editovao OS (za šta sumnjam da si uradio, iskreno), jer je source code dostupan svima i praktično je namenjen za dalju izmenu i forkovanje. Ipak, potrebno je da zadržiš priloženu licencu i da pojasniš drugima na forumu odakle originalni OS potiče kako bi i oni mogli da se s njime zabavljaju, a ne da misle da si ga ti napravio od nule, kako kontekst ove teme predlaže. Štaviše, stavio si ceo copyright na svoje ime, što nije ispravno.

Citat:
programer15: ja sam pravio program za prikazivanje loga pri bootu!!!

Program za učitavanje i prikazivanje PCX fajlova je ugrađen i u samom MikeOS-u, za šta sumnjam da si napravio, a i u pitanju je jednostavno pozivanje funkcije za prikazivanje PCX fajla koje ne verujem da je raketna nauka.

GitHub u commit-ovima ima sledeću poruku od strane autora ove derivacije MikeOS-a:
Citat:
This is the fork of MikeOS, customized. Has bootlogo. Graphical bootlogo. The OS for COMPuters, not for "Cool hot things with OVER 9000 GHZ and DDR3" :)
Original read me below.

Sincerely,
Vladislav Korotnev
==================================================================
MikeOS -- Open source 16-bit operating system for x86 PCs
Copyright (C) 2006 - 2011 MikeOS Developers -- see doc/LICENSE.TXT

https://github.com/vladkorotne...31d9cfbeee499e23b16269835f1329
Kao što vidiš, autor je naveo odakle OS potiče i napisao je da je on napravio "program" za grafički boot logo. Tvoje ime ne vidim nigde u commit-ima u ovom git repository-ju, osim ako se zoveš Vladislav.

Nije nikakav problem što si uzeo da čačkaš kôd od drugih hobby OS-eva, štaviše, trebalo bi više ljudi da se zainteresuje za ovu granu IT-a i da idu tvojim stopama, ali imaj malo poštovanja prema drugim autorima i ne pokušavaj da predstavljaš tuđi rad kao svoj.

Sve najbolje
[ programer15 @ 16.10.2011. 08:45 ] @
Citat:
Ne moraš da pitaš Mike-a da bi mu editovao OS (za šta sumnjam da si uradio, iskreno)

ako sumljas slikao sam:

evo ga promjenio sam da li je sada ok!

[ flighter_022 @ 16.10.2011. 10:43 ] @
Nije problem sto si editovao, cak je i pohvalno, medjutim ne vidim da ti je on odobrio da uklonis njegovo ime i predstavis rad kao svoj.
[ programer15 @ 16.10.2011. 11:21 ] @
nisam mislio da ga prestavim kao svoj vec samo dio
ma ne htjeo sam da stavim vec nisam bio na ovom podforumu godinu dana, pa reko slikao sam na brzinu pa zato naravno i u stranici sto pravim za os stavio sam mike-ovo ime i sve njegove ljude sto su ga razvijali, izvinjavam se!
[ mserifov @ 16.10.2011. 14:18 ] @
Ja mislim da programer15 treba biti javno linčovan i za opšti primjer svima banovan sa ovog foruma.
[ burex @ 16.10.2011. 14:23 ] @
Ja mislim da ti malo troluješ i da ovo nije MadZone.
[ dejan s @ 16.10.2011. 19:59 ] @
Not sure if trolling or just stupid
[ mserifov @ 16.10.2011. 20:27 ] @
Neznam šta je trolovanje, predpostavljam jos jedna u nizu giga mega fancy riječi koje kruže sada. Naravno engleski znam i znam da me naziv kolega forumaš glupim i neka sam nema veze meni ne smeta. Mada ne moraš pisati na tuđem jeziku budu muško poštuj svoj jezik i reci mi ovako da sam glup.
I smatram da si ti stupid jer ne prepoznaješ ironiju.

Moj post je bio ironičan.

Navalili ste na dečka sa brda sa dola. Momak radi nešto pozitivno uči se bori se ide naprijed. Vidim nitko ne komentarise sta je pozitivno ili negativno u tome što je konkretno uradio. Jel njegovo programiranje valja ili ne valja.

Što se mene tiče zamljak svaka čast. Bitno je da ne gledaš TV po cjeli dan, ne ideš u kladionicu nego da sjediš za računarom i radiš nešto pametno. Pa bilo to i kopiranje i editovanje nečijeg tuđeg OS-a. Bitno je da sa svojim mozgom ideš naprijed.
[ Goran Rakić @ 16.10.2011. 20:39 ] @
Šta je tačno izmenio?

Da li je to jedino prepravka "Copyright (c) MikeOS Developers" u "Copyright (c) Ime Prezime" ili ima i drugih dopuna?

Ne verujem da je imao bilo kakvu lošu nameru, ali eto sada će naučiti i da čak i kada ti autor dozvoli da proučavaš i praviš izmene, ne možeš da mu uzmeš autorstvo i umesto njegovog imena upišeš svoje.
[ mserifov @ 16.10.2011. 20:57 ] @
To je tačno ne smije da prisvaja nečij intelektualni rad tek tako.
[ burex @ 17.10.2011. 00:11 ] @
Citat:
Goran Rakić: Šta je tačno izmenio?

Meni liči da je to najveća izmena. Kao što sam rekao, što je izmenio - super, i treba, samo napred, ali kontekst teme je takav da u jednom trenutku čovek pita kako napraviti OS u ASM-u veoma jednostavan, i par meseci kasnije se javi sa "Gotovo!". Nadam se da me razumete po ovom pitanju. Ako mu to nije bila namera, ok, ali ja sam naleteo na njegov Copyright i u OS shell-u, ali i prilikom pokretanja CHKDISK.BIN programa pa mi je tako izgledalo.

Citat:
Vidim nitko ne komentarise sta je pozitivno ili negativno u tome što je konkretno uradio. Jel njegovo programiranje valja ili ne valja.

Na sajtu MikeOS-a, ili sa GitHub linka što sam dao, probaj pokrenuti neki image u virtuelnoj mašini, i videćeš da je sistem identičan. Zbog toga, ne znam šta tu valja a šta ne valja (a i source code nije dostupan). Ja bi lično voleo da kaže kakve je konkretne izmene napravio i kako, pa da neki kritikuju (tj. se*u :) ) ali i da nauče nešto novo, što je i poenta foruma, jel'? :)

Citat:
mserifov: Moj post je bio ironičan.

Nekako mi se više čini sarkastičan, otud i optužbe za trolovanje ;)
[ svedok @ 17.10.2011. 04:52 ] @
I poenta ovih prepiski je..?
[ mserifov @ 17.10.2011. 07:26 ] @
Molim vas malo offtopic:

Znači kako sam razumio trolovanje bar na ES- forumu znači da ako u bilo kojem trenutku izneseš stav koji je na suprot stavovima sudionika teme. Možeš da budeš trol i možeš da budeš glup. Ako je tako meni je drago da sam trol :) (glup)
[ Srđan Pavlović @ 17.10.2011. 12:39 ] @
Hm, koliko vidim burex se ovde u ovoj temi korektno ponasa,
lepo je ukazao coveku na probleme sa kopirajtom, dobronamerno
mu skrenuo paznju, a i sasvim tacno pretpostavio odake ovaj
OS zapravo dolazi, i koje su izmene otprilike vrsene.

Nego, pokretac teme bi mogao da nam objasni svima koje je jos
izmene vrsio, zasto se uopste zainteresovao da pravi OS, da li je
savladao asembler i na koje probleme je tu naisao, itd, itd... ova
tema moze biti konstruktivna ako neki prihvate argumente, ostave
svoju sujetu po strani, i pokazu sta su sami uradili.


[Ovu poruku je menjao Srđan Pavlović dana 17.10.2011. u 21:47 GMT+1]
[ Srđan Pavlović @ 17.10.2011. 18:03 ] @
Citat:
ako sumljas slikao sam:

SumNJa, sumNJati, sumNJaš... nema slova LJ nigde.

[ loginkiller @ 17.10.2011. 20:01 ] @
Postoji li mogucnost da se os napise cisto u C (bez upotrebe asm ili sa veoma malo upotrebe asm)?
[ burex @ 17.10.2011. 21:44 ] @
Citat:
loginkiller: cisto u C (bez upotrebe asm)?

Ne
Citat:
loginkiller: Postoji li mogucnost da se os napise cisto u C sa veoma malo upotrebe asm)?

Da, međutim, nećeš daleko stići sa time... To sam i ja jednoga dana shvatio - ne može bez ASM-a. Moraš da razumeš arhitekturu sa kojom radiš i kako da je kontrolišeš na sasvim niskom nivou, u suprotnom ništa od operativnog sistema. Ipak, nemoj ni slučajno da se obeshrabriš, ASM uopšte ne mora da bude težak! Radeći sa ASM-om ćeš shvatiti koliko je računar zapravo glupa mašina i koliko zavisi od tebe da nešto napraviš od nje, a i moći ćeš da se hvališ narodu kako si zakoračio u matrix

http://www.skynet.ie/~darkstar/assembler/
[ mikikg @ 17.10.2011. 22:46 ] @
Da se i ja malkice ukljucim u temu (mali off-topic) ... nisam bas toliko strucan za PC OS ali znam podosta o embeded OS-ovima.

Moj pokojni otac je napravio 8bit embeded operativni sistem koji staje u nekih 500-600 bajtova!!! Taj tkz OS ima interaktivni terminal (preko RS232), radio je kao interpreter i "self-compiler" istovremeno. Kasnije verzije su imale i minijaturni multy-tasking, floating-point matematiku, I2C, RS232, RS485, interupti ... (<4KB ROM).

U pitanju je FORTH baziran OS za PIC mikrokontrolere (pocevsi od PIC16F84). Poenta je u tome sto su samo bukvalno 7-8 osnovnih FORTH reci (baratanje stack-om, jump-ovi i neke logicke operacije) bile pisane u ASM dok je ostatak OS-a pisan u "samom sebi" tj FORTH-u. FORTH kao programski jezik ima fantasticne osobine bas za ovakve primene.

Sto se brzine tice, FORTH je brzi od C-a i malo sporiji od ASM sto ga cini veoma pogodnim za ovako limitirana HW okruzenja. Da ne spominjem prednosti koje pruza interpreter tokom razvoja korisnickog programa.

Evo nekoliko linkova za PIC FORTH:
http://www.rfc1149.net/devel/picforth.html
http://pic18forth.sourceforge.net/
http://tinymicros.com/wiki/PICForth

Uopsteno o FORTH-u:
http://www.forth.org/
http://en.wikipedia.org/wiki/Forth_(programming_language)

Sa druge strane, ko je imao/koristio ZX81 sigurno se seca njegovog BASIC-a koji je po meni bio najlepse napisan BASIC ikada! To "cudo tehnike" (80-te godine prosloga veka) je bilo smesteno u 1KB ROM-a!!! Poredjenja radi, evo ovaj text sto pisem zauzima ~1.5KB, pa vi vidite koliko je to malo
[ X Files @ 18.10.2011. 06:42 ] @
Citat:
To "cudo tehnike" (80-te godine prosloga veka) je bilo smesteno u 1KB ROM-a!!!

Možda grešim, ali da li baš u 1KB? Relativno dugo sam programirao u 6502 asemblerima, i pored razumevanja koliko 1KB može da bude velik, mislim da upotrebljiv Basic može da stane tek u 8KB, a neka varijanta za "po kući" u upola manje... Mislim da samo definicija BASIC naredbi zauzima barem 1/3 KB.



[ dejanet @ 18.10.2011. 08:03 ] @
Na hp kalkulatorima FORTH je bio perfektno resenje..
[ mikikg @ 18.10.2011. 09:35 ] @
@X_Files u pravu si ... imao je 8KB ROM-a i 1KB RAM-a.
http://en.wikipedia.org/wiki/ZX81
[ X Files @ 18.10.2011. 09:41 ] @
Evo, piše i da je stajalo u 4KB, za prethodnu verziju:
http://en.wikipedia.org/wiki/Sinclair_BASIC

Svejedno, mnogo moći u malo prostora...
[ loginkiller @ 18.10.2011. 20:24 ] @
Citat:
X Files: Evo, piše i da je stajalo u 4KB, za prethodnu verziju:
http://en.wikipedia.org/wiki/Sinclair_BASIC

Svejedno, mnogo moći u malo prostora...


Posedujem tu "mocnu" ZX81 masinu.

Citat:
burex: Da, međutim, nećeš daleko stići sa time... To sam i ja jednoga dana shvatio - ne može bez ASM-a. Moraš da razumeš arhitekturu sa kojom radiš i kako da je kontrolišeš na sasvim niskom nivou, u suprotnom ništa od operativnog sistema. Ipak, nemoj ni slučajno da se obeshrabriš, ASM uopšte ne mora da bude težak! Radeći sa ASM-om ćeš shvatiti koliko je računar zapravo glupa mašina i koliko zavisi od tebe da nešto napraviš od nje, a i moći ćeš da se hvališ narodu kako si zakoračio u matrix

http://www.skynet.ie/~darkstar/assembler/


Necu se obeshrabriti, to je sigurno. Nije mi do hvaljenja, nego vise da zadovoljim dusu i radoznalost. Inace imam iskustva sa mikrokontrolerima PIC i Atmel. Krecem sa asm cim nadjem viska vremena

P.S. Obican narod misli da si zakoracio u matrix onog trenutka kad pokrenes dos shell, udjes u system32 i ukucas dir xD (to sam namerno radio, kako bi mogao da naplatim posao koji malo vremenski traje , a oni gledaju sa divljenjem kako komp lista sve fajlove xD )
[ YU2AX @ 19.10.2011. 03:04 ] @
Citat:
X Files: Možda grešim, ali da li baš u 1KB? Relativno dugo sam programirao u 6502 asemblerima, i pored razumevanja koliko 1KB može da bude velik, mislim da upotrebljiv Basic može da stane tek u 8KB, a neka varijanta za "po kući" u upola manje... Mislim da samo definicija BASIC naredbi zauzima barem 1/3 KB.

Zar 6502 nije bio u Comodore-u dok je u Spectrumu bio neki od Z80, ili sam mozda pobrkao loncice, davno je to bilo?

Citat:
loginkiller
Inace imam iskustva sa mikrokontrolerima PIC i Atmel. Krecem sa asm cim nadjem viska vremena

Asembler je ok ali nemoj previse vremena da trosis uceci ga, daleko komotnije i bolje ti je da koristis C ili Pascal cak i za PIC i Atmel.
[ X Files @ 19.10.2011. 05:09 ] @
Citat:
Zar 6502 nije bio u Comodore-u dok je u Spectrumu bio neki od Z80, ili sam mozda pobrkao loncice, davno je to bilo?

C64 je imao 6510 procesor, neki derivat osnovnog 6502. Na njima sam i pogramirao. Na Spectrumu (tj Z80) nisam, jer ga nisam ni imao. Poenta je bila koliko može da stane u 1KB kod 8-bitnih procesora.
[ loginkiller @ 19.10.2011. 09:32 ] @
Citat:
YU2AX: Asembler je ok ali nemoj previse vremena da trosis uceci ga, daleko komotnije i bolje ti je da koristis C ili Pascal cak i za PIC i Atmel.


Sa C veoma dobro baratam i koristim ga za racunare i mikrokontrolere. Asm sam vec sinoc poceo da proucavam.

[Ovu poruku je menjao loginkiller dana 19.10.2011. u 10:59 GMT+1]

[Ovu poruku je menjao loginkiller dana 19.10.2011. u 11:00 GMT+1]
[ bigvlada @ 19.10.2011. 12:43 ] @
Postojale su knjige i časopisi sa igrama za zx-81 koje su stajale u 1Kb RAM-a. Tipa imate kvadrat koji treba da predstavlja avion koji leti sa leva na desno. Pri dnu ekrana imate jedan veći i jedan manji kvadrat koji uz puno mašte glume top. Top ispaljuje jedan mali kvadrat (đule) kojim je trebalo pogoditi avion.

Sa proširenjem memorije od 16Kb su se mogle igrati i neke igre sa spectruma, ručnim prepravljanjem bejzika. I nije bilo ovih zajebavanja sa torrentima i virtuelnim drajvovima nego lepo uzmeš i sam ukucaš celu igru preko ONE tastature i zatim je snimiš na kasetu.
[ dragancesu @ 20.10.2011. 10:54 ] @
@loginkiller

ASM je osnova ali je C za programiranje OS. Uostalom i unix krece sa asm i ostalo je c. Koliko sam razumeo svaki unix ima u osnovi oko 1000 linija pisanih u asm, ostalo je c. Asm je za osnovne funkcije za komunikaciju sa hadverom.
[ ac1bd4 @ 20.10.2011. 11:07 ] @
Nije baš tolika nauka napisati prost OS. Svaki student na IR smeru na ETFu u drugoj godini kada još ništa ne zna mora da napiše svoj OS. Ne mnogo složen ali ipak dovoljan da se razume suština. Sama osnova mora da se napiše u asembleru i za to je zapravo najbitnije da poznaješ arhitekturu, dok za ostatak može C i čak C++. Naravno najbolje performanse ćeš postići sa asemblerom ali to samo pod uslovom da znaš dobro da programiraš u asembleru u suprotnom možda bi ipak dobar kompajler bolje odradio posao.
[ RF MasterX @ 22.10.2011. 15:31 ] @
Za svakog ko bi da se oproba u pisanju OS-eva ova alatka je izuzetetna za
experimentisanje cak ima i neke primere: emu8086

site: http://www.emu8086.com/

dl link: http://www.emu8086.com/d/emu8086v408r.exe

[ dejan_osipaonica @ 22.10.2011. 22:00 ] @
OS napisan u asembleru ,jednostavan ,bazicna upotreba racunara.

Pa domaci racunar GALAKSIJA ( iz nekadasnje nam SFRJ) kernel i basic su stali u rom 4KB i uz to sam racunar nije imao video cip za prikaz grafike nego je i to radio Z80 pocesor uz nesto malo ram memorije. Da bi u pojedinim procesorski zavisnim operacijama dobili brze obrade podataka,kalkulacija ili cega god vec bilo je moguce iskljuciti grafiku(softverski) dok se to ne obavi i ponovo ukljuciti. Jednostavno konstruktor galaksije Voja Antonic je odradio fenomenalni posao oko citavog projekta. I cak preradio izvorni microsoft basic da stane na manje mesta :)

Kasnije su se pojavili nadogradnje u vidu bolje grafike i dodatnih romova sto za prosirenje basica sto za podrsku grafickom rezimu i zvuku.
Inace je citav projekat i danas zanimljiv za izgradnju i obrazovne svrhe i delovi za racunar bez tastature izlaze oko 10-15 eur
[ Zlatni_bg @ 24.10.2011. 00:21 ] @
Evo, konkretno nesto na ovu temu...

Pisanje, danas, OS-a u ASM-u je kao da si u kuci dosao i zapalio vatru na sred kuhinje, sa namerom da tu kuvas rucak, a da ti pored stoji sporet. Istina, ASM je mnogo brzi od C, kompajlirani kod zauzima mnogo manje memorije, itd, ima tu dosta prednosti, ali komplikovanost... Sam Windows je pisan u C. Onaj ko zeli da pise OS u ASM-u, nadam se da radi to samo u edukativne svrhe ili ako mu je brzina VEOMA bitna i nadam se da zna sta radi, kao i koje muke ga cekaju.

Ono sto ja mislim da je idealno resenje je pisanje boot loadera u ASM-u (nije neka velika nauka), mozda cak i koriscenje GRUB-a (ali ipak je sladje kad sve sam napravis :) ), potom pocetak pravljenja kernela u ASM (prvih par linija), dalje pravljenje funkcija u C fajlu, koje ce ASM koristiti. Postupak je taj da napisete C kod, kompajlirate ga binarno i nezavisno od sistema (!). Pozivate funkcije iz C fajla uz pomoc ASM-a (i dalje to nije skroz funkcionalno do sl koraka). Da bi sve to radilo, potrebno je da linkujete ta dva fajla. Secam se da je na linuxu to radila komanda "ld". Kada sve to odradite, imacete nesto sto se moze nazvati zapocetim operativnim sistemom.

Najvise paznje obratite kod boot loadinga, tu umeju biti najvece greske. Ukoliko sam pogresio u gornjem tekstu, molio bih da me neko ispravi, proslo je poprilicno vremena od kad sam radio nesto ovakvo, ali ja mislim da je to proces :)

Onaj ko misli da ne utrosi vise od par dana na pisanje osnovnih komandi, nek ni ne pokusava da radi nesto ovako. Takodje, oni koji znaju C++, a ne znaju C, razlika nije toliko mala, nisu samo dva plusa u nazivu. "cout" koji vam je radio posao ne postoji, potrebno je pisati direktno u video memoriju. Sve sto se ispisuje na ekranu, potrebno je pisati u video memoriju. To je samo pocetak nocne more koja vas ceka... :)
[ gajo2 @ 25.10.2011. 15:07 ] @
Citat:
Zlatni_bg:  Istina, ASM je mnogo brzi od C, kompajlirani kod zauzima mnogo manje memorije, itd, ima tu dosta prednosti, ali komplikovanost...
Koliko je meni jasno, to više nije tačno. Moderni C kompajleri mnogo bolje znaju arhitekturu računara na kojem kompajliraš i znaju neke trikove koje možda čovek ne zna, npr. da neka instrukcija odradi u jednom koraku ono za šta čovek mora 10 linija koda da napiše. Takođe ima tu i raznih analiza, uklanjanje mtvog koda i smeštanje više korišćenih delova bliže jedni drugima...
[ Zlatni_bg @ 25.10.2011. 19:13 ] @
Pa sigurno nece moci da uradi bolje nego covek, jer je covek sve to i napravio. "Trikove", kako ih ti zoves, je te kompajlere naucio covek. Jednostavno ce ti prebaciti tvoj kod iz C jezika u ovom slucaju u binarni, nece menjati tvoj redosled izvrsavanja komandi, niti pisati funkcije tamo gde si ti ponavljao kod i mogao da ustedis na prostoru. To sto si ti naveo jeste moguce, ali u slucaju da das debilu da programira u ASM-u, a iskusnom programeru C. Jednostavno, ASM ti nece ubacivati nikakav dodatni kod pored tvog u binarni fajl koji ces dobiti, a C hoce.

To da C kompajleri poznaju bolje arhitekturu procesora je tacno, ali iz drugih razloga. Jer je C pravljen kao jezik, ciji ce source kod aplikacije moci da se kompajlira na mnostvu razlicitih arhitektura, i da na istim radi, a ne da radi samo na arhitekturi za koju je napisan.
Mislim da sam bio potpuno jasan u svom postu, svako ko dobro poznaje arhitekturu procesora, uvek ce u assembleru napisati kod koji ce zauzimati manje memorije nego kod pisan u C-u. Takodje sam napisao da su problemi razlicitost arhitektura i teskoca programiranja u assembleru. No, vecina ljudi koji ovo citaju sa zeljom da nauce da napisu svoj operativni sistem, poseduju kucne racunare za koji bi pisali taj OS, koji poseduju veliku brzinu obrade podataka i razlika u brzini izvrsavanja kompajliranog koda ASM-a i C-a im je potpuno zanemarljiva.

Kao dodatni argument na sve ovo sto sam izneo, dodao bih jos i KolibriOS, koji je u potpunosti napisan u assembleru. Poseduje GUI, mnostvo programa u sebi, veliki broj klijent i server aplikacija, i sve to staje u tek 3 MB.

http://www.youtube.com/watch?v=v4EkcZgEcVo - KolibriOS

Citat:
smeštanje više korišćenih delova bliže jedni drugima...


Bi li mi mogao pojasniti ovo?

Pozdrav.

[Ovu poruku je menjao Zlatni_bg dana 25.10.2011. u 20:26 GMT+1]
[ dejan_osipaonica @ 25.10.2011. 21:25 ] @
Zlatni_bg

Treba samo napomenuti takodje da bi asemblerski kod bio efikasniji,brzi ili kako god vec zelite, kod je potrebno da pise iskusan programer koji sto bolje poznaje hardver na kome ce se doticni kod izvrsavati. Programer pocetnik u asembleru bi obicno pavio kod koji je u najboljem slucaju podjednakih performansi C kompajlera. I kao st oje ranije vec receno od efikasnosti koda najvise dobitaka najlakse primeti kod sporijih procesora odnosno danas kod mikrokontrolera
[ gajo2 @ 26.10.2011. 18:21 ] @
Citat:
Zlatni_bg: Bi li mi mogao pojasniti ovo?
Ja nisam asembler programer, tako da možda nisam u pravu. Čini mi se da na 8086 procesoru moraš da napraviš far jump ako je deo koda koji želiš izvršiti dovoljno daleko. Ne znam da li se ovo izmenilo na novim procesorima, ali u svakom slučaju analizom koda možeš utvrditi koji delovi moraju biti bliži jedni drugima i tako izbaciti nepotrebne far jumpove. Takve stvari čovek svakako može sam da uradi, ali mnogo sporije i sa većom verovatnoćom da će negde pogrešiti.
[ RexGrammer @ 27.10.2011. 17:02 ] @
Izvinite sto upadam, ALI!

Svaki jezik se na kraju prevodu na masinski bio on C, C++, neki drugij jezik, ili ASM
Mozes bilo koji fajl napravljen u bilo kom jeziku rastaviti na ASM
Samo kompajliras u kom hoces jeziku i rastavis ga pomocu programa poput OllyDBG (od Oleh-a Yushucha) [verovatno sam lose napisao ime nmvz]

A to da je ASM brzi od C-a: diskutabilno

Iskusni programeri su u proslom veku tezili da naprave jezik koji moze da se kompajlira na bilo kojoj masini nevazno od konfiguracije. Nema potrebe sada degradirati stepen napretka.

Ustvari najverovatnije jeste par milisekundi na 10 megabajta. IRELEVANTNO

Ono sto sam ustvari hteo da pitam u kom si ASM-u radio?
[ Prethorian @ 12.11.2011. 21:37 ] @
Heh, autor teme je postavio temu o pravljenju OS-a (recimo u ASM-u) i ako iskljucimo njegov pokusaj plagijata i grubog krsenja licence, tema je otisla u drugom smeru - uporedjivanje jezika :)

BTW kad je autor vec izabrao OS koji ce da predstavi kao svoj, gde nadje najgori FS na svetu FAT16 :)

BTW2 kad je Bill Gates mogao da drpi CP/M i napravi command.com i prvi DOS sto onda ne bi mogao autor da se malkice igra :)
[ the_tosic @ 12.11.2011. 21:45 ] @
Pa fat16 je najprostiji za implementaciju (posle fat12 :) )
[ mikikg @ 19.11.2011. 04:10 ] @
Ja sam za to da taj buduci OS bude u Monochrome 64 x 44 pixels kao ZX81 :)
Treba mi za PIC18x :)
[ Jordan90 @ 25.01.2012. 09:16 ] @
Ljudi iscitao sam sve postove neke i vise puta i jel moze sad jedno pitanje?
Radim u C-u (DevC++),pa jel moze neko da mi da savet kako da pocnem da programiram OS!Nesto najjednostavnije,cisto za sebe!
Bio bih zahvalan!
[ the_tosic @ 25.01.2012. 09:22 ] @
Ako hoces odmah neke "opipljive" rezultate, bez da 100 godina upoznajes hardver na kome radis, probaj ovo: http://www.brokenthorn.com/Resources/OSDevIndex.html