Diskuze: Zapálení programátoři

Volná diskuze Zapálení programátoři

Avatar
LOLCODE
Neregistrovaný
Avatar
LOLCODE:

Zdravím,
hledám někoho do páru, anebo tým, jenž by přijal zkušeného programátora. Zatím jsem nenarazil na tým skýtající volná místa, kterýžto by se neskládal ze začínajících 11-13ti letých dětí... V zahraničí mám kontraktů dost, leč uvítal bych rozhovory v rodném jazyce...

 
Odpovědět 25.11.2013 17:44
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na LOLCODE
Inoue Yūki:

Asi by to chtělo víc informací o sobě, například jazyk, ve kterém pracuješ, svoje dovednosti a představy o týmu.

Nahoru Odpovědět  +2 25.11.2013 17:48
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Inoue Yūki
LOLCODE:

Na jazyku nezáleží. Nejsem na webový design, jinak nemám problém s ničím... Nejraději se hrabu v kernelu, portech (nejraději pracuji v ASM) atd. C/C++, D/D2, Ruby,... Vím, že existuje 1200 jazyků, znám asi 60, ovládám 20 a z toho 8 esoterických - čily 12 které se skutečně dají použít. Ty pak opravdu do podrobna. Většinu používám každý den... S webem nemám žádný problém, jen jak píši - nejsem dobrý na webový design...

 
Nahoru Odpovědět 25.11.2013 18:02
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na LOLCODE
Inoue Yūki:

Na webu se přeci dá programovat i když neumíš webový desing. :) Já na HTML/CSS nesáhl léta a to jsem v oblasti webu.

Nahoru Odpovědět 25.11.2013 18:05
Avatar
LOLCODE
Neregistrovaný
Avatar
LOLCODE:

Jo a nejlépe se orientuji v OOP, dále pak funkcionálním paradigmatu. Kernely znám tyto: Unix (Ware, BSD,...), Linux (Debian, Arch Linux, Crux,...) a DOS (DR-DOS, FreeDOS,...).

 
Nahoru Odpovědět 25.11.2013 18:05
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Inoue Yūki
LOLCODE:

Copak nepíši:

"S webem nemám žádný problém, jen jak píši - nejsem dobrý na webový design..."?
PHP mohu dělat, opravovat RSS atd. + databáze...

 
Nahoru Odpovědět 25.11.2013 18:06
Avatar
Inoue Yūki
Redaktor
Avatar
Nahoru Odpovědět 25.11.2013 18:08
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Inoue Yūki
LOLCODE:

Vskutku?

"Na webu se přeci..."

 
Nahoru Odpovědět 25.11.2013 18:22
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na LOLCODE
Inoue Yūki:

Vskutku. Zkrátka to znělo tak, že se webu vyhýbáš. :D

Nahoru Odpovědět 25.11.2013 18:43
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Inoue Yūki
LOLCODE:

Což pravdou jest... Raději se štrachám ve strojových instrukcích, algoritmech atd. Web a hry jen z nutnosti - bohužel většina zakázek je na ně... :S

 
Nahoru Odpovědět 25.11.2013 18:58
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na LOLCODE
Petr Nymsa:

Možná by bylo fajn, místo vyjmenovávání co vše umíte a neumíte, napsat koho přesněji sháníte :)

Nahoru Odpovědět  +1 25.11.2013 19:16
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Petr Nymsa
LOLCODE:

Kohokoliv, kdo tomu, o čem píši rozumí... S kým se o tom budu bavit, navzájem si budeme pomáhat atd. (Jakože hledat chyby ve svých programech/...) Anebo dostávat úkoly od týmu + hoře...

 
Nahoru Odpovědět 25.11.2013 19:27
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LOLCODE
TomBen:

Tady je malá šance, že se tu zrodí jakýkoli tým.
Chodí sem lidi, kteří programovat neumí, aby se to naučili.
Pak sem chodí lidi, kteří rádi vysvětlují ostatním své názory,
ať už z toho, či onoho důvodu. Pak jsou tady lidi, kteří si tu
doplňují své externí aktivity o odezvu zdejší komunity.
Žádná z těchto skupin není příliš vhodná do týmu nebo k práci
na společném projektu. Za pokus to sice vždycky stojí, ale jak
už jsem napsal na začátku, šance je poměrně malá na to jak velký
devbook je a kolik má uživatelů. Taky mi nějakou dobu trvalo,
než jsem pochopil, že tady nefunguje žádná společná práce. :-)

Nahoru Odpovědět  +3 25.11.2013 20:32
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na TomBen
Inoue Yūki:

Já myslím, že to tu není s náma až tak zlý a že za vhodných podmínek by to i šlo. Záleží na lidech.

Nahoru Odpovědět 25.11.2013 20:34
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na TomBen
LOLCODE:

To je sice hezké - ale kde jinde hledat? Tady tohle bude na první straně v Googlu...

 
Nahoru Odpovědět 25.11.2013 20:36
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na LOLCODE
Inoue Yūki:

Zkus jiné potrály, například Webtrh, nebo JPW.

Nahoru Odpovědět 25.11.2013 20:37
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Inoue Yūki
LOLCODE:

Jo - některé inzerce jsem zkusil - zatím 0 výsledek...

 
Nahoru Odpovědět 25.11.2013 20:39
Avatar
Inoue Yūki
Redaktor
Avatar
Odpovídá na LOLCODE
Inoue Yūki:

Chce to čekat, nebo zkus sám odpovědět na nějaké inzeráty. Tým se taky nevytvoří přes noc.

Nahoru Odpovědět 25.11.2013 20:41
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Inoue Yūki
LOLCODE:

Hledám 2 roky... Ať už práci, tým, anebo dvojici... Sem tam něco krátkodobého bylo, sem tam někoho našel sjem, avšak pořád nemám stabilní práci/příjem, s kým si pokecat na mé úrovni atd...

 
Nahoru Odpovědět 25.11.2013 20:48
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na TomBen
Petr Nymsa:

Kdysi jsme zkoušeli společně projekt - jelikož se mezi sebou neznáme, resp. známe se pouze online, tak kvalita možné spolupráce klesá o 50%. Myslím ,že tu šance by byla, ale je to spíše v menším uzavřeném kruhu a hlavně, vždy se tam mezi sebou 2-3 znají osobně.

Nahoru Odpovědět 25.11.2013 20:51
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Redaktor
Avatar
Odpovídá na LOLCODE
Kit:

Zatím jsi mne nepřesvědčil, že by od tebe mohla přijít seriózní nabídka.

Nahoru Odpovědět 25.11.2013 20:56
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Kit
LOLCODE:

A to proto, že? Chceš se přesvědčit - proč ne, stačí to zkusit... Ať napíši cokoliv - stejně jde o realitu - tu se z písmenek nedozvíš...

 
Nahoru Odpovědět 25.11.2013 21:14
Avatar
David Hynek
Redaktor
Avatar
Odpovídá na LOLCODE
David Hynek:

V 19letech jsem začal podnikat. V 29letech jsem konečně pochopil, že není umění něco vyrobit, ale že uměním je to prodat. V 35letech, jsem konečně našel způsob jak skloubit nabídku a prodej. A teď je mi 39let... Proč to píšu? Že všechno chce čas a hlavně osobní aktivitu.

Nahoru Odpovědět  +2 25.11.2013 21:16
Čím víc vím, tím víc věcí nevím.
Avatar
Odpovídá na LOLCODE
Luboš Běhounek (Satik):

Pošli něco na ukázku, třeba tím někoho nalákáš :) .

S Luckinem (odtud z Devbooku) se mi programovalo dobře, takže se tu někdo na společné programování sehnat dá, ale už nebyl dlouho na icq, asi má teď plnou hlavu školy :( .

Já bych klidně s někým programoval, ale asi bych ti nevyhovoval, baví mě programovat především hry :)

Nahoru Odpovědět 25.11.2013 21:18
:)
Avatar
LOLCODE
Neregistrovaný
Avatar
LOLCODE:

To je blbost - to bych mohl poslat kde co. Ale OK - tak třeba ovladač pro přechod do chráněného režimu:

ReadKey:

        jmp short .read

.modifier:

        mov byte [shift], 1

.read:

        in al, 0x60                      ; Obtain scancode form Keyboart I/O Port

        cmp al, 0
        jle short .read
        cmp al, 0x2A
        je short .modifier
        cmp al, 0x36
        je short .modifier

        push ax
        mov al, 0
        out 0x60, al
        pop ax

        push ax
        mov ah, 0

        cmp byte [shift], 0
        je short .noModifier

        mov si, ModKeyMap
        mov byte [shift], 0
        jmp short .done

.noModifier:

        mov si, KeyMap

.done:

        add si, ax
        add si, ax
        pop ax

        mov al, byte [si]

        ret

shift db 0

ReadLine:

        pusha
        mov ah, 0xE

.readKey:

        call ReadKey

        cmp al, 0xD
        je short .done

        int 0x10

        jmp short .readKey

.done:

        mov ah, 0xE
        mov al, 0xA
        int 0x10
        mov al, 0xD
        int 0x10

        popa
        ret

KeyMap dw 0, 27, '+', 'ě', 'š', 'č', 'ř', 'ž', 'ý', 'á', 'í', 'é', '=', 0, 8, 9, 'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', 'o', 'p', 'ú', ')', 13, 0, 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'ů', '§', ';', 0, 1, 'y', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '-', 0, 0, 0, ' '
ModKeyMap dw 0, 0, 27, '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 0, 8, 9, 'Q', 'W', 'E', 'R', 'T', 'Z', 'U', 'I', 'O', 'P', '/', '(', 13, 0, 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', '"', '!', '°', 0, 1, 'Y', 'X', 'C', 'V', 'B', 'N', 'M', '?', ':', '_', 0, 0, 0, ' '

Není hotovo - zatím řeším Unicode čtení a vykreslování...

 
Nahoru Odpovědět 25.11.2013 21:24
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

LOLCODE:
Možná by stálo za to uvést třeba i tvůj věk (možná jsi ho uvedl a já si toho nevšiml, pak se omlouvám) a třeba ukázat nějaký tvůj projekt, pokud jsi nějaký tvořil. Aby lidi měli nějakou ukázku toho, co opravdu umíš.

Dá se asi říci, že jsem před nějakou dobou (roky) řešil podobný problém jako ty. Vyřešil jsem to tak, že jsem stvořil osobní stránky a začal zveřejňovat některé mé pokusy (aplikace) a diskutovat na některých fórech. Ono se pak ti lidé podobného ražení občas nějak najdou, ale ani tak to nemusí dopadnout na týmovou spolupráci.

P.S.
Škoda, že se nevyznáš ve Windows kernelu.

Nahoru Odpovědět 25.11.2013 21:30
2 + 2 = 5 for extremely large values of 2
Avatar
LOLCODE
Neregistrovaný
Avatar
LOLCODE:

VBR:

bits 16

Boot:

        mov ax, 1984
        mov ds, ax

        mov ah, 0x42
        mov dl, 0x80
        mov si, .params
        int 0x13

        jc WriteError

        jmp 32:0

.params:

        dw 16
        dw 1
        dd 512
        dq 1

WriteError:

        mov si, error
        mov ah, 0xE
        mov cx, 29

.writeChar:

        lodsb
        int 0x10
        loop .writeChar

.done:

        mov ah, 0
        int 0x16
        mov ax, 0
        int 0x19

error db "Fatal Error! Press any key..."
times 510-($-$$) db 0
dw 0xAA55
 
Nahoru Odpovědět 25.11.2013 21:32
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na LOLCODE
Petr Nymsa:

Osobně nemůžu moc do toho kecat :) Jsem přeci jen stále sš student, ale jak řekl Martin Dráb osobní stránky, publikování projektů na fórech apod. po chvilce přináší první ovoce.

Nejen mě se stává, že mi sem tma chodí nabídky, zdejší články mi i pomohli se dostat do programu Microsoft Student Partner. Takže pošlete co máte, a třeba někoho zaujmete :).

Na druhou stranu si osobně myslím, že se v dnešní době hledá asi hodně málo lidí co se hrabou v ASM apod. Mnohem více nabídek na práci činí weby a moderní jazyky jako C#, Java a poté třeba C++

Nahoru Odpovědět 25.11.2013 21:36
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

Jinak jestli to chápu dobře, tak ten Assembler, co jsi zveřejnil, načte jeden řádek z klávesnice. Takže nevím, proč tomu říkáš "ovladač pro přechod do chráněného režimu". Ovladačem bych názýval program/modul, který je vykonáván v rámci jádra nějakého operačního systému.

Jinak je fajn, že to zkoušíš s I/O portama. Možná by pro tvé účely stačilo použít přerušení 16h (aspoň doufám, že jej lze použít i mimo DOS, ale už jsem to dělal před hodně dlouhou dobou), které ti dá nejen scan kód, ale i ASCII kód.

Jinak nevím, zda by nebylo lepší dát spíš něco normálnějšího, protože bych neřekl, že tu bude velké množství lidí, co někdy dělali v DOSu či v reálném režimu procesoru.

Nahoru Odpovědět 25.11.2013 21:43
2 + 2 = 5 for extremely large values of 2
Avatar
Kit
Redaktor
Avatar
Odpovídá na LOLCODE
Kit:

Možná kdybys tady místo výpisu z reverzního assembleru raději poslal něco z toho, co jsi sám napsal, bylo by to lepší.

Nahoru Odpovědět 25.11.2013 21:47
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Kit
LOLCODE:

To jsem sám napsal - bez jakýchkoliv zdrojů... Vrtule - chráněný režim se skládá z mnoha ovladačů - napsal jsem, že je to ovladač pro přechod do chráněného režimu - a není? A v chráněném režimu nelze používat BIOS - to co tam mám je jen provizorní - tam ještě ovladače nemám. Všechny si je vymýšlím a študuji jak to funguje...

 
Nahoru Odpovědět 25.11.2013 21:55
Avatar
Martin Dráb
Redaktor
Avatar
Odpovídá na LOLCODE
Martin Dráb:

Pokud je to ovladač sloužící k přechodu do chráněného režimu, tak pořád můžeš BIOS využívat, dokud do chráněného režimu nepřejdeš. Plus, pokud bych měl brát tento tvůj argument úplně vážně, tak tam používáš přerušení 10h, což je také záležitost BIOSu. Dalo by se to případně řešit zápisem do segmentu 0xB800.

Jinak, ten tvůj kód je 16bitový. V chráněném režimu se ale vykonává kód 32bitový (i pointery jsou 32bitové, resp. 48bitové, uvažujeme-li i jejich segmentovou část). Samozřejmě se dá dále pokračovat do režimu 64bitového, byl-li by zájem.

Jinak věta "chráněný režim se skládá ze spousty ovladačů" mi přijde taková divná, ale možná mám špatnou definici pojmu ovldač.

Reálný režim je fajn v tom, že se v něm programuje relativně jednoduše (proti režimu chráněnému, neexistuje-li OS s příslušným rozhraním a ovladači), protože BIOS některé funkce docela obaluje (např. přístup k disku). I Windows stráví v rámci bootování docela dost času v reálném režimu (mají tam i jednoduchý NTFS parser), k přepnutí do chárněného dochází někde při provádění kódu boot loaderu (soubor bootmgr).

Ale záleží, čeho tím chceš dosáhnout, no. Pro účely učení je to hezké cvičení, si takto hrát v těchto režimech, kam se človětk jinak prakticky nedostane. Plus je zajímavé si u toho přečíst intelské manuály, aby člověk věděl, co ty procesory doopravdy umí. Ale v praxi se to asi moc nevyužije, možná tak v nějakých embedded zařízeních a tam bych řekl, že se používají (stále) hlavně ARMy či jiné architektury.

Nahoru Odpovědět 25.11.2013 22:12
2 + 2 = 5 for extremely large values of 2
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

Kit: to klidně mohl napsat sám. Na tohle návody jsou. Prakticky stačí si jen najít seznam služeb BIOSu a jejich rozhraní. Takových příruček je několik (ATHelp, Ralph Brown's Interrupt List, něco je i na Wiki). A pak už jen trocha času a trpělivosti.

Nahoru Odpovědět  +1 25.11.2013 22:14
2 + 2 = 5 for extremely large values of 2
Avatar
Kit
Redaktor
Avatar
Odpovídá na Martin Dráb
Kit:

Vlastně mohl. Už podle těch chyb se dá odvodit, že na tom alespoň nějakou práci odvedl.

Nahoru Odpovědět 25.11.2013 22:19
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Martin Dráb
LOLCODE:

Ale kdeže. Chráněný režim vznikl spolu s Firmware. Dnes se HW starají sami o sebe. Každý disk má CPU atd. Takže RT systém je takový, který pracuje přímo s fyzickou pamětí. Takže chráněný režim je takový, kdy pracujeme s HW nepřímo... Například pomocí portů atd. Kdy každý HW má svou instrukční sadu - sadu příkazů, které na portu poslouchá a vykonává je sám - sám sebe zná mnohem lépe, takže se vyhne poškozeným sektorům, rozvrhne správně data, jelikož uprostřed jsou clustery zkuštěné a dat se tam vejde méně, oproti krajům, kam se toho vejde více - clustery jsou dál od sebe... Jak jsem psal - funkce zdaleka nemám všechny, takže tam vskutku používám přerušení do BIOSu. Každopádně multitasking již mám, stránkování z části také - chybí již jen 32 BIT adresace... Dokud nemám vytvořenou haldu atd., tak těžko mohu adresovat 32 BIT. Každopádně dnes není možné pracovat s HW přímo, RT se virtualizuje... Rozhodně tedy nepracuji v reálném režimu - spíše něco mezi chráněným a RT - což je ten virtuální režim... Takže ano - nastavuji tam registr "data segment" atp. Jenže ten multitasking je až v kernelu - ne ve VBR - ukaž mi chráněné VBR a budeš bůh...

Práce jsem na tom odvedl sakra moc - protože i ten BIOS je můj... :D Chyby jsou v samotných kódech kláves - to ještě dolazuji. + řeším jak udělat správně modifikaci kláves - Ctrl atd.

 
Nahoru Odpovědět 25.11.2013 23:04
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Martin Dráb
LOLCODE:

Jediné co jsem použil, byl manuál k mé mateřské desce... Vyžádal jsem si i instrukční sadu. Ostatně na tomto se tedy mohu ukázat. Jelikož znám dokonale každou součástku HW, instrukční sady Intel a AMD, registry atd. Komunikace s HW neprobíhá jen přes IO porty, avšak i přes různá interface, a vůbec čímkoliv, co se najde ve sběrnici, chipsetu atp. Sběrnici jsem využil i k multitaskingu. Ten totiž řeším vytvořením preprocesoru, který si vyzobne určité instrukce. A aby se dalo komunikovat s CPU, dám mu tam program, který čte data ze sběrnice - atd. A celkově o tomto bych mohl psát eseje... :D

 
Nahoru Odpovědět 25.11.2013 23:13
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

Myslel jsem chráněný režim procesoru (386+). O tom, že s HW se komunikuje (nejen) přes I/O porty a že se dá říci, že mají vlastní instrukce, vím. Ale o tom můj příspěvek nebyl. Pokud definuješ chráněný režim tak, že se pracuje s HW přes I/O porty, tak jsme se úplně minuli... a třeba MBR od Windows také běží v tomto chráněném režimu (neb komunikuje s I/O porty odpovídajícími klávesnici, resp. 8042 keyboard controlleru).

Zda-li Windowsí VBR komunikuje nějak přes I/O porty (a tedy s HW nepřímo, což podle tvé definice znamená, že běží v chráněném režimu), nevím, nereverzil jsem jej. Vím jen, že pro čtení z disku využívá BIOS INT 13h. To je asi tak všechno.

Jinak pokud máš tady někoho najít do týmu, tak by bylo lepší, kdybys ukázal nějaký normálnější kód, protože tyhle věci bude znát málokdo. Já jsem si v DOSu a reálném režimu procesoru hrál před deseti lety a vyjma I/O portů klávesnice a pokusů s přímou komunikací s diskem (přes I/O porty) jsem se tímhle nezabýval. Zajímaly mě věci jako přesnější měření času, detekce stisknutí více kláves současně a rychlejší grafika/textový výstup, než prostředí Borland Pascalu 7 nabízí. V praxi jsem se s reálným režimem procesoru setkal jenom asi jednou... a to byla hodně výjimečná situace. Osobně si myslím, že tyhle věci jsou sice zajímavé, ale dnes ne moc užitečné. Pokud chceš programovat něco, co běží alespoň v jádře nějakého majoritního OS, nepotřebuješ znát I/O porty (pokud neprogramuješ HW ovladač) a podobné věci.

Jinak nevím, proč sem zavádíš realtime systém (jestli to znamená ta zkratka RT), nějak mi to nepřijde relevantní a z kontextu předchozích příspěvků jsem nepochopil, že o to se zrovna pokoušíš.

Nahoru Odpovědět 25.11.2013 23:50
2 + 2 = 5 for extremely large values of 2
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Martin Dráb
LOLCODE:

Nechápu proč ze mě děláte vola. Definuji to naprosto správně. Chráněný režim je takový, kdy nemáme přístup k BIOSu, nepracujeme přímo s fyzickými jednotkami (ale logickými - halda, LBA, 32/64 BIT adresace, ...), a protože není přístup k BIOSu, tak si všechny ovladače musíme napsat sami. Vlastní přechod:

mov  eax, cr0
inc  eax
mov  cr0, eax

"CR0[edit]
The CR0 32-bit register has 6 bits that are of interest to us. The low 5 bits of the CR0 register, and the highest bit. Here is a representation of CR0:
CR0: |PG|----RESERVED----|NE|ET|TS|EM|MP|PE|

PE
Bit 0. The Protected Environment flag. This flag puts the system into protected mode when set.
MP
Bit 1. The Monitor Coprocessor flag. This flag controls the operation of the "WAIT" instruction.
EM
Bit 2. The Emulate flag. When this flag is set, coprocessor instructions will generate an exception.
TS
Bit 3. The Task Switched flag. This flag is set automatically when the processor switches to a new task.
ET
Bit 4. The Extension Type flag. ET (also called "R") tells us which type of coprocessor is installed. If ET = 0, an 80287 is installed. if ET = 1, an 80387 is installed.
NE
Bit 5. New exceptions. If this flag is clear, FPU exceptions arrive as interrupts. If set, as exceptions.
PG
Bit 31. The Paging flag. When this flag is set, memory paging is enabled. We will talk more about that in a second.
CR2[edit]
CR2 contains a value called the Page Fault Linear Address (PFLA). When a page fault occurs, the address that access was attempted on is stored in CR2.
CR3[edit]
The upper 20 bits of CR3 are called the Page Directory Base Register (PDBR). The PDBR holds the physical address of the page directory.
CR4[edit]
CR4 contains several flags controlling advanced features of the processor."
Atd.

Jako RT pak definuji takový přístup, kdy se musíme starat o HW přímo. Naštěstí se výrobci PC nakonec rozhodli pro vnitřní správu - což byl onen BIOS. Dnes už BIOS tento význam nemá (Base Input / Output System), je nepotřebný a to o čem si lidé myslí, že je to BIOS, už je vpodstatě jen takové shrnutí všech HW. Protože jak jsem psal - dnes se RT nedá aplikovat - disku nelze upřesnit sektor, hlavu cluster...

A jestli budu využívat plných 32 BIT, anebo segmentovat (a používat jen části 32/64 BIT) - to přeci mohu i v PT... Schválně si zkuste upřesnit datový segment, programový segment atd. Jinak ano - normálně se použije pouze macro - pro tvorbu EFI (executable)/ob­jektovéhosoubo­ru...

A nač mi bude se bavit o nečem jiném, kyž se chci s tím člověkem hrabat v tomto? Tedy samozřejmě, že ovládám vyšší jazyky, leč potřeboval bych právě tyto znalosti...

 
Nahoru Odpovědět 26.11.2013 6:20
Avatar
Kit
Redaktor
Avatar
Odpovídá na LOLCODE
Kit:

My z tebe neděláme vola. Na to si vystačíš sám :)

Pleteš si sektory a clustery na disku, používáš vlastní názvosloví, nepojmenováváš konstanty ve zdrojácích, nekomentuješ zdrojáky. Myslíš si, že tím přitáhneš někoho, kdo tomu rozumí?

Nahoru Odpovědět  +5 26.11.2013 6:38
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Salieri
Člen
Avatar
Salieri:

Něco asi ví.... :D ale nebral bych ho vážně hned podle nicku :D
sorry můj názor :D

Nahoru Odpovědět  +1 26.11.2013 6:45
Hlavní zlo? **Školství a Matematika**!
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Kit
LOLCODE:

Kdo si plete sektory? Cluster - dráha, hlava patří k nějakému povrchu a sektor je část disku... (1 / 2^x) Nevidím důvod k pojmenovávání naprosto jasných částí... To bych mohl komentovat to, když jsi jdu čistit zuby - vezmu si kartáček atd. Kde jsem si vymyslel zkratku/...? RT se používá. A jinak? LBA - logical block addressing atd. Nechápu, proč se hádáte o jasných věcech. Tak to je - a jinak to být nemůže... :D

 
Nahoru Odpovědět 26.11.2013 7:15
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Salieri
LOLCODE:

Co je na tom špatné - zvolit si za nick esoterický jazyk? Chef, FUCK4, K, R,... Všechny tyhle jazyky jsou definovány jako úplné - lze v nich tedy plnohodnotně programovat. Proč to tedy snižuje váhu čehokoliv?

 
Nahoru Odpovědět 26.11.2013 7:21
Avatar
Kit
Redaktor
Avatar
Odpovídá na LOLCODE
Kit:

Cluster je datový blok v souborovém systému. S diskem nemusí mít nic společného.

mov cx, 29

Myslíš si, že je hodně lidí kromě nás dvou, kteří vědí, proč je tam zrovna číslo 29? A že hodně lidí to číslo změní, když se změní ta hláška? Přitom tam to číslo vůbec být nemusí.

Nahoru Odpovědět 26.11.2013 7:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Kit
LOLCODE:

Sorry - jo - cylindr - ale snad na mýlku mám právo - ne? Zaměnil jsem 1 slovo - bože... Jinak - s hláškou počítám tak jak stojí a leží. Nejsem vůl, abych nezměnil rozsah LOOP instrukce. Je to všechno dočasné - sám nevím, co vše vlastně dám do VBR... Mohl jsem načíst funkci Write (mou chráněnou), která píše do null znaku atp.

 
Nahoru Odpovědět 26.11.2013 7:34
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na LOLCODE
David Čápka:

Matěji, přečti si tu debatu shora dolů a potom možná pochopíš, že chyba není v tom, že jsou lidé ve tvém týmu moc mladí, ale v tom, že nejsi schopný uznat vlastní chybu a spolupracovat. Že jsi to ty jsem poznal od 1. příspěvku, schválně jsem to nechal, co z toho bude. Nezklamal jsi nás.

Editováno 26.11.2013 8:26
Nahoru Odpovědět  +7 26.11.2013 8:26
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Petr Nymsa
Redaktor
Avatar
Odpovídá na David Čápka
Petr Nymsa:

Taky jsem nad tím uvažoval :)

Nahoru Odpovědět  +1 26.11.2013 8:40
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Panda38
Redaktor
Avatar
Panda38:

Chráněný režim procesoru = ochrana paměti, portů a jiných zdrojů, aby aplikace nemohly nežádoucím způsobem ovlivňovat kernel či jiné aplikace. Kernel rozhoduje jaké zdroje a jakým způsobem mohou programy (či drivery) používat. Může povolit i přímý přístup k některým portům. BIOS se v protect módu nevyužívá, protože vyžaduje plný přístup k procesoru a nedala by se zajistit ochrana. Výjimkou je BIOS PnP a BIOS grafické karty (s omezením) - SVGA grafický mód.

Zkratka VBR se spíš používá pro variable-bit-rate než pro boot record :-)

LOLCODE práci v protect módu jsem řešil tady u 32bitového kernelu v assembleru (nedokončeno): http://litos.wz.cz/index_cz.htm

Editováno 26.11.2013 9:59
 
Nahoru Odpovědět  +2 26.11.2013 9:55
Avatar
Kit
Redaktor
Avatar
Odpovídá na LOLCODE
Kit:

Spíš se divím, že ses namáhal počítat s tím, že je to 29 znaků. U jednoho řetězce je to celkem fuk, ale kdybys měl v programu takových řetězců 50 a v nich UTF-8... Kromě toho assembler sám umí změřit délku řetězce a na délku přeloženého programu to nemá vůbec žádný vliv, protože se to počítá už v době překladu a to číslo 29 se tam dosadí automaticky.

Jde o to, že máš nevhodné návyky, které ti budou bránit v psaní větších aplikací. Dokud si udržíš v hlavě celý program, tak ti to bude fungovat. Jakmile však porušíš některou ze závislostí, třeba jen opomenutím, program se začne divně chovat a ty budeš zbytečně dlouho hledat chybu.

Nahoru Odpovědět 26.11.2013 10:09
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Martin Dráb
Redaktor
Avatar
Martin Dráb:

Chráněný režim je takový, kdy nemáme přístup k BIOSu, nepracujeme přímo s
fyzickými jednotkami (ale logickými - halda, LBA, 32/64 BIT adresace, ...),
a protože není přístup k BIOSu, tak si všechny ovladače musíme napsat sami.

To mi přijde jako dost zvláštní definice. Nemožnost používat přerušení BIOSu bych viděl jako důsledek stavu, ve kterém se procesor nachází (nejen fakt, že prvních 32 vektorů přerušení je vyhrazeno pro jiné účely). Dá se ale říci, že v chráněném režimu (tom nejznámějším 32bitovém) pracujeme přímo s fyzickou pamětí (pokud chceme a nehrajeme si se segmentací či stránkováním) a nevidím moc rozdíl v přístupu k HW přes I/O porty, který jsi mj. v některém z předchozích příspěvků označil za pčístup nepřímý.

Co se týče speciálnosti LBA v chráněném režimu, myslíš-li přístup k disku, tak tam žádné specifikum nevidím. Lze adresovat přes CHS i LBA.

Poznámku o haldě jsem moc nepochopil. Nevím, jak souvisí s chráněným režimem, bereme-li haldu jako datovou strukturu umožňující přidělování bloků paměti proměnlivé velikosti. Samozřejmě, že chráněný režim procesoru jí dovoluje přidat některé vlastnosti, ale není problém ji stvořit i v režimu reálném např. (viz funkce LocalAlloc a GlobalAlloc z Windows API, které pokládám za pozůstatky s 16bitové éry).

Že se spleteš v jednom slově by nikomu nevadilo, kdybyses sesnažil jednat tak suverénně a předstírat, že věcem perfektně rozumíš (asi neříkám přesně, co chci vyjádit, ale lépe to asi neumím). A když se spleteš vícekrát, tak ti pak není rozumět. Nemyslím si, že bysis tímto přístupem úkol nějak znesnadňoval. Je už samo o sobě těžké najít někoho, kdo se třeba zabývá systémovým programováním pro Windows. A ČR je malá země.

Když jsem začínal já, což znamenalo dost hrabání v "DOSu" (proto mám tyhle věci rád, je to taková nostalgie), stvořil jsem osobní stránky (za účelem pochytit základy hTML) a snažil se zveřejňovat své výtvory, které aspoň za něco málo stály. A chodil jsem samozřejmě na fóra (tehdy byl dost v kurzu Builder.cz). A myslím, že jsem suverénní přístup nepraktikoval. Řekl bych, že co se týče suverénního přístupu existuje 10 druhů lidí: ti, co na něj mají právo, protože jsou prostě excelentní, a ti, co na něj právo nemají (možná nebudou mít nikdy, možná jej časem získají), protože nejsou excelentní.

A myslím, že tím bych tuto diskuzi (aspoň z mé strany k tobě) ukončil.

Nahoru Odpovědět  +1 26.11.2013 10:36
2 + 2 = 5 for extremely large values of 2
Avatar
LOLCODE
Neregistrovaný
Avatar
LOLCODE:

Nepřišel jsem se bavit o ničem. Schválně jsem nepsal nic konkrétního. Nechtěl jsem aby z toho vznikla soutěž znalostí. Nechápu, jak jsem mohl někoho zklamat/nezklamat - když chci jen najít nějaké své místo, nikoliv cokoliv prokazovat. Nechápu ani, že tu navrhuje kdokoliv uzamčení - cílem tohoto tématu bylo sehnat člověka/lidi, ne debata/... Dokola a dokola nechápete, že schválně nejsem konkrétní a nechávám si věci pro sebe. Nechci se tu šířit se svojí prací - s ničím, co byste napadali a já si to musel obhajovat. To mě nebaví a ztrácím tak akorát čas. Devbook jsem zvolil pro zmíněný fakt - že se nachází na první stránce výsledků Google... Dále nechápete, že mě absolutně neznáte. Všude mi všichni říkají, jak jsem tvrdohlavý atp. Vůbec to není pravda - vyčkávám dokud se nějaký názor skutečně nepotvrdí - to znamená, že když ano, tak si ho zapamatuji... Ne - končím - nechci se obhajovat. Nikdy jsem nechtěl tohle - jak píši - cílem bylo najít člověka/lidi co rozumí PC a baví je se o tom bavit. Píšete mi, ať vám necpu své názory - necpěte vy mě ty své a bude klid. Já že nezklamal - to spíš vy... Pokud chcete pouze rozvíjet gramotnost - prosím. Tady to ale je jak píši - soutěž znalostí a toho, kdo má pravdu - to skutečně nechci...

 
Nahoru Odpovědět 26.11.2013 14:40
Avatar
Kit
Redaktor
Avatar
Odpovídá na LOLCODE
Kit:

Však jsi takové lidi našel. Návrh na zamknutí jsem asi přehlédl. Můžeš se zaregistrovat a účastnit se i dalších debat.

Nahoru Odpovědět  +1 26.11.2013 14:52
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
LOLCODE
Neregistrovaný
Avatar
Odpovídá na Kit
LOLCODE:

A k čemu to? Vždyť tu můj názor nemá žádnou váhu - respektive bych si jej musel obhajovat, pak obhajovat tu obhajobu a tak dokola...

K tomu tvému - copak by se snad ta funkce dala použít na jiný string? Velikost VBR je vždy 512 byte - takže nechápu co řešíš. Jak jsem psal - kernel má pak obecnější funkci, která vypisuje dokud nenarazí na null znak...

Panda38:

Z části máš také pravdu. Ale bohužel není pravda, že se dnes dá pracovat přímo s daným HW. Jak jsem psal - každý HW má dnes vlastní Firmware - čily není možné aby jsi určil přesnou dráhu, sektor a hlavu. Stejně tak není možné ovlivnit přímo DVD mechaniku atd. Moje definice je polovičatá jakož i tvá. Oba dohromady máme pravdu. Každý HW se sám o sobě chrání + kernel vytváří nepropustné prostředí které sám řídí. Však jsem psal, že mi chybí globální halda, že multitasking již mám a jak ho řeším. Vpodstatě jsem to tvé již napsal - jen to není hned patrné. Napsal jsem, že jsem vytvořil preprocesor, který si vyzobne určité instrukce. Každopádně jde o ten preprocesor - ten právě řídí to, aby se nadalo poškodit to dole. Ať už přepsání 2 programových prostorů atp. Zkrátka všichni myslíme totéž, ale za každou cenu se tu všichni musíme napadat. Místo toho, abyste uznali, že jsme na tom podobně, že každý to přibližně chápe atd. Přeci není důležité vědět přesná čísla atd. - hlavně to chápat...

 
Nahoru Odpovědět 26.11.2013 15:05
Avatar
David Čápka
Tým ITnetwork
Avatar
David Čápka:

Z diskuze se stalo to, co se všemi diskuzemi od tohoto autora, proto ji zavírám.

Nahoru Odpovědět  +1 26.11.2013 15:19
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Tato diskuze byla označena moderátorem jako nekonstruktivní a myslíme si, že nemá pro veřejnost příliš vysokou hodnotu. Členy můžete samozřejmě stále oslovit soukromě a to formou zpráv nebo chatu.

Zobrazeno 53 zpráv z 53.