Berikut adalah istilah-istilah yang ada pada sistem operasi.
Proses
Proses adalah:
- Suatu program pada eksekusi
- Suatu program untuk me-running komputer
- Entitas yang dapat ditetapkan dan dieksekusi oleh prosessor
- Suatu unit yang dicirikan sebagai thread sekuensial dari eksekusi, state tertentu, dan himpunan yang terasosiasi pada sistem.
Proses terdiri dari 3 komponen, yaitu:
- Program yang dapat dieksekusi
- Data yang dibutuhkan program (seperti: variabel, workspace, buffer, dll)
- konteks eksekusi atau state proses.
Gambar dibawah mengindikasikan jalan dimana proses terjadi.
Sumber: Operating System Internals and Design Principle 7th Edition William Stallings
Manajemen Memori
Dalam mengatasi manajemen memori, sistem operasi memiliki tanggung jawab sebagai berikut:
- Isolasi Proses: OS harus mencegah proses yang mengganggu memori data dan instruksi.
- Alokasi dan Manajemen secara otomatis: Program harus teralokasi secara dinamis melalui hirarki memori yang dibutuhkan. Alokasi diharuskan transparan dari programmer. Sehingga, programmer dapat terbebas dalam perhatian terkait keterbatasan memori, dan sistem operasi dapat efisien dengan menetapkan memori ke hanya pekerjaan yang dibutuhkan.
- Mendukung Modular Programming: Programmer diharuskan dapat menggunakan program modular, dan untuk membuat, menghapus, dan mengubah ukuran dari modulas secara dinamis.
- Perlindungan dan kontrol akses: Sistem operasi diharuskan memberi porsi memori agar dapat diakses dalam berbagai cara dan berbagai pengguna.
- Penyimpanan Jangka Panjang: Banyak aplikasi yang membutuhkan tempat menyimpan informasi untuk jangka waktu yang lama setelah komputer dimatikan.
Kebutuhan-kebutuhan diatas didapatkan dengan virtual memori dan fasilitas file system. Fasilitas file system mengimplementasikan penyimpanan jangka panjang, dengan informasi yang disebut file. File tersebut merupakan konsep yang nyaman untuk programmer, sebagai unit yang berguna dalam kontrol akses, dan perlindungan sistem operasi.
Virtual Memori adalah sebuah sistem yang digunakan oleh sistem operasi untuk menggunakan sebagian dari Memori Sekunder yaitu Harddisk seolah-olah ia menggunakannya sebagai memori internal/utama (RAM) fisik yang terpasang di dalam sebuah sistem komputer. Sistem ini beroperasi dengan cara memindahkan beberapa kode yang tidak dibutuhkan ke sebuah berkas di dalam hard drive yang disebut dengan page file.
Berikut gambar konsep dari virtual memori
Sumber: Operating System Internals and Design Principle 7th Edition William Stallings
Berikut proses pengalamatan virtual memori
Sumber: Operating System Internals and Design Principle 7th Edition William Stallings
Multithreading
Adalah suatu teknik dimana suatu proses dibagi menjadi thread yang dapat berjalan bersamaan.
Thread adalah suatu unit instruksi yang dispatchable. Thread dieksekusi secara sekuensial dan dapat dinterupsi sehingga prosesor dapat mengganti thread lainnya.
Proses adalah sekumpulan dari satu atau lebih thread.
Multithreading berguna untuk aplikasi yang melakukan tugas yang tidak dapat dilakukan secara seri seperti database server yang melibatkan proses berbagai permintaan klien.
Symmetric Multiprocessing (SMP)
Sebuah sistem dengan SMP memiliki:
- Multiple processor
- Prosesor tersebut berbagi memori utama dan I/O yang sama
- Dapat melakukan fungsi yang sama.
Sistem operasi dan SMP membagi proses dan thread ke semua prosesor dengan syarat 1 thread tidak terbagi.
Berikut keuntungan yang didapat dari SMP:
- Performa: Beberapa porsi dari suatu pekerjaan dapat dilakukan secara parallel. Sebuah sistem dengan prosesor yang banyak dapat menghasilkan performa yang lebih baik daripada sistem dengan satu prosesor. Berikut perbandingan multiprogramming yang menggunakan satu prosessor dan multiprosessing
Sumber: Operating System Internals and Design Principle 7th Edition William Stallings
- Ketersediaan: Sistem dapat melanjutkan suatu fungsi walaupun performanya rendah.
- Pertumbuhan yang meningkat: Pengguna dapat meningkatkan performa sistem dengan menambah prosesor tambahan
Mikrokernel vs Monolithic Kernel
Monolithic:
- Sebuah program utuh dam besar yang berjalan.
- Kernel berupa satu proses besar yang terletak di dalam address space yang sama
- Contoh: Linux
Mikrokernel:
- Kernel dibagi menjadi beberapa proses.
- Proses kecil-kecil tersebut disebut server.
- Beberapa berjalan di kernel space, beberapa di user space.
- Contoh: GNU, Mac OS X, Windows, Minix.


Komentar
Posting Komentar