Tampilkan postingan dengan label teknik informatika. Tampilkan semua postingan
Tampilkan postingan dengan label teknik informatika. Tampilkan semua postingan

Jumat, 21 Februari 2014

Membuat sebuah Bootsector

   Sektor boot pada disk selalu ada di sektor pertama pada track pertama pada kepala pertama . Ketika komputer dinyalakan ( atau reset) , BIOS dijalankan dan melakukan POST . Ini menginisialisasi semua data itu , maka mencari boot sector yang valid . Pertama terlihat di A : drive , maka terlihat C : . Jika tidak menemukannya kemudian menginterupt pada 18h disebut ( pada PC IBM original ) BASIC ROM . Sebuah boot sector yang valid ( untuk BIOS ) adalah salah satu yang bernilai 0AA55h pada offset 510 di sektor boot .

   Ketika BIOS menemukan boot sector , ia membaca bahwa sektor ( 512 byte ) dari disk dan ke memori pada 00:07 C00h . Kemudian melompat ke 0:07 C00h dan kode boot sector mendapatkan kontrol . Pada titik ini , semua yang telah diinisialisasi adalah area data BIOS ( 40h : 0 ) dan interupsi BIOS ( 10h - 1Ah ) . Pada titik ini , memori sebagian besar tidak terpakai , tapi tidak perlu dibersihkan ke 0. ( Chris Lattner )

NASM bootstraps tutorial

The basics
----------
These are the rules that you must follow:
  - The BIOS will load your bootstrap to address 07C00h. Sadly, the segment and     offset varies.
  - Bootstraps must be compiled as plain binary files.
  - The filesize for the plain binary file must be 512 bytes.
  - The file must end with AA55h.

A minimal bootstrap
-------------------
This bootstrap just hangs:

    ; HANG.ASM
    ; A minimal bootstrap
    hang:                   ; Hang!
            jmp hang

    times 510-($-$$) db 0   ; Fill the file with 0's
    dw 0AA55h               ; End the file with AA55

The line starting with "times" is a command that only NASM understands. The line will insert 0's until the filesize is 510 bytes. The whole file will therefore be 512 bytes. The last instruction puts AA55 at the end of the file.

Bootsector

Requirements
============
During this article I assume that you have good knowledge of the assembly language and intel architecture. If not, read an assembly tutorial, they aren't hard to find...

Start
=====

Creating your own bootsector is simpler than you may think, the only requirement is that the bootsector is 512 bytes long, and at offset 0x1FE (decimal=510), the word 0xAA55 is placed. This is the first thing the BIOS does when the PC boots up, it first looks on the first floppy drive at the first sector for 0xAA55 at the end, and if it finds it then it loads it into memory, and starts executing it, otherwise it trys the primary harddisk, and if that isn't found it just bombs out with an error.

Kamis, 20 Februari 2014

Mengenal Sistem Operasi (SO)

1.      Pengertian Sistem Operasi
Sistem Operasi adalah sarana penghubung antara program aplikasi dengan perangkat keras pada sistem komputer. Sistem Operasi menyembunyikan segala kerumitan yang terdapat pada perangkat keras dengan menyediakan fungsi-fungsi tingkat mesin untuk menghindari kerumitan pemrograman sehingga memudahkan perancangan program aplikasi.

2.      Komponen Sistem Operasi
a.       Boot Loader
Bagian dari SO yang melakukan booting, pengambilan tugas dari BIOS ke SO, selanjutnya Boot Loader akan menjalankan Kernel sehingga tugas pun beralih kepada kernel. Pada Boot Loader juga tersimpan informasi-informasi yang dibutuhkan SO.
b.      File System
Bertugas melakukan manajemen terhadap file, menyediakan layanan-layanan yang berhubungan dengan penggunaan file bagi program aplikasi guna memenuhi kebutuhan manajemen data bagi pemakai.
c.       Kernel
Merupakan jantung dari SO. Semua proses input dan output yang berlangsung selama komputer berjalan diatur oleh Kernel, seperti pembacaan dan penulisan terhadap disk, manajemen memory, dan penjadwalan program aplikasi.
d.      Shell
Sebuah program aplikasi yang menghubungkan pengguna komputer dengan Kernel. Segala perintah yang diberikan oleh pengguna komputer akan melalui perantara Shell, kemudian shell akan memberikan perintah tersebut kepada kernel untuk diproses.