Rabu, 16 Maret 2011

Konsep Manejemen Proses Sistem Operasi


Konsep Dasar Sistem Operasi
1.      Komponen Sistem Operasi
2.      Layanan Sistem Operasi
3.      System Calls
4.      Pemrograman Sistem
5.      Struktur sistem
6.      Mesin Virtual
7.      System Generation
8.      Rancangan Sistem
Komponen Sistem
1.      Managemen Proses
2.      Managemen Memori Utama
3.      Managemen Berkas
4.      Managemen I/O
5.      Managemen Penyimpanan Sekunder
6.      Jaringan
7.      Sistem Proteksi
8.      Command-Interpreter

Secara informal, proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor’s register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. suatu program adalah satu entitas pasif, seperti isi dari sebuah berkas yang disimpan didalam disket, sebagaimana sebuah proses dalam suatu entitas aktif, dengan sebuah program counter yang mengkhususkan pada instruksi selanjutnya untuk dijalankan dan seperangkat sumber daya/ resource yang berkenaan dengannya.
Walau dua proses dapat dihubungkan dengan program yang sama, program tersebut dianggap dua urutan eksekusi yang berbeda. Sebagai contoh, beberapa pengguna dapat menjalankan copy yang berbeda pada mail program, atau pengguna yang sama dapat meminta banyak copy dari program editor. Tiap-tiap proses ini adakah proses yang berbeda dan walau bagian tulisan-text adalah sama, data section bervariasi. Juga adalah umum untuk memiliki proses yang menghasilkan banyak proses begitu ia bekerja.
Setiap proses dalam sebuah sistem operasi mendapatkan sebuah PCB (Process Control Block) yang memuat informasi tentang proses tersebut, yaitu: sebuah tanda pengenal proses (Process ID) yang unik dan menjadi nomor identitas, status proses, prioritas eksekusi proses dan informasi lokasi proses dalam memori. Prioritas proses merupakan suatu nilai atau besaran yang menunjukkan seberapa sering proses harus dijalankan oleh prosesor. Proses yang memiliki prioritas lebih tinggi, akan dijalankan lebih sering atau dieksekusi lebih dulu dibandingkan dengan proses yang berprioritas lebih rendah. Suatu sistem operasi dapat saja menentukan semua proses dengan prioritas yang sama, sehingga setiap proses memiliki kesempatan yang sama. Suatu sistem operasi dapat juga merubah nilai prioritas proses tertentu, agar proses tersebut akan dapat memiliki kesempatan lebih besar pada eksekusi berikutnya (misalnya: pada proses yang sudah sangat terlalu lama menunggu eksekusi, sistem operasi menaikkan nilai prioritasnya).
Komunikasi antar proses
(Inter Process Communinication / IPC) :
·  Beberapa proses biasanya berkomunikasi dengan proses lainnya.
·  Contohnya pada shell pipe line : output dari proses pertama harus diberikan kepada proses ke dua dan seterusnya.
·  Pada beberapa sistem operasi, proses-proses yang bekerja bersama sering sharing (berbagi) media penyimpanan, dimana suatu proses dapat membaca dan menulis pada shared storage (main memory atau files).
Mekanisme proses untuk komunikasi dan sinkronisasi aksi
  • Sistem Pesan – komunikasi proses satu dengan yang lain dapat dilakukan tanpa perlu pembagian data.
  • IPC menyediakan dua operasi :
    • send(message) – pesan berukuran pasti atau variabel
    • receive(message)
    • Jika P dan Q melakukan komunikasi, maka keduanya memerlukan :
      • Membangun jalur komunikasi diantara keduanya
      • Melakukan pertukaran pesan melaui send/receive
    • Implementasi jalur komunikasi
      • physical (shared memory, hardware bus)
      • logical (logical properties)
Create and Destroyed Process
  • Pembuatan Proses (Create)
Penciptaan proses terjadi karena terdapat batch baru. SO dengan kendali batch job, setelah menciptakan proses baru, kemudian melanjutkan membaca job selanjutnya.
Penciptaan proses melibatkan banyak aktivitas, yaitu :
  • Menamai (memberi identitas) proses.
  • Menyisipkan proses pada senarai proses atau tabel proses.
  • Menentukan prioritas awal proses.
  • Menciptakan PCB.
  • Mengalokasikan sumber daya awal bagi proses.
  • Penghancuran Proses (Destroyed)
Penghancuran proses terjadi karena :
  • Selesainya proses secara normal.
  • Proses mengeksekusi panggilan layanan So untuk menandakan bahwa proses telah berjalan secara lengkap.
  • Batas waktu telah terlewati.
  • Proses telah berjalan melebihi batas waktu total yang dispesifikasikan. Terdapat banyak kemungkinan untuk tipe waktu yang diukur, termasuk waktu total yang dijalani (“walk clock time”) jumlah waktu yang dipakai untuk eksekusi, dan jumlah waktu sejak pemakai terakhir kali memberi masukan (pada proses interaktif) .
  • Memori tidak tersedia.
  • Proses memerlukan memori lebih banyak daripada yang dapat disediakan oleh sistem.
  • Pelanggaran terhadap batas memori.
  • Proses memcoba mengakses lokasi memori yang tidak diijinkan untuk diakses.
  • Terjadi kesalahan karena pelanggaran proteksi.
  • Proses berusaha menggunakan sumber daya atau file yang tidak diijinkan dipakainya, atau proses mencoba menggunakannya tidak untuk peruntukannya, seperti menulis file read only.
  • Terjadi kesalahan aritmatika.
  • Proses mencoba perhitungan terlarang, seperti pembagian dengan nol, atau mencoba menyimpan angka yang lebih besar daripada yang ddapat diakomodasi oleh H/W.
  • Waktu telah kadaluwarsa.
  • Proses telah menunggu lebih lama daripada maksimum yang telah ditentukan untuk terjadinya suatu kejadian spesfiik.
  • Terjadi kegagalan masukan/keluaran.
  • Kesalahan muncul pada masukan atau keluaran, seprti ketidakmampuan menemukan file, kegagalan membaca atau mennulis setelah sejumlah maksimum percobaan yang ditentukan (misalnya area rusak didapatkan pada tape,atau operasi tidak valid seperti membaca dari line printer).
  • Intruksi yang tidak benar.
  • Proses berusaha mengeksekusi instruksi yang tidak ada (sering sebagi akibat pencabangan ke daerah data dan berusaha mengeksekusi data tersebut).
  • Terjadi usaha memakai instruksi yang tidak diijinkan.
  • Proses berusaha mengeksekusi instruksi yang disimpan untuk SO.
  • Kesalahan penggunaan data.
  • Bagian data adalah tipe yang salah atau tidak diinisialisasi.
  • Diintervensi oleh SO atau operator.
  • Untuk suatu alasan, operator atau sistem operasi mengakhiri proses (misalnya terjadi deadlock).
  • Berakhirnya proses induk.
  • Ketika parent berakhir. So mungkin dirancannng secara otomatis mengakhiri semua anak proses dari parent itu.
  • Atas permintaan proses induk.
  • Parent process biasanya mempunyai otoritas mengakhiri suatu anak proses.
Penghancuran lebih rumit bila proses telah menciptakan proses-proses lain. Terdapat dua pendekatan, yaitu :
  • Pada beberapa sistem, proses-proses turunan dihancurkan saat proses induk dihancurkan secara otomatis.
  • Beberapa sistem lain menganggap proses anak independen terhadap proses induk Proses anak tidak secara otomatis dihancurkan saat proses induk dihancurkan.
Penghancuran proses melibatkan pembebasan proses dari sistem, yaitu :
  • Sumber daya-sumber daya yang dipakai dikembalikan.
  • Proses dihancurkan dari senarai atau tabel sistem.
  • PCB dihapus (ruang memori PCB dikembalikan ke pool memori bebas).
Threads
Sebagai contoh, jika sebuah proses menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang sedang dilaksanakan.
Kontrol thread tunggal ini hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu. Banyak sistem operasi modern telah memiliki konsep yang dikembangkan agar memungkinkan sebuah proses untuk memiliki eksekusi multithreads, agar dapat dapat secara terus menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu waktu.
  1. 2. Keadaan Proses
1)      Running, yaitu suatu kondisi pemroses sedang mengeksekusi instruksi. Benar-benar menggunakan CPU pada saat itu (sedang mengeksekusi instruksi proses itu).
2)      Ready, yaitu suatu kondisi proses siap dieksekusi, akan tetapi pemroses belum siap atau sibuk.
3)      Blocked, yaitu suatu proses menunggu kejadian untuk melengkapi tugasnya. Bentuk kegiatan menunggu proses yaitu : selesainya kerja dari perangkat I/Otersedianya memori yang cukup.
Transisi Status



1)      Proses di blok untuk melayani input karena sumber daya yang diminta belum tersedia / meminta layanan I/O sehingga menunggu kejadian muncul.
2)      Penjadwalan mengambil proses lain.
3)      Penjadwalan mengambil proses ini (baru).
4)      Input telah tersedia.
Implementasi Proses :
  • Untuk mengimplementasikan model proses, sistem operasi menggunakan suatu tabel / array yang disebut tabel proses dengan 1 entry per-proses.
  • Setiap entry berisi tentang : status proses, program counter, stack pointer, alokasi memori, status file, informasi schedulling / penjadwalan informasi, dll dari status kerja ke status siap.
  1. 3. Penjadwalan Proses
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
a)      Adil (fairness)
Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu  pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.
b)      Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu
sibuk pemroses.
c)       Waktu tanggap (response time)
Waktu tanggap berbeda untuk :
1)      Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari . perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.
2)      Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.
d)      Turn around time
Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu : Turn arround time = waktu eksekusi + waktu menunggu.
e)      Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu
Algoritma Penjadwalan
Berikut jenis-jenis algoritma berdasarkan penjadwalan :
  1. Nonpre-emptive, menggunakan konsep :
    1. FIFO (First In First Out) atau FCFS (First Come First Serve)
    2. SJF (Shortest Job First)
    3. HRN (Highest Ratio Next)
    4. MFQ (Multiple Feedback Queues)
    5. Pre-emptive, menggunakan konsep :
      1. RR (Round Robin)
      2. SRF (Shortest Remaining First)
      3. PS (Priority Schedulling)
      4. GS (Guaranteed Schedulling)
Algoritma Pre-emptive
  1. A. Round Robin (RR)
Merupakan :
  • Penjadwalan yang paling tua, sederhana, adil,banyak digunakan algoritmanya dan mudah diimplementasikan.
  • Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time).
  • Penjadwalan tanpa prioritas.
  • Berasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak   ada prioritas tertentu.
Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses yang disebut kwanta (quantum) atau time slice dimana proses  itu berjalan. Jika proses masih running sampai akhir quantum, maka CPU akan mempreempt proses itu dan memberikannya ke proses lain.
Algoritma yang digunakan :
1)      Jika kwanta habis dan proses belum selesai, maka proses menjadi runnable dan pemroses dialihkan ke proses lain.
2)      Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
3)      Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain.
Diimplementasikan dengan :
1)      Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.
2)      Ambil proses yang berada di ujung depan antrian menjadi running.
3)      Bila kwanta belum habis dan proses selesai, maka ambil proses di ujung depan antrian proses ready.
4)      Jika kwanta habis dan proses belum selesai, maka tempatkan proses running ke ekor antrian proses ready dan ambil proses di ujung depan antrian proses ready.
Masalah yang timbul adalah menentukan besar kwanta, yaitu :
  • Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn arround time rendah.
  • Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak sehingga  menurunkan efisiensi proses.
Penjadwalan ini :
  • Baik untuk sistem interactive-time sharing dimana kebanyakan waktu dipergunakan menunggu kejadian eksternal.
Contoh : text editor, kebanyakan waktu program adalah untuk menunggu keyboard, sehingga dapat dijalankan proses-proses lain.
  • Tidak cocok untuk sistem waktu nyata apalagi hard-real-time applications.





SystemManagemen Proses (1)
Proses adalah sebuah program yang sedang dijalankan
(eksekusi).
Suatu proses memerlukan sumber daya pada saat ekesekusi:
CPU time, memori, berkas dan peranti I/O
Managemen Proses (2)
Sistem operasi bertanggung jawab terhadap aktifitas yang
berhubungan dengan manajemen proses:
Pembuatan dan penghapusan proses
Penundaan dan pelanjutan proses
Penyedia mekanisme untuk:
• Sinkronisasi antar proses
• Komunikasi antar proses
• Penanganan Deadlock
Managemen Memori Utama (1)
Memori sebagai tempat penyimpanan instruksi/data dari
program.
Penyimpanan yang cepat sehingga dapat mengimbangi
kecepatan eksekusi instruksi CPU
Terdiri dari “array words/bytes” yang besar
Alamat digunakan untuk mengakses data (shared oleh
CPU dan I/O devices)
Managemen Memori Utama (2)
Umumnya main memory bersifat “volatile” – tidak permanen
Isinya akan hilang jika komputer di matikan.
Sistem operasi bertanggung jawab untuk aktivitas berikut yang
berhubungan dengan manajemen memori:
melacak pemakaian memori (siapa dan berapa besar?).
memilh program mana yang akan di load ke memori
ketika bisa digunakan.
alokasi dan dealokasi memori sesuai  yang dibutuhkan
Managemen File (1)
Berkas adalah kumpulan informasi yang berhubungan
(sesuai dengan tujuan pembuat berkas tersebut). Biasanya
berkas merepresentasikan program dan data.
Sistem operasi bertanggung jawab untuk aktivitas berikut
yang berhubungan dengan manajemen berkas:
pembuatan dan penghapusan berkas
pembuatan dan penghapusan direktori
Mendukung primitif untuk manipulasi berkas dan
direktori
memetakan berkas pada sistem sekunder
Backup berkas pada media penyimpanan yang stabil
(nonvolatile)
Managemen sistem I/O
Sistem I/O terdiri dari :
Sistem buffer : menampung sementara data dari/ke peranti
I/O
Spooling: melakukan penjadwalan pemakaian I/O
sistem supaya  lebih efisien (antrian dsb)
Antarmuka devices-driver yang umum :
menyediakan  device driver yang umum sehingga
sistem operasi dapat  seragam (buka, baca, tulis, tutup)
Drivers untuk spesifik perangkat keras :
menyediakan driver untuk melakukan operasi
rinci/detail untuk perangkat keras tertentu.
Manajemen Penyimpanan Sekunder
Penyimpanan sekunder : Penyimpanan Permanen
Karena memori utama  bersifat sementara  dan
kapasitasnya terlalu kecil, maka untuk menyimpan semua
data dan program secara permanen, sistem komputer
harus menyediakan penyimpanan sekunder untuk
dijadikan back-up memori utama.
Sistem Operasi bertanggung jawab dalam aktivitas yang
berhubungan dengan  manajemen penyimpanan sekunder :
manajemen ruang kosong
alokasi penyimpanan
penjadwalan disk
Jaringan (Sistem Terdistribusi)
Sistem Terdistribusi adalah kumpulan prosesor yang tidak
berbagi memori atau clock. Setiap prosesor memiliki
memori lokal masing-masing.
Prosesor-prosesor dalam sistem terhubung dalam jaringan
komunikasi. Sistem terdistribusi menyediakan akses pengguna ke
bermacam-macam sumber daya. Akses tersebut
menyebabkan :
Peningkatan kecepatan kompuatsi
peningkatan penyediaan data
peningkatan keandalan
Sistem Proteksi
Proteksi berkenaan dengan mekanisme untuk mengontrol
akses yang dilakukan oleh  program, prosesor, pengguna
sistem maupun pengguna sumber daya.
Mekanisme Proteksi harus :
membedakan antara penggunaan yang sah dan yang
tidak sah.
spesifikasi kontrol untuk di terima
menyediakan alat untuk pemberlakuan sistem.
Command-Interpreter System (1)
Sistem Operasi menunggu instruksi dari pengguna (command
driven).
Program yang membaca instruksi dan mengartikan control
statements (keinginan pengguna) umumnya disebut:
control-card interpreter
command-line interpreter
UNIX shell.
Command-Interpreter System (2)
Command-Interpreter System sangat bervariasi dari satu
sistem operasi ke sistem operasi yang lain dan disesuaikan
dengan tujuan dan teknologi I/O peranti yang ada.
Contohnya: CLI, Windows, Pen-based (touch), dan
lain-lain.
Pelayanan Sistem Operasi(1)
Eksekusi program : meload program ke memory dan
menjalankannya (run)
Operasi I/O : pengguna tidak bisa mengontrol I/O secara
langsung ( untuk efisiensi dan keamanan), sistem harus
bisa menyediakan mekanisme utk melakukan operasi I/O
Manipulasi sistem berkas: membaca, menulis, membuat,
dan menghapus file
Pelayanan Sistem Operasi (2)
Komunikasi : pertukaran informasi, dapat dilaksanakan
melalui shared memory atau message passing
Deteksi error : mempertahankan kestabilan dengan
mendeteksi error (pada CPU, perangkat keras memori, I/O,
program pengguna) dan jika bisa, memperbaikinya
Pelayanan Tambahan
Lebih diarahkan kepada upaya untuk menjaga efisiensi
sistem,bukan untuk membantu pengguna
Alokasi sumber daya : mengalokasikan sumber daya
kepada beberapa pengguna atau tugas yang dijalankan
pada saat yang bersamaan
Accounting : menentukan berapa banyak dan berapa lama
users menggunakan sumber daya sistem
Proteksi : menjaga semua akses ke sumber daya sistem
Terkontrol
System calls (3)
System calls menyediakan antarmuka antara proses
(program yang sedang dijalankan) dan sistem operasi.
Biasanya tersedia sebagai instruksi bahasa rakitan
Beberapa sistem mengizinkan system calls dibuat
langsung dari bahasa pemrograman tingkat tinggi
System Calls (2)
Beberapa bahasa pemrograman tingkat tinggi (contoh : C,
C++) telah didefenisikan untuk menggantikan bahasa
rakitan untuk sistem pemrograman

System Calls (3)
Tiga metode umum yang digunakan dalam memberikan
parameter kepada sistem operasi
Melalui register
Menyimpan parameter dalam blok atau tabel pada
memori dan alamat blok tersebut diberikan sebagai
parameter dalam register
Menyimpan parameter (push) ke dalam stack (oleh
program), dan melakukan pop off pada stack (oleh
sistim operasi)
Jenis System Calls
1.      Pengendalian proses
2.      Manajemen berkas
3.      Manajemen Peranti
4.      Mempertahankan informasi
5.      Komunikasi
Process Control
1.      selesai, abort
2.      Load, eksekusi
3.      Membuat dan mengakhiri proses
4.      Mengambil dan mengeset atribut proses
5.      Menunggu waktu
6.      Wait event, signal event
7.      Alokasi dan pengosongan memori
Eksekusi MS-DOS
Sumber: Silberschatz,et.al, Operating System Concepts,  6th ed, .2003, New York:John Wiley &
Son.Inc ,  page 68
UNIX Menjalankan Multiple Program
Sumber: Silberschatz,et.al, Operating System Concepts,  6th ed, .2003, New York:John Wiley &
Son.Inc ,  page 69
Manajemen Berkas
1.      Membuat dan menghapus berkas
2.      Membuka dan menutup berkas
3.      Read, write, reposition
4.      Mengambil dan mengeset atribut berkas
Manajemen Peranti
1.      Meminta peranti, melepaskan peranti
2.      Read, write, reposition
3.      Mengambil dan mengeset atribut peranti
Information Maintenance
1.      Mengambil dan mengeset waktu dan tanggal
2.      Mengambil dan mengeset sistem data
3.      mengambil proses, berkas atau atribut peranti
4.      Mengeset proses, berkas atau atribut peranti
Komunikasi
1.      Menciptakan, menghapus hubungan komunikasi
2.      Mengirim dan menerima pesan
3.      Mentransfer status informasi
4.      Attach atau detach remote device
Komunikasi dapat dilakukan melalui message passing atau
shared memory
Mekanisme Komunikasi
Sumber: Silberschatz,et.al, Operating System Concepts,  6th e, .2003, New York:John Wiley & Son.Inc ,
page 72
Pemrograman sistem (1)
Pemrograman sistem menyediakan lingkungan yang
memungkinkan pengembangan program dan eksekusi
berjalan dengan baik
Dapat dikategorikan :
Manajemen/manipulasi berkas : membuat, menghapus,
copy, rename, print, memanipulasi berkas dan direktori
Pemrograman Sistem (2)
Informasi Status : tanggal, jam, jumlah memori dan disk
yang tersedia, jumlah pengguna, dan informasi tentang
status lainnya
Modifikasi Berkas : modifikasi isi berkas
Mendukung bahasa pemrograman : Kompilator,
perakit, interpreter
Pemrograman Sistem (3)
Loading dan eksekusi program : absolute loaders,
relocatable loaders, linkage editors, overlay loaders
Komunikasi : menyediakan mekanisme komunikasi antara
proses, pengguna, dan sistem komputer yang berbeda
System program yang paling penting adalah command
interpreter (mengambil dan menerjemahkan user-
specified command selanjutnya)
Struktur Sistem
1.      Struktur Sederhana
2.      Metode pendekatan Terlapis
3.      Mikrokernel
Struktur Sederhana
Dimulai dengan sistem yang kecil, sederhana dan terbatas
kemudian berkembang dengan cakupan original
Struktur sistem MS-DOS:
disusun untuk mendukung fungsi yang banyak pada
ruang yang kecil
Struktur Sistem UNIX
Terdiri dari 2 bagian:
- Kernel :
• antarmuka
• device drivers
-Program SistemPendekatan Terlapis
Lapisan adalah implementasi dari objek abstrak yang
merupakan enkapsulasi dari data dan operasi yang bisa
memanipulasi data tersebut
Lapisan paling bawah : perangkat keras
Lapisan paling atas : antarmuka penggunaTingkatan Desain Sistem OperasiPendekatan Terlapis
Keuntungan :   modularitas
mempermudah debug dan verifikasi sistem
lapisan pertama bisa didebug tanpa
mengganggu sistem yang lain
Kesulitan :
hanya bisa menggunakan lapisan
dibawahnya
tidak efisien dibandingkan tipe yang lainMikrokernel (1)
Menyusun sistem operasi dengan menghapus semua
komponen yang tidak esensial dari kernel, dan
mengimplementasikannya sebagai sistem program dan
level pengguna
Fungsi utama : mendukung fasilitas komunikasi antara
program klien dan bermacam-macam layanan yang juga
berjalan di user-spaceMikrokernel (2)
Keuntungan :
ketika layanan baru akan ditambahkan
ke user-space,  kernel tidak perlu di modif
OS lebih mudah ditempatkan pada suatu desain
perangkat keras ke desain lainnya
mendukung keamanan reliabilitas lebih
Contoh sistem operasi :
Tru64 UNIX, MacOSX, QNXMesin Virtual (1)
Mesin virtual mengambil pendekatan terlapis sebagai
kesimpulan logis. Mesin virtual memperlakukan
hardware dan sistem operasi seolah-olah berada pada
level yang sama sebagai perangkat keras.
Pendekatan Mesin virtual menyediakan sebuah
antarmuka yang identik dengan underlying bare
hardware.
Sistem Operasi membuat ilusi dari banyak proses,
masing-masing dieksekusi pada prosesornya sendiri
dengan virtual memorinya sendiri.
VM dibuat dengan pembagian sumber daya oleh
komputer fisikMesin virtual (2)
Sumber daya dari komputer fisik dibagi untuk membuat
VM
Penjadwalan CPU bisa menciptakan penampilan
seakan – akan pengguna mempunyai prosesor sendiri
Spooling dan sistem data bisa menyediakan  virtual
card readers dan virtual line printers
Sebuah time-sharing terminal user yang normal
melayani  sebagaimana operator konsulat
VM software membutuhkan ruang di dalam disk untuk
menyediakan memori virtual dan spooling, yaitu sebuah
disk virtualKeuntungan Penggunaan
Mesin virtual
Keamanan bukanlah masalah
VM mempunyai pelindungan lengkap pada
berbagai sistem sumber daya
Tidak ada pembagian sumber daya secara
langsung. Pembagian disk mini dan jaringan
diimplementasikan pada perangkat lunak
VM sistem adalah kendaraan yang “sempurna” untuk
penelitian dan pengembangan sistem operasi
Dengan VM perubahan suatu bagian tidak akan
mempengaruhi komponen yang lain Kerugian Penggunaan VM
VM sulit diimplementasikan karena banyak syarat yang
dibutuhkan untuk menyediakan duplikat yang tepat dari
underlying machine
Harus punya virtual-user mode dan virtual-
monitor mode yang keduanya berjalan di pysical
mode. Akibatnya, saat   instruksi yang hanya
membutuhkan virtual monitor mode dijalankan,
register berubah dan bisa berefek pada virtual
user mode, bahkan bisa me-restart VM
Waktu yang dibutuhkan I/O bisa lebih cepat(karena ada
spooling), tapi bisa lebih lambat( karena diinterpreted) Java Virtual Machine (1)
Program Java yang telah dicompile adalah platform-neutral
bytecodes yang dieksekusi oleh Java Virtual Machine(JVM)
JVM terdiri dari:
pengeload kelas
pemverifikasi kelas
runtime interpreter
Just In-Time(JIT) kompilator meningkatkan kinerjaJava Virtual Machine (2)
Java Development Environment(JDE) terdiri dari sebuah
compile time environment yang mengubah java
sourcescode menjadi bytecode,dan sebuah run time
environment yang menyediakan Java platform system
untuk tuan rumah Perancangan Sistem
Masalah : menentukan tujuan dan spesifikasi sistem.
Perancangan sistem dipengaruhi oleh perangkat keras dan
jenis sistem sehingga kebutuhan-nya akan lebih sulit untuk
dispesifikasikan.
Kebutuhan terdiri dari tujuan pengguna dan tujuan sistem.
Pengguna ingin sistem yang  enak digunakan, mudah
dipelajari, terpercaya, aman, dan cepat. Tapi itu semua
sebenarnya tidak dibutuhkan oleh sebuah sistem.
Sistem ingin mudah dirancang dan diimplmentasikan,
fleksibel, terpercaya, error yang minimal, dan efisien.  Mekanisme dan Kebijakan
Mekanisme menjelaskan bagaimana melakukan sesuatu,
kebijakan menentuakan apa yang akan dilakukan
Pemisahan kebijakan dari mekanisme adalah hal yang
sangat penting, ini ,mengijinkan fleksibilitas yang tinggi
jika kebijakan akan diubah suatu saat.
Kebijakan penting untuk semua alokasi sumber daya dan
menjadwalkan masalah, menentukan perlu atau tidaknya
mengalokasikan sumber daya.
Mekanisme yang menentukan apa dan bagaimanaImplementasi Sistem (1)
Secara tradisional, sistem operasi ditulis dalam bahasa
rakitan,  tapi sekarang sering dibuat dalam bahasa tingkat
tinggi.
Keuntungan ditulis dalam bahasa tingkat tinggi adalah
kodenya bisa ditulis dengan lebih cepat
lebih padat
mudah dimengerti dan didebugImplementasi Sistem (2)
Sistem operasi yang ditulis dengan bahasa tingkat tinggi
akan mudah dipindahkan ke perangkat keras lain, tapi bisa
mengurangi kecepatan dan membutuhkan penyimpanan
yang lebih banyak.System Generation
Sistem operasi dirancang untuk dapat dijalankan pada
berbagai jenis mesin, sistemnya harus dikonfigurasikan
untuk setiap komputer.
Program Sysgen mendapatkan informasi mengenai
konfigurasi khusus tentang sistem perangkat keras dari
sebuah data, antara lain sebagai berikut:
CPU apa yang digunakan, pilihan yang diinstal
Berapa banyak memori yang tersedia
Peralatan yang tersedia
Sistem operasi pilihan apa yang diinginkan atau
parameter apa yang digunakan
Satu kali info diperoleh, bisa digunakan dengan berbagai
cara
 silahkan download file menggunakan link dibawah ini



Tidak ada komentar:

Posting Komentar