Kamis, 06 Oktober 2011


An Theoperating systemmanages thehardware
(Operating System mengatur Perangkat Keras)

Kembali ke contoh “hello”.Ketika shell memuat dan menjalankan program hello,dan ketika hello program dicetak dalam pesannya,program yng lain mengakses keyboard,layar,harddisk,RAM secara langsung.agaknya,mereka mengandalkan layanan yang telah tersedia pada OS.kia dapat memikirkan OS seperti sebuah lapissan dari sebuah program perantara antara program aplikasi dan had ware ,sepertti yang ditampilkan pada gambar 1.10.semua yang dilakuakan oleh program aaplikasi yang memanipulasi hardware harus melalui OS.
OS mempunyai 2 fungsi,(1) untuk melindungi hardware dari kesalahan oleh program yang sedang berjalan,dan (2) untuk menyediakan aplikasi dengan mudah dan dengan mekanisme yang seragam untuk pemanipulasian yang kompleks dan seringkali pada hardware- hardware level rendah yang mepunyai perbedaan yang tak beraturan.OS mencapai kedua targetnya melalui pembagian mendasar (fundamental abstractions) seperti pada gambar 1.11.: proseses,virtual memory,dan file-file


Seperti gamabar diiatas file adalah pembagian untuk I/O device(perangkat input output ) virtual memory adalah pembagian untuk RAM /min memory dan disc I/O device. Dan prosesess(proses) adalah pembagian untuk prosesor,RAM,dan I/O device .

1.7.1 Processes
Ketika program seperti hello berjalan pada sistem modern ,OS menyediakan ilussion dimana program hanya sekali berjalan dalam sistem. Program appear harus mempunyai penggunaan eksklusif pada prosesor,Ram dan perangakat input output. Prosesor appear mengeksekusi intruksi dalam program satu persatu,tanpa interupsi. Illusion-illusion ini disediakan oleh Notion dari proses,satu dari banyak gagasan ilmu komputer yang penting dan berhasil.
Sebuah Proses adalah bagia dari OS untuk menjalankan program. Proses yang banyak dapat berjalan sekaligus pada sistem yang sama,dan proses appears yang lain unuk penggunaan secara eksklusif pada hardware. Dengan concurrently (secara sekaligus) , kita mengartika bahwa instruksi/perintah dari sebuah proses adalah interleaved dengan instruksi yang lain. OS menampilakan interleaving ini denagn mekanisme yang kita ketahui sebagai “ context switching ”.
OS menjaga jalur / urutan semua informasi keadaan yang proses butuhkan untuk berjalan (run). Keadaan ini disebut dengan “context” , termasuk informasi seperti nilai yang berjalan (current value) pada komputer,register file, dan isi RAM.pada semua poin sekarang ,sebenarnya sebuah proses berjalan ada sebuah sistem. Ketika OS memuuskan untuk mengotrol perpindahan/transfer dari proses yang berjalan ke beberapa proses baru,ini menujukkan sebuah context switch menyimpan isi pada proses- proses yang sedang berlangsung,mengembaliakan isi dari proses baru, dan kemudian melewati kontrol pada proses yang baru.Proses baru mengambil denag tepat diamana ia berhenti. Gambar 1.12 menunjukkan ide dasar untuk contoh kita “ hello scenario” .
Ada dua proses yang bersamaan pada conoh kita: proses shell dan proses hello. Pada awlanya ,proses shell berjalan sendiri , menunggu masukan / input pada baris perintah /command line.ketika kita memerintahkan untuk menjalanakan program hello ,shell membawa permintaan / perintah kita dengan menggunkan fungsi spesial yang disebut System call yang melalui kontrol pada OS.OS menyimpan shell context , membuat proses hello serta context nya dan kemudian melewati kontrol ke hello proses yang baru. Setelah hello proses selesai ,OS kembali ke shell context dan melalui kontrol untuk kembali ke shell proses,diamana ia menungggu untuk baris perintah masukan/ input command.
Penerapan pada proses pembagian/abstraction membutuhkan kerjasama yang sangat baik dari hardware level rendah dan perangakat lunak/ software pada OS.kita akan memabahas lebih dalam cara kerjanya,dan bagaimana aplikasi dapat membuat dan mengatur/ mengontrol prosesnya,pada bab 8.
Salah satu implikasi pada proses abstraction adalah bahwa dengan proses interleaving yang berbeda , itu memutarbalikkan notion pada saat yang bersamaan,membuatnya sulit programmer melih dengan akurat dan pengukuran berulang pada saat berjalan. Pada BAB 9 akan dibahas berbagai variasi notion of time pada sistem modern dan menjelaskan teknik untuk mendapatkan pengukuran yang akurat.
1.7.2 Threads
Walaupun pada pemikiran normal pada sebuah proses seperti mempunyai aliran kontrol tunggal (single control flow),pada sistem modern sebuah proses dapat secara nyata konsisten pada pengeksekusian unit dalam jumlah yang banyak/multiple execution units, yang disebut threads ,yang lain berjalan pada context proses dan berbagi kode dan data yang brsifat global.
Threads adalah model program penting yang terus meningkat karena kebutuhan untuk persetujuan dalam jaringan server,karena ini sangat mudah untuk barbagi data pada multile thread dari pada diantara multiple proses dan karena threds bersifat lebih efisien dari pada proses.kita akan belajar konsep dasar dari program thread pada bab 11,dan akan belajar bagaimana membangun concurrent network server ( jaringan server yang memerlukan persetujuan) menggunakan threads pada bab 12.
1.7.3 Virtual Memory
Virtual memory adalah bagian /abstraction yang melayani proses lain dengan illusion yang mempunyai kegunaan eksklusif pada RAM. Proses yang lain memunyai keseragaman tapilan yang sama ,yang dikenal dengan virtual address space. Virtula addres space untuk proses ada liux ditunjukkan pada gambar `1.13 (syistem UNIX yang lain menggunkan layou yang hampir mirip). Pada linu ,1/4 address space yang terbanyak digunakan untuk kode dan data dalam OS yang biasa pada semua prroses.3/4 sisanya menahan kode dan data yang dikenali oleh proses pengguna.catat bahwa addreses /alamat pada gambar meingkat dari bawah ke atas.