Kako podesiti pametne telefone i računare. Informativni portal

Operativni sistem sličan UNIX-u: pisanje kernela u C. Ručno konfigurisanje Linux kernela

Kako komponovati kreirajte semantičko jezgro stranica je ispravna.


Dobar dan, dragi prijatelji čitaoci! Danas u ovom članku želim raspravljati o pitanju ispravne kompilacije semantičke jezgre web stranice i bloga. Uostalom, ispravno sastavljeno semantičko jezgro je zalog uspješna promocija resurs u tražilice... Činjenica je da semantičko jezgro utiče na prirodu promocije.

Pre nego što razmotrimo pitanje sastavljanja semantičkog jezgra, želeo bih da razjasnim šta je svejedno semantičko jezgro?

dakle, semantičko jezgro sajta - popis ključnih riječi koje karakteriziraju glavnu temu izvora. SEO gurui ga sastavljaju tako da se ista stranica pojavljuje na pretraživačima u top pozicije Rezultati pretrage za različite ključne upite koji su sastavljeni i uključeni u listu semantičkog jezgra. Dakle, to znači da je ispravna kompilacija semantičkog jezgra garancija efektivna promocija stranice u tražilicama za različite upite za pretraživanje, ali međusobno slične.

Kompilacija semantičkog jezgra sajta i bloga je suštinski različita. I općenito, semantičko jezgro se koristi za blog samo zato što drugi naziv za ovo vjerovatno još nije izmišljen.

Stoga, pogledajmo razlike između jezgre bloga i web stranice i već se odlučimo za metodologiju za njihovo sastavljanje. Semantičko jezgro bloga nije lista ključnih riječi koje karakteriziraju temu bloga; ovo je lista ključnih riječi za koje je planirana promocija. Osjećate li razliku? Ako ne, pročitajte ovo još nekoliko puta dok ne shvatite.

Kako sastaviti semantičko jezgro

Sada pogledajmo izbliza. Ako je na sajtu semantičko jezgro je sastavljeno i uključeno u strukturu sajta. To semantičko jezgro bloga je kompilacija ključnih riječi u notepad programu ili općenito zabilježenih u notebook-u prema kojem je bloger odlučio da se pomakne na prve pozicije pretraživača. Odnosno, srž bloga se može opisati kao plan promocije pretraživača i ništa više. Sve je jednostavno, vjerovatno seošnici namjerno napudraju mozak svim ovim pojmovima da bi početnik u izgradnji sajtova i blogovanju pobjegao od svega ovoga. U svakom slučaju…

I tako, semantičko jezgro stranice je sastavljeno otprilike na sljedeći način! Na primjer, trebate promovirati web stranicu posvećenu prodaji cipela na internetu na vrh rezultata pretraživanja. Najprikladniji su izračunati za ovu stranicu. ključne riječi... Na primjer, korištenje usluge - Yandex. I tako unesemo zahtjev u servis, dobijemo ovako nešto.

Prodaja cipela će najvjerovatnije biti uključena u naslov same stranice. A ostalo će biti zapisano u kompajlirano semantičko jezgro stranice.

Na primjer, ako web stranica prodaje dječju obuću, onda riječ "prodaja dječje obuće" treba uključiti u jezgro, a ako web stranica (online trgovina) nije specijalizirana za veleprodaju cipela, onda nema smisla uključiti ključna riječ "veleprodaja obuće" u srži ... Na kraju krajeva, ovo je uzaludan unaprijed upit za pretragu... U stvari, sastavljanje semantičkog jezgra za web lokaciju je vrlo složena aktivnost koja zahtijeva mnogo znanja i vještina.

Kako kreirati semantičko jezgro vašeg bloga

Blog je druga stvar! On ne mora tako kategorički formirati jezgro. Dovoljno je sastaviti ključne riječi koje definiraju temu bloga i za njih napisati optimizirane članke.

Nije neophodno da blog promoviše glavne stranice, jer blog voli elektronski dnevnik možete kreirati hiljade stranica i promovirati svaku stranicu pod nekoliko ključni upiti... Kako biste saznali kako pravilno formirati ključne riječi, pročitajte članak o odabiru ključnih riječi. Nakon što napravite listu ključnih riječi, počnite pisati optimizirane članke za njih. To je sve odabir ključnih riječi i pisanje optimiziranih članaka je kompilacija semantičkog jezgra.

Ipak, postoji dodatak za WordPress blogove. Sve u jednom SEO paketu koji treba da registruje listu ključnih reči koje karakterišu temu vašeg bloga. Ovaj dodatak je veoma koristan za promocija na pretraživačima Vaš blog. Dakle, obavezno ga instalirajte i konfigurirajte ovaj dodatak na admin panelu.

Na slici ću pokazati gde da se registruje lista ključnih reči za jezgro bloga. Ovdje je glavni meni dodataka, ovdje morate registrovati ključne riječi za koje planirate promovirati u pretraživačima.

Dakle, da biste ispravno propisali sve ove odjeljke, morate slijediti određeni algoritam.

U naslov glavne stranice napišite naziv vašeg bloga i 1 - 2 ključne riječi za koje želite ići na vrh.

U opisu je potrebno napraviti i nekoliko rečenica u kojima također navedete 2-3 ključne riječi za koje želite doći do vrha.

Takođe u koloni "Ključne riječi" trebate odabrati između 10 - 15 ključnih riječi za koje također želite doći do prvih pozicija u rezultatima pretrage.

Želim napomenuti da ste u ovoj rubrici postavili promociju glavne stranice. Ako odaberete prave ključne riječi onda početna stranicaće se kretati gore u pretraživačima za date ključne riječi.

Ali nakon instaliranja dodatka, slično polje će biti dodano u zapise, gdje već možete konfigurirati i pisati različite ključne riječi za svaku zasebnu stranicu.

Mislim da sam vam danas rekao kako da sastavite semantičko jezgro vašeg bloga i vaše stranice.

Sastaviti semantičko jezgro za blog znači planirati promociju određene riječi... Nemojte biti preopterećeni sastavljanjem ključnih riječi i pisanjem relevantnih članaka na svoj blog. Ovo je prva faza interna optimizacija vaš blog.

Pa, ne opraštam se od vas, dragi prijatelji! Do sljedećeg puta u novim člancima!

Od sada ću sve više pisati o internoj optimizaciji, jer je ona veoma važna. 80% uspješne promocije ovisi o internoj optimizaciji bloga, a 20% ovisi o tome vanjski faktori... Ne žurite na berze i kupujte linkove do svog bloga. Umjesto toga, fokusirajte se na internu prilagodbu vašeg bloga. Da ne biste propustili korisne članke o internoj optimizaciji, ne zaboravite

Izbor najboljih zanimljivosti, pogledajte i opustite se!

Kada počnete čitati tutorijale za promociju web stranice, uvijek počinje stvaranjem semantičke jezgre. Za početnike je ovaj prvi korak najteži. Pored toga što nije odmah jasno šta je ovo semantičko jezgro, još nije jasno koju svrhu ima i kako ga pravilno kreirati.

U ovom članku ćemo govoriti o tome kako ispravno kreirati semantičku jezgru web-mjesta. Takođe ćete naučiti šta je to i zašto se pravi. Zapravo, nema ničeg kompliciranog i teškog u konceptu semantičkog jezgra. Hajde da to shvatimo.

Još niko nije odgovorio na pitanje šta je takvo semantičko jezgro jednostavnim riječima kao što ćemo sada uraditi. Dakle, semantičko jezgro stranice je lista ključnih fraza pomoću kojih će se promovirati. Sve! Cijela poenta koncepta u jednoj kratkoj, jasnoj rečenici. I ne treba ništa blatiti pametnim terminima.

Ako uđete dublje u pojam, onda je semantika nauka koja se bavi semantičkim popunjavanjem leksičkih jedinica. Jednostavno rečeno, semantika proučava značenje nečega. V SEO semantika jezgro čini jasnim značenje cijele stranice, bilo kojeg odjeljka ili jednog odabranog članka. Ovo postaje jasno pretraživaču, posetiocu, svim programerima koji će raditi sa sajtom.

Semantičko jezgro je, bez pretjerivanja, temelj svakog napretka.

Kako koristiti semantičko jezgro i čemu služi

Funkcije semantičkog jezgra uključuju sljedeće aspekte promocije web stranice:

  • Najviše glavni zadatak semantičko jezgro je razumijevanje strukture stranice i njene punoće. Gledajući ga, možete zamisliti koje će dijelove stranica imati i koji će članci biti u svakoj sekciji. Tako su svi nedostaci i neugodnosti konstrukcije odmah vidljivi i mogu se otkloniti u ranoj fazi.
  • Semantika definira vektor sadržaja. Zahvaljujući boljem razumijevanju strukture stranice, možete odabrati najrelevantnije i najefikasnije ključne fraze.
  • Semantičko jezgro je plan sadržaja stranice za dugi niz godina. Svaki put kada trebate pisati članke, možete pogledati tamo i vidjeti koji sadržaj je planiran i u kojem dijelu stranice bi trebao biti.
  • Ako je planirano plaćena promocija stranica, na primjer, zbog kontekstualnog oglašavanja, tada zahvaljujući semantičkoj jezgri možete izračunati cijenu promocije.

Kako napraviti semantičko jezgro

Prvo morate odlučiti gdje ćete dobiti ključne fraze za kernel. Najbolji izvor za početnike je usluga Yandex WordPStat, koja pokazuje koliko je puta mjesečno određeni upit unet u Yandex pretragu. WordStat ima razne korisne funkcije, na primjer, možete filtrirati upite prema regiji ili uređaju, gledati slične upite i još mnogo toga. I što je najvažnije, potpuno je besplatno. Više o ovome.

Možete koristiti razne plaćeni programi, ali za početnike je WordStat prikladniji, s obzirom na njegovu jednostavnost. Osim toga, pogodan je ne samo za Runet, gdje prevladava Yandex. Ako promovirate web lokaciju unutar CIS-a, onda je možete bezbedno koristiti, a statistika na Google-u će biti otprilike ista.

Glavna suština kreiranja semantičkog jezgra je prikupljanje ključnih fraza koje se nekako uklapaju u temu stranice. Treba ih nekako formalizirati i sistematizirati. Za to su najprikladnije tablice, na primjer Excel, tabele u Google doc ili slično.

A za veću efikasnost, dodatni grafovi se mogu dodati u semantičku jezgru tabele:

  • Naravno, trebalo bi da postoji grafikon sa najključnijim izrazom.
  • Naravno, kolona s nazivom odjeljka stranice u kojoj će se koristiti ova fraza.
  • Možete dodati stupac s meta tagovima naslovom i opisom i odmah napisati naslov i opis za članak koristeći specificiranu ključna fraza... Prvo, odmah će biti jasno o čemu pisati članak, a drugo, onda neće biti potrebe da se zagoneta i izmišlja.
  • Možete napraviti kolonu da označite broj znakova u članku za datu ključnu frazu kako biste bolje razumjeli plan sadržaja.
  • Kada je u pitanju promocija kontekstualno oglašavanje, potrebno je dodati cijenu oglasa za svaki zahtjev.
  • Sve što treba da bude potrebno može se sigurno upisati u tabelu sematskog jezgra. Ne postoji šablon za ovo, tako da možete raditi šta god želite i tamo je zgodno.

Uobičajene greške pri kreiranju semantičkog jezgra

Sada znate kako pravilno kreirati semantičku jezgru web-mjesta. Pogledajmo neke od uobičajenih grešaka SEO-a početnika.

  • Ako jezgro predviđa podjelu stranice u kategorije, onda uobičajena greška je stvaranje dubokih nivoa ugniježđenja. Drugi nivo se preporučuje i ne dalje. Odnosno, možete kreirati naslov, podnaslov, i to je sve, više ga nije moguće dalje dijeliti na manje naslove.
  • Početnici mogu zanemariti niskofrekventni upiti, budući da smatraju da ih je nepraktično koristiti, ipak neće donijeti veliki promet. Ali u stvari, istina je upravo suprotno. Za novu stranicu potrebni su upravo niskofrekventni, nekonkurentni upiti.
  • Ne možete u potpunosti vjerovati servisu s kojim će se ključne fraze izdvojiti. A novajlije rade upravo to. Mašine mogu pogriješiti i izabrati pogrešnu.
  • Nema potrebe da kreirate članak zbog ključne fraze. Ako nađete izraze "hitno prodati kuću" i "brzo prodati kuću", onda nema smisla praviti dva različita članka za njih.

UNIX-ovom operativni sistem zanimljivo za raščlanjivanje, kao i za pisanje vlastitog kernela koji će ispisati poruku. Pa, hoćemo li pisati?

Operativni sistem sličan UNIX-u i pokretanje x86 mašine

Šta je operativni sistem sličan UNIX-u? To je OS pod utjecajem UNIX-a. Ali prije nego krenemo u pisanje kernela za njega, hajde da vidimo kako se mašina pokreće i prenosi kontrolu na kernel.

Većina registara x86 procesora ima dobro definirane vrijednosti nakon uključivanja. Registar pokazivača instrukcija (EIP) sadrži memorijsku adresu za instrukciju koju izvršava procesor. EIP je tvrdo kodiran na vrijednost 0xFFFFFFF0. Dakle, procesor ima jasne instrukcije za fizičku adresu 0xFFFFFFF0, koja je u suštini poslednjih 16 bajtova 32-bitnog adresnog prostora. Ova adresa se zove vektor resetovanja.

Memorijska kartica čipseta sada osigurava da se 0xFFFFFFF0 mapira na određeni dio BIOS, ne RAM. U međuvremenu, BIOS se kopira u RAM za više brz pristup... Ovo se zove sjenčanje. Adresa 0xFFFFFFF0 će sadržati samo instrukciju za odlazak na memorijsku adresu na koju se BIOS kopirao.

Dakle, BIOS kod počinje da se izvršava. BIOS prvo traži uređaj za pokretanje prema konfiguriranom redoslijedu uređaja za pokretanje. Traži određeni magični broj da odredi da li se uređaj može pokrenuti (bajtovi 511 i 512 prvog sektora su 0xAA55).

Nakon što BIOS detektuje uređaj za pokretanje, kopira sadržaj prvog sektora uređaja u njega RAM počevši od fizičke adrese 0x7c00; zatim ide na adresu i izvršava kod koji ste upravo učitali. Ovaj kod se zove bootloader.

Bootloader zatim učitava kernel na fizičkoj adresi 0x100000. Adresa 0x100000 se koristi kao početna adresa za sve velike kernele na x86 mašinama.

Svi x86 procesori pokreću se u pojednostavljenom 16-bitnom načinu tzv prave adrese. GRUB bootloader prebacuje se na 32-bitni zaštićeni način postavljanjem najmanjeg značajnog bita CR0 na 1. Dakle, kernel se pokreće u 32-bitni zaštićeni način.

Imajte na umu da u slučaju otkrivanja Linux kerneli, GRUB će dobiti dnevnik pokretanja i pokrenuti Linux kernel realni mod... I Linux kernel će se prebaciti u zaštićeni način rada.

Šta nam treba?

  • x86 računar (naravno)
  • NASM asembler
  • ld (GNU Linker)
  • Izvor

Pa, bilo bi lijepo imati ideju o tome kako funkcionira OS sličan UNIX-u. Izvorni kod se može naći u Github repozitoriju.

Ulazna tačka i pokretanje kernela

Prvo, napišimo mali fajl u x86 asembleru koji će biti početna tačka za pokretanje kernela. Ovaj fajl će pozvati eksterna funkcija u C, a zatim će zaustaviti tok programa.

Kako možete osigurati da ovaj kod služi kao početna tačka za kernel?

Koristit ćemo linker skriptu koja povezuje objektne datoteke za kreiranje finala izvršnu datoteku jezgra. U ovoj skripti ćemo to eksplicitno naznačiti binarni fajl mora biti učitano na adresi 0x100000. Ova adresa je mjesto gdje bi kernel trebao biti.

Evo koda za sklapanje:

;; kernel.asm bitovi 32; nasm direktiva - 32-bitni odjeljak .text globalni početak extern kmain; kmain je definiran u C-datoteci start: cli; prekidni blok mov esp, stack_space; postavljanje pokazivača steka poziv kmain hlt; odjeljak za zaustavljanje procesora. bss resb 8192; 8KB po steku stack_space:

Prva instrukcija 32 bita nije instrukcija za sastavljanje x86. Ovo je direktiva za NASM asembler koja kaže da mora generirati kod da bi se pokrenuo na procesoru koji radi u 32-bitnom modu. Ovo nije potrebno u našem primjeru, ali jeste dobra praksa- eksplicitno naznačiti takve stvari.

Drugi red počinje odeljkom teksta. Ovdje ćemo smjestiti sav naš kod.

global je još jedna NASM direktiva koja se koristi za postavljanje simbola izvorni kod kao globalni.

kmain je prilagođena funkcija koja će biti definirana u našoj kernel.c datoteci. extern izjavljuje da je funkcija definirana negdje drugdje.

Funkcija start poziva funkciju kmain i zaustavlja CPU naredbom hlt. Prekidi mogu probuditi CPU iz izvršavanja hlt instrukcije. Stoga prvo deaktiviramo prekide pomoću cli instrukcije.

U idealnom slučaju, trebali biste dodijeliti malo memorije za stek i pokazati na njega pomoću pokazivača steka (esp). Međutim, GRUB to radi umjesto nas, a pokazivač steka je već postavljen. Međutim, da bismo bili sigurni, dodijelit ćemo nešto prostora u BSS sekciji i staviti pokazivač steka na početak dodijeljene memorije. Da bismo to učinili, koristimo naredbu resb, koja rezervira memoriju u bajtovima. Nakon toga ostaje oznaka koja pokazuje na rub rezerviranog memorijskog dijela. Prije pozivanja kmain-a, pokazivač steka (esp) se koristi da pokaže na ovaj prostor pomoću naredbe mov.

Kernel u C

U kernel.asm smo pozvali funkciju kmain (). Dakle, C kod će početi da se izvršava u kmain ():

/ * * kernel.c * / void kmain (void) (const char * str = "moje prvo jezgro"; char * vidptr = (char *) 0xb8000; // video memorija počinje ovdje unsigned int i = 0; unsigned int j = 0; / * ova petlja briše ekran * / dok (j< 80 * 25 * 2) { /* пустой символ */ vidptr[j] = " "; /* байт атрибутов */ vidptr = 0x07; j = j + 2; } j = 0; /* в этом цикле строка записывается в видео память */ while(str[j] != "\0") { /* ascii отображение */ vidptr[i] = str[j]; vidptr = 0x07; ++j; i = i + 2; } return; }

* kernel.c

void kmain (praznina)

const char * str = "moj prvi kernel";

unsigned int i = 0;

unsigned int j = 0;

/ * ova petlja briše ekran * /

dok (j< 80 * 25 * 2 ) {

/ * prazan znak * /

vidptr [j] = "";

/ * bajtovi atributa * /

vidptr [j + 1] = 0x07;

j = j + 2;

j = 0;

/ * u ovoj petlji, linija se upisuje u video memoriju * ​​/

dok (str [j]! = "\ 0") (

/ * ascii prikaz * /

vidptr [i] = str [j];

vidptr [i + 1] = 0x07;

i = i + 2;

povratak;

Naš kernel će obrisati ekran i na njega ispisati string "moj prvi kernel".

Prvo, kreiramo vidptr pokazivač koji pokazuje na 0xb8000. Ova adresa je početak video memorije zaštićenog režima. Memorija teksta na ekranu je samo komadić memorije u našem adresnom prostoru. I/O za ekran na memorijskoj kartici počinje od 0xb8000 i podržava 25 linija od 80 ascii znakovi svaki.

Svaki karakterni element u ovoj tekstualnoj memoriji predstavljen je sa 16 bitova (2 bajta), a ne sa 8 bitova (1 bajt) na koje smo navikli. Prvi bajt mora imati prikaz ASCII karaktera. Drugi bajt je bajt atributa. Opisuje formatiranje simbola, uključujući različite atribute kao što je boja.

Za štampanje znaka sa u zelenoj boji na crnoj pozadini, pohranit ćemo znak s u prvi bajt adrese video memorije i vrijednost 0x02 u drugi bajt.

0 je crna pozadina, a 2 zelena.

Ispod je tabela kodova za različite boje:

0 - crna, 1 - plava, 2 - zelena, 3 - cijan, 4 - crvena, 5 - magenta, 6 - smeđa, 7 - svijetlo siva, 8 - tamno siva, 9 - svijetloplava, 10 / a - svijetlo zelena, 11 / b - svijetlo cijan, 12 / c - svijetlocrvena, 13 / d - svijetlo magenta, 14 / e - svijetlo smeđa, 15 / f - bijela.

0 - crna, 1 - plava, 2 - zelena, 3 - cijan, 4 - crvena, 5 - magenta, 6 - smeđa, 7 - svijetlo siva, 8 - tamno siva, 9 - svijetloplava, 10 / a - svijetlo zelena, 11 / b - svijetlo cijan, 12 / c - svijetlo crvena, 13 / d - svijetlo magenta, 14 / e - svijetlo smeđa, 15 / f – bijela.

U našem kernelu ćemo koristiti svijetlosive znakove na crnoj pozadini. Stoga, naš bajt atributa mora biti 0x07.

U prvom while petlja program upisuje null karakter sa atributom 0x07 u svih 80 kolona od 25 redova. Ovo briše ekran.

U drugoj while petlji, znakovi niza "moj prvi kernel" se upisuju u dio video memorije. Za svaki znak, bajt atributa sadrži vrijednost 0x07.

Tako će linija biti prikazana na ekranu.

Spojni dio

Prevodimo kernel.asm i NASM u objektnu datoteku, a zatim koristimo GCC da kompajliramo kernel.c u drugu objektnu datoteku. Sada je naš zadatak da povežemo ove objekte sa izvršnim kernelom za pokretanje.

Da bismo to učinili, koristimo eksplicitnu skriptu povezivača koja se može proslijediti kao argument ld (naš linker).

/ * * link.ld * / OUTPUT_FORMAT (elf32-i386) ULAZ (početak) SEKCIJE (. = 0x100000; .text: (* (. tekst)) .data: (* (. podaci)) .bss: (* ( .bss)))

* link.ld

OUTPUT_FORMAT (elf32 - i386)

ULAZ (početak)

SECTIONS

0x100000;

Tekst: (* (. Tekst))

Podaci: (* (. Podaci))

Bss: (* (. Bss))

Prvo, postavljamo izlazni format izvršne datoteke na 32-bitnu izvršnu datoteku (ELF). ELF - standardni format binarni fajl za Unix sistemi na x86 arhitekturi.

ENTRY uzima jedan argument. On specificira ime simbola, koji bi trebao biti ulazna tačka našeg izvršnog fajla.

SECTIONS je najvažniji dio gdje definiramo oznaku izvršne datoteke. Ovo specificira kako se različite sekcije trebaju kombinirati i gdje će biti postavljene.

V kovrčave zagrade nakon naredbe SECTIONS, znak tačke (.) - predstavlja brojač lokacije.

Brojač lokacija je uvijek inicijaliziran na 0x0 na početku bloka SECTIONS. Može se promijeniti dodjeljivanjem nove vrijednosti.

Kao što je spomenuto, kernel kod mora početi na 0x100000. Dakle, postavili smo brojač lokacije na 0x100000.

Pogledaj u sljedeći red .text: (* (. tekst))

Zvjezdica (*) je poseban znak koji će odgovarati bilo kojem imenu datoteke. To jest, izraz * (. Text) označava sve dijelove ulaznog .texta iz svih ulaznih datoteka.

Dakle, povezivač spaja sve tekstualne sekcije objektnih datoteka u tekstualni dio izvršne datoteke na adresi pohranjenoj u brojaču lokacija. Odjeljak koda izvršne datoteke počinje na 0x100000.

Nakon što linker postavi odeljak za tekstualni izlaz, brojač lokacije je postavljen na 0x1000000 + veličina sekcije za izlaz teksta.

Isto tako, podaci i bss sekcije se spajaju i stavljaju na vrijednosti brojača lokacija.

Grub i Multiboot

Sada su sve datoteke potrebne za izgradnju kernela spremne. Ali pošto nameravamo da učitamo kernel sa koristeći GRUB, potrebna je još jedna stvar.

Postoji standard za dizanje različitih x86 kernela koristeći bootloader koji se zove Multiboot specifikacija.

GRUB će pokrenuti kernel samo ako je u skladu sa Multiboot specifikacijom.

Prema tome, kernel mora sadržavati zaglavlje unutar svojih prvih 8 kilobajta.

Osim toga, ovo zaglavlje mora sadržavati dodatna 3 polja:

  • Polje magičnog broja: sadrži magični broj 0x1BADB002, za identifikaciju zaglavlja.
  • flags polje: ne treba nam sada, samo postavite njegovu vrijednost na nulu.
  • Polje kontrolne sume: kada je navedeno, treba da vrati nulu za sumu sa prva dva polja.

Dakle, kernel.asm će izgledati ovako:

;;kernel.asm;nasm direktiva - 32 bita 32 sekcija .text;multiboot spec align 4 dd 0x1BADB002; magični brojevi dd 0x00;zastavice dd - (0x1BADB002 + 0x00); ček suma... mh + f + ks mora biti nula globalno start extern kmain; kmain je definiran u startu vanjske datoteke: cli; blokiranje prekida mov esp, stack_space; poziv pokazivača steka kmain hlt; odjeljak zaustavljanja procesora .bss resb 8192; 8KB po steku stack_space:

; ; kernel. asm

; nasm direktiva - 32 bit

bitovi 32

odjeljak. tekst

; multiboot spec

poravnati 4

dd 0x1BADB002; magični brojevi

dd 0x00; zastave

dd - (0x1BADB002 + 0x00); ček suma. mch + f + ks bi trebao biti jednak nuli

globalni početak

extern kmain; kmain je definiran u vanjskom fajlu

početak:

cli; blokada prekida

mov esp, stack _ prostor; pokazivač steka

nazovi kmain

hlt; zaustavljanje procesora

Top srodni članci