Coba jelasin Bagaimana DOS mengalamati memori dari Manajemen memori DOS dong

DOS mengalamati memori dengan sebuah cara yang disebut dengan segmentation (segmentasi). Dalam segmentasi, ruang alamat memori akan dibagi ke dalam beberapa bagian yang disebut dengan segmen. Untuk mengalamati sebuah lokasi yang diperlukan, sebuah program harus menentukan alamat mutlak (absolute address) dengan format xxxx:yyyy di mana xxxx adalah alamat segmen dan yyyy merupakan alamat offset (ofset merupakan alamat lokasi ke berapa dari segmen tersebut yang dimulai dari permulaan segmen). Kedua bilangan tersebut direpresentasikan dalam bilangan heksadesimal. Nilai absolute address dapat dihitung dengan menggunakan perhitungan sederhana: dengan melakukan pemangkatan dengan bilangan 16 (karena memang basis yang digunakan adalah basis 16/heksadesimal) dari segmen dan menjumlahkannya dengan alamat offset. Melakukan pemangkatan alamat segmen dapat dengan mudah dilakukan, yaitu dengan menambahkan angka 0 (nol) di samping angka segmen, sehingga yang tadinya hanya berjumlah empat digit akan bernilai lima digit. Hasil dari pemangkatan ini ditambahkan dengan alamat offset, dan jadilah alamat mutlak sebuah memori.

Karena dalam real mode, memori komputer hanya dapat diakses hingga 1 MB saja, maka alamat segmen pun dibuat sedemikian rupa. DOS akan membagi 1 MB alamat ke dalam 16 segmen berukuran 65536 bita (64K), yang diberi alamat dari 0x0000 hingga 0x10000. Memori konvensional dialamatkan oleh DOS pada alamat segmen 0x0000 hingga 0xA000 (10 segmen); Upper memory dialamatkan oleh DOS pada alamat segmen 0xA000 hingga 0x10000 (6 segmen). Beberapa segmen di dalam upper memory dialokasikan untuk beberapa keperluan (tapi tidak harus begitu), yakni segmen 0xA000 dan 0xB000 disediakan untuk Video Memory; segmen 0xC000 dan 0xD000 dialokasikan untuk pengendali cakram (seperti SCSI) dan beberapa kartu lainnya; sementara segmen 0xE000 dan 0xF000 dialokasikan untuk ROM BIOS. Alokasi segmen-segmen dalam upper memory tersebut hanyalah sebuah panduan umum, dan tidak berlaku dalam setiap kasus.