Jenis Manajemen Memori
Manajemen memori dalam Sistem Operasi dibagi menjadi dua:
1. Manajemen memori statis
Dengan pemartisian statis, jumlah, lokasi dan ukuran proses di memori tidak beragam sepanjang waktu secara tetap.
2. Manajemen memori dinamis
Dengan pemartisian dinamis, jumlah, lokasi dan ukuran proses memori dapat beragam sepanjang waktu secara dinamis.
Manajemen memori berdasarkan alokasi memori
a. Alokasi memori berturutan
Alokasi memori secara berturutan adalah tiap proses menempati satu blok tunggal memori yang berturutan
* Keunggulan :
- Sederhana
- Tak terbentuk lubang lubang memori bersebaran
- Proses dapat dieksekusi lebih cepat
* Kelemahan:
- Dapat memboroskan memori
- Tidak dapat memuatkan proses jika tidak ada satu blok memori yang mencukupi
b. Alokasi memori tak berturutan
Program dibagi menjadi beberapa blok atau segmen. Blok-blok program ditempatkan di memori dalam potongan-potongan tanpa perlu saling berdekatan. Teknik ini biasa digunakan pada sistem memori maya sebagai alokasi page-page dilakukan secara global.
"Tertarik dan antusias lah terhadap mimpi-mimpi Anda sendiri. Ketertarikan ini ibarat kebakaran hutan. Anda dapat mencium, merasakan, dan melihatnya dari kejauhan." -Diane Roger
Kamis, 11 Desember 2014
Kamis, 04 Desember 2014
"Deadlock" pada Sistem Operasi
Deadlock?
Deadlock adalah keadaan dimana dua atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya. Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh dua proses. Deadlock bisa digambarkan sebagai berikut :
Jenis-jenis Deadlock
Ada empat kondisi yang dapat menyebabkan terjadinya deadlock. Keempat kondisi tersebut tidak dapat berdiri sendiri, namun saling mendukung. Kondisi tersebut adalah:
1. Mutual exclusion
Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
2. Hold and wait
Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama.
3. No preemption
Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh
proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan.
4. Circular wait
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang
dipegang proses berikutnya.
Mengatasi Terjadinya Deadlock
Ada beberapa cara untuk mengatasi terjadinya deadlock, diantaranya adalah:
a. Mengabaikan masalah deadlock.
b. Mendeteksi dan memperbaiki
c. Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan deadlock. Yaitu dengan deadlock avoidance sistem untuk mendata informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya.
d. Pencegahan yang secara struktur bertentangan dengan empat kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memastikan bahwa salah satu kondisi yang penting tidak dapat menunggu.
Deadlock adalah keadaan dimana dua atau lebih proses saling menunggu meminta resources untuk waktu yang tidak terbatas lamanya. Analoginya seperti pada kondisi jalan raya dimana terjadi kemacetan parah. Deadlock adalah efek samping dari sinkronisasi, dimana satu variabel digunakan oleh dua proses. Deadlock bisa digambarkan sebagai berikut :
Jenis-jenis Deadlock
Ada empat kondisi yang dapat menyebabkan terjadinya deadlock. Keempat kondisi tersebut tidak dapat berdiri sendiri, namun saling mendukung. Kondisi tersebut adalah:
1. Mutual exclusion
Hanya ada satu proses yang boleh memakai sumber daya, dan proses lain yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
2. Hold and wait
Proses yang sedang memakai sumber daya boleh meminta sumber daya lagi maksudnya menunggu hingga benar-benar sumber daya yang diminta tidak dipakai oleh proses lain, hal ini dapat menyebabkan kelaparan sumber daya sebab dapat saja sebuah proses tidak mendapat sumber daya dalam waktu yang lama.
3. No preemption
Sumber daya yang ada pada sebuah proses tidak boleh diambil begitu saja oleh
proses lainnya. Untuk mendapatkan sumber daya tersebut, maka harus dilepaskan terlebih dahulu oleh proses yang memegangnya, selain itu seluruh proses menunggu dan mempersilahkan hanya proses yang memiliki sumber daya yang boleh berjalan.
4. Circular wait
Kondisi seperti rantai, yaitu sebuah proses membutuhkan sumber daya yang
dipegang proses berikutnya.
Mengatasi Terjadinya Deadlock
Ada beberapa cara untuk mengatasi terjadinya deadlock, diantaranya adalah:
a. Mengabaikan masalah deadlock.
b. Mendeteksi dan memperbaiki
c. Penghindaran yang terus menerus dan pengalokasian yang baik dengan menggunakan protokol untuk memastikan sistem tidak pernah memasuki keadaan deadlock. Yaitu dengan deadlock avoidance sistem untuk mendata informasi tambahan tentang proses mana yang akan meminta dan menggunakan sumber daya.
d. Pencegahan yang secara struktur bertentangan dengan empat kondisi terjadinya deadlock dengan deadlock prevention sistem untuk memastikan bahwa salah satu kondisi yang penting tidak dapat menunggu.
Kamis, 20 November 2014
Concurrency pada Sistem Operasi
Adalah dua atau lebih hal yang berjalan pada waktu yang bersamaan pada sebuah Sistem Operasi. Masalah yang dihadapi:
1. Atomic Operation
- sebuah operasi yang sifatnya tidak dapat dibagi lagi
- dieksekusi semua atau tidak sama sekali
- bagian program yang tidak dapat di interrupt
2. Critical Section
- bagian tertentu dari code yang membutuhkan akses ke shared resources
- tidak boleh dijalankan ketika ada proses lain yang sedang menjalankan bagian tersebut (tidak boleh ada yang menyela)
3. Race Condition
- hasil eksekusi sebuah program tergantung dari program mana yang berjalan terlebih dahulu
- Bahayanya berbagi global resourcres
- Sulitnya Sistem Operasi mengatur alokasi resources secara optimal
- Sulit untuk mencari kelalahan programming.
1. Atomic Operation
- sebuah operasi yang sifatnya tidak dapat dibagi lagi
- dieksekusi semua atau tidak sama sekali
- bagian program yang tidak dapat di interrupt
2. Critical Section
- bagian tertentu dari code yang membutuhkan akses ke shared resources
- tidak boleh dijalankan ketika ada proses lain yang sedang menjalankan bagian tersebut (tidak boleh ada yang menyela)
3. Race Condition
- hasil eksekusi sebuah program tergantung dari program mana yang berjalan terlebih dahulu
Kamis, 13 November 2014
Thread pada Sistem Operasi Linux
Thread adalah sesuatu yang berjalan di sebuah processor. Perbedaannya dengan proses adalah Thread mempunyai ruang tersendiri di memori pada sebuah Sistem Operasi untuk menampung process image. Sedangkan sebuah proses tidak bisa mengakses ruang lain di memori.
Ciri-ciri sebuah Thread:
Lebih cepat membuat Thread dibandingkan dengan membuat proses
Ciri-ciri sebuah Thread:
- Thread state
- Saved thread context
- Execution stack
- Local variables
- Akses ke memori dan sumber daya yang dimiliki oleh prosesnya.
Rabu, 05 November 2014
"Process Programming" pada Linux
Sebuah Sistem Operasi pasti mempunyai pembeda antar proses satu dengan yang lainnya. Pembeda tersebut dapat kita sebut dengan PID (Process ID). PID berupa sebuah angka (integer) yang membedakan setiap proses berjalan dalam Sistem Operasi tersebut. Pun jika kita ingim menghubungkan dua proses atau lebih, PID disini sangat berperan penting untuk mengidentifikasi sebuah proses yang berjalan pada Sistem Operasi.
Selain itu, PID juga berguna untuk membuat sebuah "Child Process" di dalam Sistem Operasi, terutama Sistem Operasi Linux. Child process harus dibuat oleh sebuah parent secara identik. Karena child process akan memenuh perintah dari superuser sebuah Sistem Operasi. Child process juga dapat mencegah hal-hal yang tidak diinginkan sebuah Sistem Operasi seperti keterbataan penggunaan memori dan lain sebagainya.
Terdapat tiga cara untuk membuat chil process (proses baru) di dalam Sistem Operasi Linux, yaitu :
Selain itu, PID juga berguna untuk membuat sebuah "Child Process" di dalam Sistem Operasi, terutama Sistem Operasi Linux. Child process harus dibuat oleh sebuah parent secara identik. Karena child process akan memenuh perintah dari superuser sebuah Sistem Operasi. Child process juga dapat mencegah hal-hal yang tidak diinginkan sebuah Sistem Operasi seperti keterbataan penggunaan memori dan lain sebagainya.
Terdapat tiga cara untuk membuat chil process (proses baru) di dalam Sistem Operasi Linux, yaitu :
Kamis, 23 Oktober 2014
Sebuah "Proses" pada Linux
Proses adalah sebuah program yang sedang dieksekusi. Setiap kali menjalankan suatu program, sistem UNIX melakukan suatu fork, yaitu melakukan beberapa urutan operasi untuk membuat suatu proses konteks dan kemudian mengeksekusi program tersebut dalam konteks yang sudah dibuat. Oleh karena itu, kita harus menguasai manajemen proses Linux.
Dalam manajemen proses, ada beberapa hal penting yang harus dikuasai :
1. Mengetahui proses yang terjadi Linux
2. Dapat melakukan proses controlling terhadap proses di Linux
3. Menghentikan proses yang tidak dibutuhkan dan mengurangi performa Linux
Untuk itu kita harus mempelajari Manajemen Proses pada Linux. Perintah inti dari proses manajemen proses di Linux adalah :
1. ps
2. kill
Tipe-tipe Proses dalam Linux
Dibagi menjadi tiga bagian:
Interactive : Proses yang diprakarsai oleh sebuah shell dan berjalan dalam foreground dan background. seperti : terminal, software running, dll.
Batch : Sebuah seri dari proses-proses yang dijadwalkan untuk dieksekusi pada suatu waktu tertentu, proses batch ini juga tidak berhubungan dengan terminal, tapi menunggu dieksekusi secara sekuensial.
Daemon : Proses yang diinisialisasi saat booting untuk membentuk suatu fungsi-fungsi sistem yang dibutuhkan, bila tidak ada request maka akan berada pada keadaan idle, seperti : LPD, NFS, dan DNS.
Dalam manajemen proses, ada beberapa hal penting yang harus dikuasai :
1. Mengetahui proses yang terjadi Linux
2. Dapat melakukan proses controlling terhadap proses di Linux
3. Menghentikan proses yang tidak dibutuhkan dan mengurangi performa Linux
Untuk itu kita harus mempelajari Manajemen Proses pada Linux. Perintah inti dari proses manajemen proses di Linux adalah :
1. ps
2. kill
Tipe-tipe Proses dalam Linux
Dibagi menjadi tiga bagian:
Interactive : Proses yang diprakarsai oleh sebuah shell dan berjalan dalam foreground dan background. seperti : terminal, software running, dll.
Batch : Sebuah seri dari proses-proses yang dijadwalkan untuk dieksekusi pada suatu waktu tertentu, proses batch ini juga tidak berhubungan dengan terminal, tapi menunggu dieksekusi secara sekuensial.
Daemon : Proses yang diinisialisasi saat booting untuk membentuk suatu fungsi-fungsi sistem yang dibutuhkan, bila tidak ada request maka akan berada pada keadaan idle, seperti : LPD, NFS, dan DNS.
Kamis, 09 Oktober 2014
User dan Group pada Linux
Terdapat dua macam user pada Linux yaitu root (administrator) dan user biasa. User root hanya bisa satu di dalam suatu Sistem Operasi Linux. Root berlaku sebagai super admin yang memiliki hak penuh di dalam Sistem Operasi Linux, sedangkan user biasa memiliki hak akses terbatas dan bisa lebih dari satu user.
1. Perintah dasar untuk pengaturan User
ADDUSER/USERADD : perintah untuk membuat user account baru yang tidak terdapat pada sistem
oky@oky-unix:~$ adduser [-option] [namauser]
option yang bisa digunakan :
-u : nomor identitas user (UID)
-g : nomor identitas group (GID)
-d : menentukan path home direktori user secara manual
-s : shell yang akan digunakan user
-c : komentar tentang user
option diatas sifatnya optional
contoh :
oky@oky-unix:~$ adduser okey
setelah kita melakukan perintah diatas user okey sudah terdaftar di sistem tapi belom bisa digunakan karena kita blom memberikan password untuk user okey, cara memberikan password
1. Perintah dasar untuk pengaturan User
ADDUSER/USERADD : perintah untuk membuat user account baru yang tidak terdapat pada sistem
oky@oky-unix:~$ adduser [-option] [namauser]
option yang bisa digunakan :
-u : nomor identitas user (UID)
-g : nomor identitas group (GID)
-d : menentukan path home direktori user secara manual
-s : shell yang akan digunakan user
-c : komentar tentang user
option diatas sifatnya optional
contoh :
oky@oky-unix:~$ adduser okey
setelah kita melakukan perintah diatas user okey sudah terdaftar di sistem tapi belom bisa digunakan karena kita blom memberikan password untuk user okey, cara memberikan password
Perintah-perintah Dasar dalam Linux
ls
Melihat isi file dari direktori aktif. Pada linux perintah “dir” hanya berupa alias dari perintah “ls”. Untuk perintah “ls” sendiri sering dibuatkan alias “ls –color”, agar pada waktu di “ls” ditampilkan warna-warna sesuai dengan file-filenya, biasanya hijau untuk execute, dsb.
ls -al
Melihat seluruh isi file pada direktori aktif beserta file hidden + attribute/permission filenya , lalu ditampilkan layar perlayar.
cd (directory)
Change directory. Menggunakan “cd” tanpa nama direktori akan menghantarkan anda ke home direktor. Dan “cd -” akan menghantarkan anda ke direktori sebelumnya.
Minggu, 05 Oktober 2014
Menginstal Sistem Operasi Fedora di dalam Sistem Operasi Ubuntu Menggunakan VirtualBox
VirtualBox merupakan sebuah aplikasi simulasi Sistem Operasi yang bisa berjalan di multi platform seperti Linux, Windows maupun Mac OS. Aplikasi ini mampu membuat simulasi jalannya suatu Sistem Operasi lain didalam Sistem Operasi utama. Contohnya yang akan kita lakukan sekarang adalah menginstal Sistem Operasi Fedora di dalam Sistem Operasi Ubuntu. Sebelum menginstal, pastikan Ubuntu kamu mempunyai kapasitas kosong untuk menginstal Fedora di dalam VirtualBox.
Sebelum melangkah lebih jauh dalam proses instalasi Fedora di dalam Ubuntu, yang harus dipersiapkan:
1. VirtualBox yang sudah terinstal di Ubuntu.
Jika menggunakan Ubuntu versi 12.04 atau versi sebelumnya dan terhubung dengan internet, buka Terminal di Ubuntu (ctrl+alt+T), setelah itu ketik perintah berikut ini:
Jika tidak terhubung dengan internet, VirtualBox dapat diunduh di https://www.virtualbox.org/wiki/Downloads. File yang diunduh harus berekstensi .deb. Kemudian instal VirtualBox dan tunggu sampai proses instalasi selesai.
Sebelum melangkah lebih jauh dalam proses instalasi Fedora di dalam Ubuntu, yang harus dipersiapkan:
1. VirtualBox yang sudah terinstal di Ubuntu.
Jika menggunakan Ubuntu versi 12.04 atau versi sebelumnya dan terhubung dengan internet, buka Terminal di Ubuntu (ctrl+alt+T), setelah itu ketik perintah berikut ini:
$ sudo apt-get update
$ sudo apt-get install virtualbox
Jika tidak terhubung dengan internet, VirtualBox dapat diunduh di https://www.virtualbox.org/wiki/Downloads. File yang diunduh harus berekstensi .deb. Kemudian instal VirtualBox dan tunggu sampai proses instalasi selesai.
Tutorial Dual Boot Windows 7 dan Linux (Ubuntu)
Jika sebelumnya sudah dijelaskan bagaimana cara membuat mode booting instalasi Linux Ubuntu menggunakan USB flash disk, sekarang akan dijelaskan bagaimana cara membuat dual boot Windows 7 dan Linux (Ubuntu).
Sebelum lebih jauh, pastikan perangkat komputer yang akan digunakan unuk menginstal Ubuntu sudah terinstall Windows 7 dan mempunyai ruang penyimpanan yang cukup untuk menginstal Ubuntu di dalam drive. Jika sudah, berikut tutorial dual boot Windows 7 dan Linux (Ubuntu):
1. Mengecilkan partisi drive yang terinstall Windows 7 untuk dijadikan ruang kosong yang selanjutnya akan ditempati oleh instalansi Ubuntu nya. Caranya dapat dilihat di http://support2.microsoft.com/kb/944248/id-id. Jangan lupa juga untuk melakukan backup data yang ada jika terjadi hal-hal yang tidak diinginkan (kehilangan data, dan lain sebagainya)
2. Setelah mengecilkan drive dan membuat ruang kosong untuk Ubuntu, restart komputer. Pastikan bahwa USB flash disk yang ada installer Ubuntu nya sudah ditancapkan di port komputernya. Jangan lupa juga setting boot dari USB flash disk. Akan muncul tampilan seperti ini jika berhasil booting dari USB flash disk. Kemudian pilih "Install Ubuntu"
Sebelum lebih jauh, pastikan perangkat komputer yang akan digunakan unuk menginstal Ubuntu sudah terinstall Windows 7 dan mempunyai ruang penyimpanan yang cukup untuk menginstal Ubuntu di dalam drive. Jika sudah, berikut tutorial dual boot Windows 7 dan Linux (Ubuntu):
1. Mengecilkan partisi drive yang terinstall Windows 7 untuk dijadikan ruang kosong yang selanjutnya akan ditempati oleh instalansi Ubuntu nya. Caranya dapat dilihat di http://support2.microsoft.com/kb/944248/id-id. Jangan lupa juga untuk melakukan backup data yang ada jika terjadi hal-hal yang tidak diinginkan (kehilangan data, dan lain sebagainya)
2. Setelah mengecilkan drive dan membuat ruang kosong untuk Ubuntu, restart komputer. Pastikan bahwa USB flash disk yang ada installer Ubuntu nya sudah ditancapkan di port komputernya. Jangan lupa juga setting boot dari USB flash disk. Akan muncul tampilan seperti ini jika berhasil booting dari USB flash disk. Kemudian pilih "Install Ubuntu"
Membuat Mode Booting Instalasi Linux Menggunakan USB Flash Disk
Jika kamu mengunduh file ".iso" untuk menginstall Linux (disini memakai Ubuntu) langsung dari www.ubuntu.com namun bingung bagaimana membuat mode booting menginstal Linux, disini akan dijelaskan bagaimana cara membuatnya menggunakan perantara USB flash disk.
Dikutip dari http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows dengan menggunakan perantara Windows 7 untuk membuat mode booting nya, yang harus dipersiapkan adalah:
- File installer Ubuntu berekstensi .iso yang sesuai dengan spesifikasi perangkat kamu (32-bit atau 64-bit)
- USB Flash Disk minimal tersedia kapasitas kosong 2GB
- Pen Drive Linux's USB Installer (dapat diunduh di http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/)
Jika semua sudah siap, berikut langkah-langkahnya:
Dikutip dari http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows dengan menggunakan perantara Windows 7 untuk membuat mode booting nya, yang harus dipersiapkan adalah:
- File installer Ubuntu berekstensi .iso yang sesuai dengan spesifikasi perangkat kamu (32-bit atau 64-bit)
- USB Flash Disk minimal tersedia kapasitas kosong 2GB
- Pen Drive Linux's USB Installer (dapat diunduh di http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/)
Jika semua sudah siap, berikut langkah-langkahnya:
Kamis, 02 Oktober 2014
Istilah di Dalam Sistem Operasi
Setelah kita membahas apa itu Sistem Operasi, pada postingan kali ini akan dibahas istilah-istilah di dalam Sistem Operasi. Sebenarnya apa saja istilah-istilah di dalam Sistem Operasi yang harus kita tahu? Check this out :D
1. Proses
Proses adalah program yang sedang berjalan. Proses ini mempunyai sebuah single sequential thread. Proses sendiri terdiri dari executable program, data (variabel, ruang kerja, buffer, dll).
2. Memori Manajement
Adalah memampuan Sistem Operasi untuk mengatur pemakaian memori di dalam sebuah perangkat komputer. Sebuah Sistem Operasi sendiri harus dapat mengatur:
- Isolasi proses (tidak semua dapat mengakses seluruh area di memori)
- Alokasi dan manajemen memori secara otomatis
- Mendukung modular programming (tidak selalu memasukkan fungsi yang sama ke dalam library)
- Proteksi dan kontrol akses
- Long term storage
3. Virtual Memory
Adalah kemampuan Sistem Operasi untuk menggabungkan kemampuan memori dengan disk (harddisk).
1. Proses
Proses adalah program yang sedang berjalan. Proses ini mempunyai sebuah single sequential thread. Proses sendiri terdiri dari executable program, data (variabel, ruang kerja, buffer, dll).
2. Memori Manajement
Adalah memampuan Sistem Operasi untuk mengatur pemakaian memori di dalam sebuah perangkat komputer. Sebuah Sistem Operasi sendiri harus dapat mengatur:
- Isolasi proses (tidak semua dapat mengakses seluruh area di memori)
- Alokasi dan manajemen memori secara otomatis
- Mendukung modular programming (tidak selalu memasukkan fungsi yang sama ke dalam library)
- Proteksi dan kontrol akses
- Long term storage
3. Virtual Memory
Adalah kemampuan Sistem Operasi untuk menggabungkan kemampuan memori dengan disk (harddisk).
(Diagram Virtual Memory)
4. Multiprocessing OS
Ialah kemampuan sebuah Sistem Operasi menjalankan lebih dari satu intruksi di dalam satu waktu. Di dalam multiprocessing sendiri terdapat beberapa istilah.
Senin, 22 September 2014
Sistem Operasi?
Apa itu?
Sistem Operasi adalah program / aplikasi yang mengatur eksekusi program lain dibawahnya. Sistem Operasi juga merupakan perantara (interface) antara aplikasi dengan hardware. Sistem Operasi juga merupakan salah satu pengatur lalu lintas di dalam sebuah perangkat komputer.
Syarat desain Sistem Operasi?
Ada tiga syarat utama dibangunnya sebuah Sistem Operasi:
1. Nyaman
2. Efisien
3. Dapat mengikuti perkembangan zaman / dapat berevolusi
Sistem Operasi harus bisa apa saja?
1. Pengembangan Program
Sebuah Sistem Operasi harus dapat menjadi sebuah Editor dan juga Debuggers demi menjalankan sebuah Sistem di dalam sebuah perangkat komputer.
Langganan:
Postingan (Atom)