Operating system bisa dikatakan sebuah process yang mengatur penggunaan resources oleh process lainnya. Seperti pada gambar 3.10 diatas OS mengatur P1(Process 1) menggunakan CPU dan I/O 1 dan 2, sedangkan P2 menggunakan I/O 3. P2 sebenarnya ingin mengakses I/O 1 tapi karena sedang digunakan oleh P1 maka P2 harus mengantri kembali lagi ke awal,
OS adalah process yang mengatur penggunaan resource oleh process lain, sehingga ia butuh list process apa menggunakan resource apa, maka dibuatlah OS Control Table.
OS Control Table terdiri dari:
Digunakan untuk mencatat perubahan-perubahan di memory baik fisik maupun virtual.
Berisi alokasi main dan secondary memory kepada process, selain itu juga ada proteksi memory. Dan juga ada informasi tentang virtual (secondary) memory. Virtual sama dengan secondary karena swap dan pagefile.
Informasi-informasi yang ada pada memory table antara lain :
- Alokasi main memory ke proses
- Alokasi memory sekunder ke proses
- Atribut tertentu pada blok tertentu di memory
- Informasi-informasi tentang virtual memory
2. I/O Table
Digunakan untuk mengatur pembagian akses I/O devices kepada proses.
3. File Table
Digunakan untuk mengatur pembagian akses file.
File Table juga digunakan untuk alokasi File kepada process, namun karena file ini biasanya berada dialam memory maka file table juga berisi alamat lokasi file tersebut di memory.
Terdiri dari :
- Keberadaan file
- Lokasi file di memory
- Status
4. Process Table
Menyimpan informasi mengenai setiap proses yang ada.
Terdiri dari :
- PID (Process ID)
- Process State
- Lokasi proses di memori (untuk yang biasa menggunakan bahasa C++ mungkin lebih familiar dengan istilah “Pointer to Process image(yang berisi PCB=Process Control Block, stack, data, dll))
5. Process Image
Process Image terletak pada blok memori yang kontinu. Setiap proses memiliki process image-nya sendiri-sendiri yang terdiri dari :
- Process Control Block
- User Data
- Stack
- User Mode (Less-privileged mode, tempat user program berjalan )
- System Mode, Control Mode, atau Kernel Mode (More-privileged mode)
Proses tentunya perlu juga untuk dibuat dan kadang juga perlu untuk dirubah modenya. Berikut adalah langkah-langkah untuk membuat sebuah proses :
- Memberi ID yang unik pada proses baru
- Mengalokasikan ruang untuk proses baru
- Membuat Process Control Block
- Memasukkan dalam queue
- Membuat data-data lain yang
- Simpan isi dari prosesor
- Update isi PCB (Process Control Block)
- Pindahkan PCB ke queue yang sesuai
- Pilih proses lain yang akan dieksekusi
- Update PCB dari proses itu
- Update struktur data dari manajemen memori
- Kembalikan isi dari prosesor
0 komentar: