Kamis, 22 April 2010

tugas sistem operasi(so)4

Soal!!
1. Pelajari perintah dtrace atau sejenis di Linux. Buat rangkumannya disertai 3 contoh !
2. Buat rangku
2. Buat rangkuman perbedaan antara Unix, FreeBSD, Solaris, dan Linux!
3. Buat program untuk membuka, membaca, menulis, dan menutup file menggunakan:
– Bahasa C murni
– Bahasa C yang memanggil system-call Linux

Essay!!!!
1.Dtrace adalah sebuah fasilitas perunut dinamis komprehensif yang tersedia di Sistem Operasi Solaris 10. Pemanfaatan fasilitas ini ditujukan kepada:
• Administrators System
• Teknisi Pendukung Layanan (Service Support Personnel)
• Pengembang Kernel
• Pengembang Program Applikasi
Berikut adalah beberapa perintah DTrace yang umum digunakan:
Data Recording Actions:
• trace(expression) – mengevaluasi expression dan menampilkannya ke output buffer.
• tracemem(address, size_t nbytes) – men-copy isi memory sebanyak nbytes ke output buffer.
• printf(format,...) – men-format dan mencetak seperti layaknya di C.
• printa(aggregation), printa(string format, aggregation) – menampilkan hasil agregasi.
• stack(int nframes), stack()- menampilkan kernel stack trace ke output buffer.
• ustack(int nframes, int strsize), ustack(int nframes), ustack(void) – menampilkan user stack trace ke output buffer.
• jstack(int nframes, int strsize), jstack(int nframes), jstac(void) – alias untuk ustack tetapi menggunakan option jstackframes.
Destructive Actions: (untuk memakai action ini, kita harus memakai option -w saat memanggil DTrace)
• stop() – menghentikan proses yang men-fire probe bersangkutan.
• raise(int signal) – mengirimkan sinyal ke proses yang men-fire probe bersangkutan.
• copyout(void * buf, uintptr_t addr, size_t nbytes) – mencopy nbytes dari buf ke alamat yang ditentukan di addr.
• copyoutstr(string str, uintptr_t addr, size_t maxlen) – mencopy str ke alamat yang ditentukan di addr.
• system(string program, ...) – menjalankan program.
Kernel Destructive Actions: (Ini harus dipakai dengan hati-hati karena dapat merusak seluruh sistem operasi)
• breakpoint() – menyebabkan sistem berhenti dan menjalankan kernel debugger.
• panic() – memunculkan kernel panic.
• chill (int nanoseconds) – membuat DTrace berhenti bekerja selama beberapa nanoseconds. Ini dapat menyebabkan masalah pada scheduler seperti cron bila dipergunakan secara tidak benar.
Special Actions:
• exit(int status) – Berhenti melakukan tracing.
Subroutines:
• alloca(size_t size) – mengalokasikan memori sejumlah size.
• basename (char * str) – mendapatkan nama sebuah string tanpa prefix yang berakhir dengan “/.”
• bcopy(void *src, void *dest, size_t size) – men-copy memory sebesar size dari src ke dest.
• cleanpath(char *str) – menghapus bagian seperti “/./” dan menerjemahkan lokasi relatif seperti “/../”
• copyin(uintptr_t addr, size_t size) – men-copy sejumlah size bytes dari alamat addr ke DTrace scratch buffer.
• copyinstr(uintptr_t addr) – men-copy string ke DTrace scratch buffer.
• copyinto(uintptr_t addr, size_t size, void *dest) – mencopy dari alamat addr sebanyak size bytes ke alamat dest di DTrace scratch buffer.
• dirname(char *str) – mendapatkan lokasi direktori dari string yang berisi lokasi file.
• msgdsize(mblk_t *mp) – mengembalikan jumlah byte di data message yang di-point oleh mp.
• msgsize(mblk_t *mp) – mengembalikan total jumlah byte di data message yang di-point oleh mp.
• int mutex_owned(kmutex_t *mutext) – mengembalikan nilai bukan nol jika thread yang sedang berjalan memiliki kernel mutex yang ditentukan, atau nol jika kernel mutex saat ini tidak dimiliki oleh thread.
• int mutex_owner(kmutext_t *mutext) – mengembalikan pointer ke thread yang memiliki mutex yang ditentukan.
• mutex_type_adaptive(kmutex_t *mutex)- mengembalikan nilai bukan nol jika kernel mutex bertipe MUTEX_ADAPTIVE, dan sebaliknya.
• progenyof(pid_t pid) – mengembalikan nilai bukan nol jika proses yang sedang berjalan merupakan turunan dari proses yang memiliki PID yang ditentukan.
• rand() – mengembalikan nilai pseudo-random.
• rw_iswriter(krwlock_t *rwlock) - mengembalikan nilai bukan nol jika reader-writer lock tersebut dimiliki oleh writer atau sedang diminta oleh writer.
• rw_writer_held(krwlock_t *rwlock) – mengembalikan nilai bukan nol jika reader-writer lock tersebut dimiliki oleh writer.
• speculation() – mempersiapkan tempat di trace buffer untuk dipakai oleh speculate().
• strjoin(char *str1, char *str2) – menggabungkan str1 dan str2.
• strlen(string str) – mengembalikan jumlah karakter di str, tidak termasuk null byte.
Contoh pengunaan dtrace :
1. dtrace -s namafile.d 1234 (Dimana namafile.d adalah file yangberisi program D)
2. dtrace -s trace_read.d (menulis program kita dalam file trace_read.d
3. ppriv -s A+dtrace_kernel,dtrace_proc,dtrace_user [PID](Digunakan untuk memberikan privilege di atas secara sementara pada sebuah PID shell)


2.Perbedaan Unix, Free BSD, Solaris dan Linux
1. Unix

Termasuk sistem operasi yang paling awal ada untuk komputer. Merupakan induk dari sistem operasi linux. Unix pertama kali dibuat di Bell Labs, sebuah unit riset dan pengembangan di bawah AT&T (dan sekarang di bawah Lucent) untuk komputer mini PDP dan VAX. Versi terakhir yang ditulis Bell Labs sendiri adalah versi ketujuh (V7), 1979. Sejak 1974 Universitas of California, Berkeley, menggunakan Unix, dan sejak 1977 juga mulai mengembangkan Unix-nya sendiri (BSD). Sepanjang sejarahnya, Unix telah dikembangkan oleh berbagai vendor dan telah hadir dalam berbagai rupa dan rasa. Tidak semuanya gratis, tidak semuanya saling kompatibel. Unix popular karena portabel—ditulis dalam bahasa tingkat tinggi C sejak 1973 dan bukan assembly, sehingga mudah dipindahkan antararsitektur komputer—serta memiliki konsep sederhana dan elegan.
2. Free BSD

FreeBSD adalah sebuah sistem operasi bertipe Unix bebas yang diturunkan dari UNIX AT&T lewat cabang Berkeley Software Distribution (BSD) yaitu sistem operasi 386BSD dan 4.4BSD. FreeBSD berjalan di atas sistem Intel x86 (IA-32) (termasuk Microsoft Xbox), DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC dan arsitektur NEC PC-98. Dukungan untuk arsitektur ARM dan MIPS sedang dalam pengembangan. FreeBSD terkenal dengan sebutan “raksasa tak dikenal” diantara software operating system bebas. FreeBSD bukan merupakan tiruan Unix, tetapi berjalan seperti operating system Unix. FreeBSD bekerja dengan Unix-compliant internals dan sistem API. FreeBSD umumnya sebagai operating system yang dapat diandalkan dan kuat. Proyek pembangunan operating system FreeBSD dimulai pada tahun 1993 yang tumbuh dengan cepat. Banyak keunggulan yang bisa didapat dari operating system FreeBSD tersebut.
3. Solaris

Solaris adalah salah satu UNIX yang paling dikenal dunia. Solaris dibuat oleh Sun Microsystem. Solaris berjalan pada high−end hardware yang dapat mendukung puluhan processor, GB RAM, serta harddisk. Ia banyak digunakan sebagai platform oleh aplikasi enterprise, seperti Oracle. Solaris didesain untuk berjalan pada processor SPARC yang diproduksi oleh SUN. Karena SUN mengontrol sendiri hardware dan software, mereka dapat mengembangkan system dengan fitur2 menarik, seperti, hot-swappable RAM, mainboard, harddisk, CPU.
SUN OS merupakan sebuah versi UNIX yang digunakan dalam workstation-workstation Sun Microsystems yang dirilis pada tahun 1982. Setelah merilis SunOS versi 4, Sun Microsystems mengubah kode UNIX BSD yang sebelumnya mereka gunakan dengan kode UNIX System V, setelah mendapatkan lisensi dari pemegang lisensi UNIX waktu itu, AT&T. Perubahan ini menjadikan namanya berubah menjadi Solaris versi 2, dari yang seharusnya SunOS 5. Sehingga, secara tidak langsung, SunOS pun dianggap sebagai Solaris versi 1.x.
Istilah SunOS masih digunakan sebagai istilah yang merujuk kepada inti dari Solaris. Nomor versi inti SunOS dianggap sebagai versi Solaris 5.{nomor versi Solaris}. Sebagai contoh, Solaris 10, dapat disebut sebagai SunOS 5.10. Man page Solaris juga dinamai sebagai SunOS, meski istilah SunOS tidak lagi digunakan dalam dokumentasi marketing Sun Microsystems
4. Linux

Linux adalah nama yang diberikan kepada sistem operasi komputer bertipe Unix. Linux merupakan salah satu contoh hasil pengembangan perangkat lunak bebas dan sumber terbuka utama. Seperti perangkat lunak bebas dan sumber terbuka lainnya pada umumnya, kode sumber Linux dapat dimodifikasi, digunakan dan didistribusikan kembali secara bebas oleh siapapun.
Nama “Linux” berasal dari nama kernelnya (kernel Linux), yang dibuat tahun 1991 oleh Linus Torvalds. Sistemnya, peralatan sistem dan pustakanya umumnya berasal dari sistem operasi GNU, yang diumumkan tahun 1983 oleh Richard Stallman. Kontribusi GNU adalah dasar dari munculnya nama alternatif GNU/Linux.
Linux adalah sebuah kloning UNIX, ditulis benar-benar dari bawah lebih dari satu dekade lalu. Linux sama dengan BSD dalam banyak hal, namun BSD telah mempunyai budaya yang telah lama, serta lebih ramah terhadap dunia komersial. Linux mensyaratkan kepada pemakai komersial untuk memberikan feedback kembali ke linux, sementara BSD tidak mempunyai batasan seperti ini. Diantara pengguna UNIX, terdapat konflik persepsi antara kubu BSD dan LINUX. Namun jika anda menggali lebih dalam, sebaliknya, anda akan melihat bagaimana para developer berkomunikasi dan bekerjasama dengan ramah dan pikiran terbuka. Hanya sebagian kecil dari user maupun developer yang membuat friksi.
Dari keempat software operating system diatas, hampir seluruhnya merupakan pengembangan dari operating system Unix. Namun dari setiap operating system diatas memiliki kelebihan dan kekurangan masing-masing.

selengkapnya......

Sabtu, 03 April 2010

tugas sistem operasi(so)3

BAB III
STRUKTUR SISTEM OPERASI
Suatu sistem operasi menyediakan tempat dimana program akan di eksekusi. Secara internal, sistem operasi bekerja secara terorganisir. Sebab itulah perancangan suatu sistem operasi merupakan tugas utama, agar sistem operasi itu memilki desain yang baik.
Bab iii akan mempelajari 3 aspek sistem operasi yang diambil dari sudut pandang user, program, dan perancangan sistem operasi itu sendiri.
1. Komponen sistem
Kita dapat menciptakan suatu sistem yang besar dan kompleks seperti sistem operasi hanya dengan melakukan penyekatan ke dalam potongan arus yang lebih kecil. Masing-masing potongan arus harus digambarkan bagian sistemnya, yakni dengan menggambarkan sistem masukan, keluaran, dan fungsinya. Pada kenyataannya, tidak semua sistem mempunyai struktur yang sama.
2. Manajemen proses
Suatu program mengerjakan instrusi apapun yang dieksekusi oleh CPU. Suatu pengolah kata yang berjalan pada CPU merupakan sebuah proses. Sebuah sistem yang mengirimkan keluaran pada suatu pencetak juga merupakan suatu proses.
Suatu proses memerlukan resources-including CPU, memori, file, dan input-outpu device untuk memenuhi tugasnya. Sumber daya ini di berikan ketika sebuah proses sedang berjalan. Proses akan diberi sebagai suatu nama file dan akan melaksanakan sistem dan instruksi sesuai kebutuhan yang diinginkan. Ketika proses berakhir, sistem operasi akan mereklamasi/meminta kembali sumber daya yang bisa kembali.
Suatu program bukanlah suatu proses, suatu program merupakan kesatuan pasif, misalnya saja suatu disk yang menyimpan file. Sedangkan proses adalah kesatuan yang aktif, dengan suatu program yang konter menetapkan instruksi berikutnya untuk dilaksanakan. CPU melaksanakan satu instruksi proses setelah proses yang lain selesai di kerjakan. Walaupun ada dua proses dihubungkan dengan program yang sama, Cpu tetap akan mempertimbangkan pelaksanaannya menurut urutannya secara terpisah.
Sistem operasi bertanggung jawab atas aktivitas di bawah ini:
• Menciptakan dan menghapus proses sistem
• Menggantungkan dan melanjutkan proses
• Menyediakan mekanisme untuk sinkronisasi proses
• Menyediakan mekanisme untuk komunikasi proses
• Menyediakan mekanisme untuk menangani proses yang buntu

3. Manajemen memori utama
Memori utama adalah pusat operasi suatu sistem komputer. Memori utama adalah suatu array yang besar atau bytes, ukurannya berkisar antara ratusa ribu hingga milyaran (Am). Masing-masing bytes memilki alamt sendiri-sndiri. Memori utama adalah suatu tempat penyimpanan data yang dapat diakses dengan cepat oleh CPU dan input-output device. CPU membaca instruksi dari memori utama sepanjang siklus instruction-fecth, kemudian akan membaca dan menulis data dari memori utama sepanjang data-fetch beredar. Operasi input-output yang ditetapkan vai DMA juga dapat membaca dan menulis dat didalam memori utama. Memori utama juga dapat dikatakan satu-satunya gudang penyimpanan didalam CPU yang bisa mengakses data secara langsung. Sebagai contoh CPU memproses data dari disk, namun sebelumnya data harus ditransfer ke memori utama oleh input-output.
Suatu program yang dieksekusi harus di petakan ke alamat absolut dan harus diisi ke dalam memori utama. Untuk meningkatkan memori utama, pemanfaatan CPU kita harus menyimpan beberapa program ke dalam memori. Setiap orang memiliki cara atau rencana sendiri untuk memanajemen memori , hal ini tergantung pada efektifitas algoritma pada situasi tertentu. Pemilihan rencana untuk memanajemen memori tergantung pada banyak faktor, faktor utama adalah perancangan dari perangkat keras sistem itu sendiri.

4. Manajemen file
Manajemen file adalah salah satu komponen penting dari suatu sistem operasi. Komputer dapat menyimpan berbagai informasi pada beberapa jenis media phisik yang berbeda. Pita perekam, disk magnetis, dan disk adalah media yang paling umum digunakan. Masing-masing media ini mempunyai karakteristik dan organisasi fisik sendiri-sendiri. Masing-masing media dikendalikanoleh suatu alat, seperti disk drive dan tape drive yang memiliki karakteristik unik. Karakteristik iti meliputi kecepatan akses, kapasitas, tingkat dat transfer, dan metode akses. Karena dalam penggunaannya memberikan banyak keuntungan pada sistem komputer, maka sistem operasi menyediakan suatu gudang penyimpanan informasi yang logis. Sistem operasi memetakan file ke dalam media fisik, dan mengakses file ini melalui alat penyimpanan.
Suatu file adalah informasi yang digambarkan oleh penciptanya. Biasanya, didalam sebuah file terdapat program dan data. Data file biasanya diklasifikasikan secara alphabet atau alphanumeric. Sebuah file terdiri dari suatu urutan bit, bytes,bentuk atau arsip yang digambarkan oleh penciptanya.
Sistem operasi bertanggung jawab untuk aktivitas berikut didalam koneksi dengan manajemen file:
• Menciptakan dan menghapus file
• Menciptakan dan menghapus directori
• Menggerakkan file dan direktori
• Memetakan file ke dalam media penyimpanan sekunder
• Membackup file ke dalam media penyimpanan
5. Manajemen sistem
Salah satu tujuan dari sistem operasi adalah untuk menyembunyikan keanehan spesifik dari perangkat keras itu sendiri. Sebagai contoh di dalam UNIX, keanehan input0output device tersembunyi dari sistem operasinya sendiri oleh subsistem dari input-output device. Subsistem input-output device terdiri dari suatu kompone manajemen memori yang meliputi penyangga/bantalan, caching dan kiumparan device-driver.
6. Manajemen memori penyimpanan sekunder
Tujuan utama suatu sistem komputer adalah untuk melaksanakan program. Program ini mengakses data yang ada dalam memori utama selama pelaksaannya. Memori utama hanya memiliki ukuran kecil untuk mengakomodasi semua data dan program, maka dari tu suatu sistem komputer harus menyediakan memori penyimpanan sekunder untuk membackup memori utama. Sistem komputer yang modren menggunakan disk sebagai media penyimpanan. Kebanyakan programs- including copiler, asembler, sort, dan formatters menyimpan pada suatu disk.
Sistem operasi bertanggung jawab untuk aktivitas berikut di dalam koneksi manajemen disk:
• Free-space manajemen
• Alokasi media penyimpanan
• Disk skedulling
Karena media penyimpanan sering digunakan, maka dalam penggunaannya harus efisien. Kecepatan operasi suatu komputer bergantung pada kecepatan disk subsistem algoritma yang menggerakkan subsistem itu sendiri.
7. Networking
Suatu sistem dibagi-bagikan atas suatu koleksi pengolah yang tidak membagi memori, alat sekeliling, atau suatu jam. Sebagai ganti(nya), masing-masing pengolah mempunyai memori lokal sendiri dan jam, dan pengolah berkomunikasi dengan satu sama lain melalui/sampai berbagai bentuk komunikasi, seperti kecepatan tinggi buses atau jaringan. Pengolah di (dalam) suatu sistem dibagi-bagikan bertukar-tukar ukuran dan fungsi. Mereka boleh meliputi mikro prosesor kecil, stasiun-kerja, minicomputers, dan besar, general-purpose komputer sistem.
Pengolahan di dalam sistem dihubungkan melalui suatu jaringan komunikasi, yang dapat diatur melalui jalan berbeda. Jaringan di hubungkan secara parsial. Disain jaringan komunikasi harus mempertimbangkan pesan untuk menaklukkan dan strategi koneksi, dan permasalahan keamanan. Suatu sistem dikumpulkan secara phisik terpisah, mungkin heterogen, sistem ke dalam sistem padu tunggal, menyediakan kepada pemakai akses berbagai sumber daya untuk memelihara sistem.
Sistem operasi pada umumnya menyamaratakan akses jaringan sebagai suatu format akses file, dengan detil networking terdapat di jaringan pengarah alat alat penghubung. Protokol yang menciptakan suatu sistem dibagi-bagikan dapat mempunyai suatu efek besar pada ketenaran dan kegunaan sistem itu . Inovasi dunia Web Lebar/Luas adalah untuk menciptakan suatu metode akses baru untuk informasi berbagi. Sistem operasi menyempurnakan/memperbaiki yang ada file-transfer protokol ( FTP) dan jaringan file-system ( NFS) yang diijinkan untuk menggunakan suatu sumber daya remote.
8. Sistem perlindungan
suatu sistem komputer yang mengijinkan pelaksanaan yang bersamaan atas berbagai proses, maka berbagai proses harus dilindungi dari satu aktivitas yang lain. Karena itu, mekanisme memastikan bahwa file, memori segmen, CPU, dan lain sumber daya dapat dioperasi/kan oleh hanya itu proses yang sudah memperoleh otorisasi sesuai dari sistem operasi.
Sebagai contoh, memory-addressing perangkat keras memastikan bahwa suatu proses dapat melaksanakan hanya di dalam alamatnya sendiri. Pengatur waktu tidak memastikan bahwa proses apapun dapat menguasai CPU tanpa melepaskan kendali. Device control tidak dapat di akses user, sehingga integritas berbagai alat sekeliling dilindungi.
Perlindungan adalah mekanisme untuk mengendalikan akses program, proses, atau user kepada sumber daya yang digambarkan oleh suatu sistem komputer. Mekanisme ini harus menyediakan alat untuk spesifikasi kendali untuk melakukan penyelenggaraan. Perlindungan dapat meningkatkan keandalan dengan pendeteksian kesalahan tersembunyi di alat penghubung antar subsistem komponen. Awal pendeteksian alat penghubung kesalahan dapat mencegah pencemaran suatu subsistem menjadi sehat. Suatu sumber daya yang tidak dilindungi, tidak bisa melindungi terhadap penyalah gunaan yang dilakukan oleh user.
9. Sistem command-interpreter
Salah satu program sistem utama dalam suatu sistem operasi adalah perintah interpreter. Perintah interpreter merupakan alat penghubung antara user dengan sistem operasi. Beberapa sistem operasi seperti MS DOS dan UNIX memiliki perintah interpreter sebagai program khusus yang berjalan ketika suatu pekerjaan sedang berjalan / aktif . Program ini sering disebut dengan control-card interpreter atau command-line interpreter. Fungsi perintah interpreter sangat sederhana yaitu Untuk mendapatkan statemen perintah yang berikutnya dan melaksanakan itu.
10. Jasa sistem operasi
Suatu sistem operasi menyediakan suatu lingkungan untuk pelaksanaan program. Sistem operasi menyediakan jasa tertentu ke program dan user program itu semua . setiap sistem operasi menyajikan berbeda dengan satu sistem operasi untuk lain, tetapi kita dapat mengidentifikasi kelas umum. Jasa Sistem operasi ini disediakan untuk kenyamanan programmer, untuk membuat [itu] programming tugas lebih mudah.
• Pelaksanaan Program: Sistem harus mampu mengisi suatu program ke dalam memori untuk menjalankan program itu. Program harus mampu mengakhiri pelaksanaan secara normal atau dengan tidak normal ( menandakan kesalahan).
• I/O operasi: Suatu program yang berjalan memerlukan I/O. I/O boleh melibatkan suatu file atau suatu Sarana I/O. Karena efisiensi dan perlindungan, user pada umumnya tidak bisa mengendalikan I/O device secara langsung. Oleh karena itu, sistem operasi harus menyediakan jasa sistem I/O.
• File-System Manipulasi: Program juga harus menciptakan dan menghapus file sesuai nama.
11. Panggilan sistem
Panggilan Sistem menyediakan alat penghubung antar suatu proses dan sistem operasi. Panggilan ini biasanya tersedia seperti instruksi bahasa asembler, dan mereka pada umumnya didaftarkan berbagai manual yang digunakan oleh bahasa asembler para programmer. Sistem tertentu mengijinkan sistem untuk dibuat secara langsung dari suatu higherlevel program bahasa, secara normal menyerupai fungsi atau subroutine.
Sebagai contoh, Sistem UNIX melibatkan secara langsung program C atau C++. Sistem meminta Microsoft Windows modern Platform menjadi bagian dari Win32 Alat penghubung Programmer Aplikasi ( API), yang ada tersedia untuk penggunaan oleh semua compiler menulis untuk Microsoft Windows.
Panggilan Sistem terjadi di jalan berbeda, tergantung pada komputer yang menggunakan. Sebagai contoh, untuk mendapatkan masukan, kita boleh memerlukan untuk menetapkan alat atau file untuk menggunakan sumber, dan alamat.
12. Pengawasan proses
• Pengawasan proses
- mengakhiri, menggugurkan
- mengisi, melaksanakan
- menciptakan proses, ber/mengakhiri proses
- mendapat/kan atribut proses, menetapkan atribut proses
- menantikan waktu
- menunggu peristiwa, peristiwa isyarat
- mengalokasikan dan memori bebas
• Manajemen file
- menciptakan file, menghapus file
- terbuka, dekat
- membaca, tulis, memposisikan kembali
- mendapat/kan atribut file, menetapkan atribut file
• Manajemen alat
- meminta alat, melepaskan alat
- membaca, tulis, memposisikan kembali
- mendapat/kan atribut alat, menetapkan atribut alat
- secara logika menyertakan atau melepaskan alat
• Pemeliharaan informasi
- mendapat/kan waktu atau tanggal/date, menetapkan waktu atau tanggal/date
- mendapat/kan data sistem, menetapkan data sistem
- mendapat/kan proses, file, atau atribut alat
- menetapkan proses, file, atau atribut alat
• komunikasi
- menciptakan, menghapus koneksi komunikasi
- mengirimkan, menerima pesan
- memindahkan informasi status
- menyertakan atau melepaskan alat remote

BAB IV

PROSES

Pada awalnya suatu sistem komputer hanya mengijinkan satu program saja untuk di eksekusi pada waktu yang sama. Program ini telah melengkapi kendali sistem dan sudah memiliki akses bagi semua sistem sumber daya. Namun saat ini sistem komputer telah mengijinkanberebagai program untuk masuk dalam memori dan selanjutnya dieksekusi secara bersamaan.
Proses adalah satuan kerja dalam sistem time-system modern. Suatu sistem operasi terdiri kumpulan proses, sistem operasi melaksanakan proses menggunakan kode sistem.
1. proses
suatu proses adalah program yang sedang berjalan. Suatu proses terdiri dari banyak kode program, yang terkadang sering kita sebut dengan teks. Suatu proses biasanya meliputi tumpukan proses yang berisi data temporer (seperti parameter metoda, alamat pengirim, dan variabel lokal), dan suatu bagian data yang berisi variabel global.
Suatu program berbeda dengan poses, program adalah kesatuan pasif seperti suatu file yang tersimpan dalam disk. Sedangkan proses adalah suatau kesatuan aktif dengan suatu program yang konter menetapkan instruksi untuk melaksanakan sumber daya yang dihubungkan.
Walaupun dua proses dihubungkan dalam program yang sama, namun urutan pelaksanaannya tetap terpisah. Sebagai contoh, beberapa user mungkin akan menjalankan beberapa program pos.
2. Proses status
Status sebuah proses dapat digambarkan oleh bebrapa aktivitas berikut:
• Baru: proses diciptakan
• Running: instruksi dieksekusi
• Waiting: proses sedang menunggu untuk dieksekusi
• Ready: proses sedang menunggu untuk proses pengolahan

Gambar: diagram proses status
3. Blok pengawasan proses
Masing-masing proses dalam sistem operasi di wakili oelh suatu blok pengawasan proses.

Gambar: blok pengawasan proses
• Proses status: status baru, siap dijalankan, penantian, dihentikan, dan terpasang
• Program konter: menandai adanya alamat instruksi yang berikutnya untuk dieksekusi
• CPU register: meliputi penghimpun, daftar index, tumpukan penunjuk, dan daftar general purpose
• Informasi CPU SCHEDULLING: informasi ini meliputi suatu prioritas proses, skeduling antrian, dan skeduling parameter
• Informasi memory-management: informasi ini meliputi nilai dasr dan daftar batas, tabel halaman atau tabel segmen
4. Threads
Model proses ini menyiratkan bahwa suatu proses adalah suatu program yang melaksanakan threads tunggal. Sebagai contoh jika suatu proses sedang menjalankan program word-processor, maka instruksi threads yang akan dieksekusi. Threds tunggal mengijinkan hanya mengijinkan pelaksanaan satu tugas dalam satu waktu. Banyak sistem operasi mempunyai konsep proses untuk mengijinkan suatu proses melakukan berbagi kegiatan dalam satu waktu.
5. Proses skeduling
Sasaran multiprogramming adalah untuk mempunyai proses beberapa berlari/menjalankan terus menerus, agar supaya memaksimalkan pemanfaatan CPU. Sasaran time-sharing adalah ke tombol CPU antar proses maka sering para pemakai itu dapat saling berhubungan dengan program masing-masing ketika sedang berlari/menjalankan. Suatu sistem uniprocessor dapat mempunyai hanya sese]orang berlari/menjalankan proses. Jika ada lebih proses, sisanya harus menunggu sampai CPU bebas dan dapat yang dijadwalkan kembali.
6. Skeduling antrian
Proses yang sedang bertempat tinggal di memori utama dan siap dan penantian untuk melaksanakan antrian. Antrian ini biasanya disimpan sebagai suatu daftar dihubungkan. Ketika suatu proses dialokasikan CPU, CPU melaksanakan sebentar dan secepatnya seri, disela, atau menantikan kejadian peristiwa tertentu , seperti penyelesaian dari suatu I/O meminta.

Gambar: device queues

7. Proses ciptaan
Suatu proses diciptakan dari beberapa proses baru. Creation process disebut parent process, sedangkan proses yang baru disebut children process. Secara umum, suatu proses akan memerlukan sumber tertentu (cPU, memori, file, input-output device) untuk memnuhi tugasnya. Ketiak suatu proses menciptakan subproses, maka subproses itu mampu memperoleh sumber dayanya secara langsung dari operasi sistem. Ketika suatu proses diciptakan, ia memperoleh tambahan terhadap berbagai phisik dan sumber daya logis, initialisasi data ( atau masukan) itu mungkin (adalah) berjalan terus dari orangtua memproses kepada proses anak. Sebagai contoh, mempertimbangkan suatu proses fungsi untuk memajang status suatu file, kata layar suatu terminal. Ketika diciptakan, creation process akan mendapatkan suatu masuk dari parent process.


Ketika suatu proses menciptakan suatu proses baru, dua berbagai kemungkinan ada dalam kaitan dengan pelaksanaan:
1. Parent process melanjut untuk melaksanakan secara bersamaan dengan anak-anak nya
2. Parent process menunggu sampai beberapa atau semua dari anak-anak nya sudah mengakhiri.

Ada juga dua berbagai kemungkinan dalam kaitan dengan [ruang;spasi] alamat proses yang baru:
1. Childre process adalah suatu salinan orangtua memproses.
2. Childre process mempunyai suatu program memuat ke dalam itu.

selengkapnya......