Ditulis dalam versi BCPL yang sedikit dimodifikasi
(http://rabbit.eng.miami.edu/class/een521/bcpl-2.pdf)
Untuk emulator Intel 80486
- http://rabbit.eng.miami.edu/class/een521/hardware-1.pdf
- http://rabbit.eng.miami.edu/class/een521/hardware-2a.pdf
- http://rabbit.eng.miami.edu/class/een521/intel486vm.pdf
Emulator yang ditulis oleh Dr. Stephen Murrell
(Kode sumber: http://rabbit.eng.miami.edu/class/een521/een521.zip)
di dalam repot ini:
- start.b: memori virtual (untuk 80846. memori 4GB = 512 halaman * 2048 kata per halaman. Word = 32 bit)
Direktori halaman dengan tabel halaman untuk enam wilayah terpisah
ruang alamat virtual (kode pengguna dan sistem, tumpukan, dan tumpukan) - Os.B: Halaman Fault Handler Untuk Menumbuhkan Tumpukan dan Tumpukan
Kemampuan membaca dan menjalankan program pengguna
EXIT () Sistem panggilan untuk memulihkan sistem FP, SP, dan PC, atur bendera CPU dan mendaur ulang halaman proses pengguna
sistem input keyboard berbasis interupsi
Command Line Shell
(dalam proses) antrian proses runnable - Newvec.B: Mengalokasikan dan mendaur ulang tumpukan dengan NewVec dan Freevec
- File_system.b: Sistem File Dasar (MKDIR, CD, RMDIR, FCreate, FDelete, Fopen, Fclose, Fwrite, Fread)
- SYS_LIB.B: API panggilan sistem dasar untuk proses pengguna
- Proses Pengguna XB, YB: Untuk pengujian
Untuk saat ini entri direktori dibatasi untuk masing -masing satu blok (128 kata = 512 byte),
yang berarti direktori terbatas pada 16 file dan direktori anak. Anak ini
Direktori juga terbatas pada 16 entri, dll.
Setiap direktori berisi:
- 512 byte
- Hingga 16 struct dari 28 byte, masing -masing menggambarkan file atau direktori anak
- 6 byte untuk nama direktori
- 4 byte untuk lokasi di disk direktori induknya
File berfungsi sebagai tempat tempat, dan sertakan satu header blok dengan
28 Kata Informasi Deskriptif: Nama, Izin, Waktu Dibuat, dll
dan 100 pointer ke konten file.
100 pointer * 512 byte per blok = ukuran file maks 50kb
- Direktori memerlukan satu disk yang dibaca untuk dibuka
- File mengambil satu disk dibaca untuk membuka blok header
ditambah satu disk membaca untuk mengakses masing -masing hingga 100 blok konten
Tujuannya adalah memiliki sistem file dasar (dukungan untuk file dan direktori)
untuk menguji sistem operasi yang mendasarinya dan menangkap masalah apa pun
sebelum mengoptimalkan. Fitur yang diuji
- memori virtual, direktori halaman dengan tabel halaman untuk enam wilayah terpisah
ruang alamat virtual (kode pengguna dan sistem, tumpukan, dan tumpukan) - Page Fault Handler untuk menumbuhkan tumpukan dan tumpukan
- Kemampuan membaca dan menjalankan program pengguna
- EXIT () Sistem Panggilan untuk Mengembalikan Sistem FP, SP, dan PC
Atur Bendera CPU, Recycle Pengguna Halaman - sistem input keyboard berbasis interupsi
- Mengalokasikan dan mendaur ulang tumpukan dengan NewVec dan Freevec
Sedang berlangsung
- antrian proses pengguna yang bergiliran berjalan
- menguji fread dan fwrite
Selanjutnya
- B+ pohon untuk mengakomodasi file besar dengan disc minimal dibaca