Skip to main content
Pelajar Koding

follow us

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 kesudahannya 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 supaya 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 ialah "USB Stick / Hard Disk Image". Lalu jangan lupa centang "Live CD / DVD (.iso)". Lalu klik Build


12. Tunggu prosesnya sampai selesai


13. Setelah jawaban 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 ialah kita memerlukan beberapa pengetahuan wacana sistem operasi tersebut. Ditambah dengan pengetahuan wacana pemrograman pada hardware.
Pada artikel ini saya ingin sharing bagaimana menciptakan sistem operasi yang sederhana dengan memakai bahasa C dan Assembly. Tujuannya memperlihatkan pengetahuan dasar bagaimana menciptakan sistem operasi.

Persiapan

Hal yang perlu anda ketahui ialah apa itu sistem operasi dan bagaiamana prinsip kerjanya. Terkait hal ini, saya menyarankan untuk membaca beberapa buku wacana 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 mempunyai kegunaan untuk sebagai pemicu awal saat OS di booting awal. Loader ini akan dipanggil pertama kali.
Disini saat loader dipanggil maka akan memanggil (call kmain). kmain ialah 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 arahan 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 ialah kita tidak memerlukan library bawaan dari C dan memastikan bebas dari platform-lock. Ukuran layar yang dipakai ialah 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 saat 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 menyebarkan file kernel.c dengan melaksanakan interasi dengan user melalui keyboard. Selain itu, anda sanggup menyebarkan dengan memanfaatkan menciptakan driver dengan networking atau lainnya.
Hal yang terpenting disini ialah 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 jawaban 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 ialah 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

You Might Also Like:

Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar