iklan

Ingin Menciptakan Os Sendiri ? Tidak Sulit Kok, Begini Caranya !

Ternyata menciptakan OS sendiri itu tidak begitu sulit ! Membuat OS itu bermacam-macam, ada yang simple, ada yang memerlukan proses yang panjang. Namun begitu, semuanya itu tidak ada yang sulit ? benar ? hehe... Ok, pribadi saja kita akan mempelajari bagaimana sih cara menciptakan OS sendiri !

Sebelum kita memulai, saya jelaskan dulu, cara menciptakan OS itu majemuk menyerupai yang saya bilang diatas. Kaprikornus disini saya akan memulai dengan teknik yang paling gampang dahulu. Tapi ingat, teknik yang gampang berarti kesannya juga mudah2 saja alias biasa-biasa saja.. hehe

Cara Membuat OS Dengan Suse Studio

1. Buka web https://susestudio.com/

2. Lalu klik "Sign or Create Account"

3. Silahkan pilih facebook saja biar cepat.
4. Lalu masukan Display name dan Your email menyerupai biasa, kemudian centang, kemudian continue

 
5. Nah kemudian pilih base template. Disini saya akan pilih "GNOME desktop"

6. Setelah itu pilih architecture yaitu 64 bit serta masukan namanya. Kalau sudah klik "Create appliance"


7. Tunggu proses sampai selesai


8. Lalu klik "Switch to the Software tab to continue"
9. Nah disini Anda sanggup menentukan software Anda sendiri, bebas...


10. Lalu bila sudah, masuk ke "Configuration" - "Personalize" dan disitu Anda bebas meilih background, logo, dll. Anda sanggup menentukan logo OS buatan Anda sendiri.. :D

11. Lalu sesudah itu pilih sajian "Build", kemudian pastikan default format yang terpilih yakni "USB Stick / Hard Disk Image". Lalu jangan lupa centang "Live CD / DVD (.iso)". Lalu klik Build


12. Tunggu prosesnya sampai selesai


13. Setelah tamat klik d0wnl0ad, maka Anda sudah berhasil menciptakan sistem operasi sendiri !
























Cara Membuat OS Dengan Bahasa C & Assembly

Membuat Sistem Operasi sanggup dikatakan sulit. Sulit disini alasannya yakni kita memerlukan beberapa pengetahuan perihal sistem operasi tersebut. Ditambah dengan pengetahuan perihal pemrograman pada hardware.
Pada artikel ini saya ingin sharing bagaimana menciptakan sistem operasi yang sederhana dengan memakai bahasa C dan Assembly. Tujuannya menunjukkan pengetahuan dasar bagaimana menciptakan sistem operasi.

Persiapan

Hal yang perlu anda ketahui yakni apa itu sistem operasi dan bagaiamana prinsip kerjanya. Terkait hal ini, saya menyarankan untuk membaca beberapa buku perihal sistem operasi. Berikut ini pola buku rekomendasinya
  • Andrew S. Tanenbaum, Modern Operating System, 3rd Edition, 2008, Pearson Education.
  • Abraham Silberschatz, Peter Baer Galvin, Greg Gagne, Operating System Concepts, 9th Edition, 2013, John Wiley & Sons
Pada ilustrasi ini, saya memakai environment ini. Anda sanggup menyesuaikan sesuai dengan platform yang dimiliki. Berikut platform dan beberapa komponen/library yang digunakan.
  • Ubuntu 13.10 x64
  • GCC dan make
  • nasm
  • git
  • qemu
Disini saya memakai Ubuntu 13.10 x64. Ya, saya memakai 64-bit Ubuntu tapi jangan kuatir bagaimana melaksanakan kompilasi OS 32 bit melalui Ubuntu 64-bit.









GCC dan make dipakai untuk kompile kernel OS yang dibentuk dengan bahasa C. Cara instalasi melalui perintah berikut.
sudo apt-get install build-essential
nasm dipakai untuk kompile bahasa Assembly. Berikut ini instalasinya
sudo apt-get install nasm
git dipakai untuk mengunduh source code sistem operasi yang saya buat sehingga memudahkan proses kompilasinya.
sudo apt-get install git
Kita memerlukan virtual machine untuk menjalankan OS yang dibuat. Anda sanggup menjalankan melalui PC atau virtual machine. Disini saya memakai qemu untuk virtual machine. Cara instalanya sebagai berikut.
sudo apt-get install qemu

Kita sanggup mengecek qemu versi yang dimiliki.
qemu --version


Unduh Source Code

Saya sudah unggah source code sistem operasi sederhana ini dengan nama OS Sirsak ke github.com. Alamatnya di https://github.com/agusk/sirsak .

Kita sanggup mengunduh source code ini dengan perintah git.
git clone https://github.com/agusk/sirsak.git
Didalam folder src, anda akan mendapat file
  • loader.asm
  • kernel.c
  • linker.ld
Masing-masing saya akan jelaskan pada sesi selanjutnya.

Membuat Loader

Loader berkhasiat untuk sebagai pemicu awal dikala OS di booting awal. Loader ini akan dipanggil pertama kali.
Disini dikala loader dipanggil maka akan memanggil (call kmain). kmain yakni main entry dari kernel yang dibentuk dengan bahasa C.
global loader extern kmain  MODULEALIGN equ 1<<0 MEMINFO equ 1<<1 FLAGS equ MODULEALIGN | MEMINFO MAGIC equ 0x1BADB002 CHECKSUM equ -(MAGIC + FLAGS)  section .text align 4 MultiBootHeader:  dd MAGIC  dd FLAGS  dd CHECKSUM   STACKSIZE equ 0x4000  loader:  mov esp, stack + STACKSIZE  push eax  push ebx    call kmain  cli   hang:  hlt  jmp hang   section .bss align 4 stack: resb STACKSIZE
Bagi yang belum paham mengenai bahasa Assembly, anda sanggup membaca tutorial pada website ini, http://www.tutorialspoint.com/assembly_programming/index.htm .
Kalau kita perhatikan disini ada magic number untuk memastikan pemanggilan kernel yaitu 0x1BADB002. Nanti dibagian kernel kita cukup mengecek dengan nilai 0x2BADB002.
Simpan aba-aba jadwal ini dengan nama loader.asm. Kemudian kita akan melaksanakan kompilasi file loader.asm.
nasm -f elf32 -o loader.o loader.asm

Membuat Kernel OS

Ini merupakan jantung dari sistem operasi. Disini kita hanya menampilkan goresan pena ke layar dan menghapus layar.
Berikut ini konten dari source code kernel.c.
void kmain(void* mbd, unsigned int magic) {  if(magic != 0x2BADB002) {   clear();   print("Error loading!!",0x04);  }else{   clear();   print("Welcome to Sirsak Operating System",0x07);  } }  void print(char* message, int color) {  char* mem = (char*)(0xb8000);  while(*message!=0){   *mem = *message;   mem++;   message++;   *mem = (char*)color;   mem++;  } }  void clear(void){  char* mem = (char*)(0xb8000);  while(*mem !=0){   *mem = 0;   mem++;   } }
kmain() merupakan main entry dari OS yang dibuat. Disini ada method print() dan clear(), kenapa kita harus membuatnya? hal ini alasannya yakni kita tidak memerlukan library bawaan dari C dan memastikan bebas dari platform-lock. Ukuran layar yang dipakai yakni 0xb8000.
Untuk kompilasinya sebagai berikut.
gcc -c -o kernel.o kernel.c -Wall -Wextra -nostdlib -nostartfiles -nodefaultlibs -fno-builtin -fno-stack-protector -nostdinc -m32
parameter –m32 dipakai untuk memastikan gcc melaksanakan kompilasi 32 bit dikala kita memakai platform 64 bit. Apabila anda memakai Ubuntu 32 bit maka paramter –m32 diabaikan saja.

Linking Semua Objek

Disini kita mengambungkan semua objek loader.o dan kernel.o kedalam linking. Disini kita memakai ld, http://linux.die.net/man/1/ld .
Berikut ini source code dari linker.ld
ENTRY(loader) SECTIONS {   . = 0x00100000;  .text : {   *(.text)  }  .rodata ALIGN (0x1000):{   *(.data)  }  .bss : {   sbss = .;   *(COMMON)   *(.bss)   ebss = .;  } }

Kompilasi file linker.ld dengan sasaran platform i386 atau 32 bit sanggup dilakukan sebagai berikut.
ld -m elf_i386 -T linker.ld -o kernel.bin loader.o kernel.o
Disini kita akan mendapat file kernel.bin. File ini yang akan dipakai untuk menjalankan OS.

Testing

Setelah kita melaksanakan linking dan mendapat file kernel.bin maka kita cukup menjalankan ini melalui qemu dengan perintah sebagai berikut.
qemu -kernel kernel.bin
Jika sukses, kita akan mendapat response menyerupai dibawah ini.

Akhirnya anda sanggup menciptakan sistem operasi selanjutna.

Bagaimana Selanjutnya?

Langkah selanjutnya anda sanggup berbagi file kernel.c dengan melaksanakan interasi dengan user melalui keyboard. Selain itu, anda sanggup berbagi dengan memanfaatkan menciptakan driver dengan networking atau lainnya.
Hal yang terpenting disini yakni memory management. Pastikan ilmu pointer dalam bahasa C lebih diperdalam. Rekomendasi buku
  • Richard Reese, Understanding and Using C Pointers, 2013, O'Reilly


Itulah kira-kira beberapa cara untuk menciptakan operasi sistem sendiri. Nah, belum tamat nih.. Saya mau kasi video ke kau bagaimana cara menciptakan OS (walaupun berbeda dengan cara yang diatas)

VIDEO CARA MEMBUAT OS SENDIRI

Kalau video dibawah ini mempunyai 10 part (kalau gak salah) Anda sanggup melihat part 1 mulai dari ini
Nah, bila kau masih gundah sekali dengan cara-cara diatas, tapi kau sangat berkeinginan menciptakan OS sendiri, cobain cara ini aja !! Ini yakni cara menciptakan OS sendiri tapi PALSU.. hehe... iyalah buatnya aja pake VISUAL BASIC hahahaha. Tapi gpp, silahkan coba saja kalau kau penasaran... :D sumber : youtube & http://blog.aguskurniawan.net
Sumber http://komputer67.blogspot.com

0 Response to "Ingin Menciptakan Os Sendiri ? Tidak Sulit Kok, Begini Caranya !"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel