RSS

Arsip Kategori: sistem operasi

Konsep Manajemen Proses pada FreeBSD

Perintah Dasar freeBSD

Selain perintah yang bersifat built-in bagi shell sistem operasi ini menyediakan banyak utilitas yang sangat bermanfaat bagi pemakai. Pada bagian ini, beberapa perintah akan diperkenalkan,  Beberapa di antaranya :

Tabel Perintah lingkungan sistem
Perintah Keterangan:

Ø  Exit Keluar dari shell pada Bourne shell dan Korn shell.

Ø  Id Menampilkan nama pemakai beserta nomor identitas dari pemakai serta nama group dan nomor identitas group.

Ø  logname Menampilkan nama pemakai.

Ø  Logout Keluar dari shell pada C shell.

Ø  Man Menampilkan dokumentasi online dari suatu perintah UNIX.

Ø  newgrp Mengubah group efektif.

Ø  passwd Memberikan password atau mengubah password

Ø  Set Menampilkan variabel lingkungan pada shell pemakai.

Ø  Tty Menampilkan nama identitas (port) terminal.

Ø  Uname Menampilkan nama simpul dari sistem UNIX

Ø  Who Menampilkan pemakai yang sedang menggunakan sistem.

Tabel Perintah manajemen file
Perintah Keterangan:

Ø  Cat Menampilkan isi file.

Ø  Cp Menyalin satu atau beberapa file.

Ø  Find Mencari file-file tertentu pada suatu direktori.

Ø  Ls Menampilkan informasi dari file.

Ø  More Menampilkan isi suatu file teks per layar.

Ø  Mv Memindahkan suatu file ke direktori lain atau mengubah nama file.\

Ø  Pg Menampilkan isi suatu file teks per layar.

Ø  Rm Menghapus file.

Tabel Perintah manajemen direktori
Perintah Keterangan:

Ø  Cd Mengaktifkan suatu direktori sebagai direktori kerja.

Ø  Copy Menyalin seluruh struktur direktori (termasuk file dan subdirektori).

Ø  Mkdir Membuat direktori baru.

Ø  Pwd Menampilkan nama direktori kerja.

Ø  Rmdir Menghapus direktori.

Ø  Mv Mengubah nama direktori.

Tabel Perintah untuk mengatur akses file
Perintah Keterangan:

Ø  Chgrp Mengubah group dari suatu file atau direktori.

Ø  Chmod Mengubah permisi dari suatu file atau direktori.

Ø  Chown Mengubah pemilik dari suatu file atau direktori.

Tabel Perintah yang berhubungan dengan proses
Perintah Keterangan:

Ø  Kill Menghentikan suatu proses berdasarkan identitas proses.

Ø  Ps Menampilkan proses-proses yang sedang berjalan.

Ø  Sleep Menunda eksekusi (Proses yang tidak mengerjakan apa-apa selama beberapa detik).

Tabel Perintah yang berhubungan dengan layar
Perintah Keterangan:

Ø  Banner Menampilkan tulisan berukuran besar

Ø  Clear Menghapus layar

Ø  Echo Menampilkan tulisan ke layar

Tabel Perintah lain-lain
Perintah Keterangan:

Ø  Bc Utilitas untuk mengatur perhitungan.

Ø  Cal Menampilkan kalender.

Ø  Date Menampilkan tanggal dan jam sistem.

Ø  Grep Mencari file-file yang mengandung kat tertentu.

Ø  Lp Mencetak file ke printer.

Ø  Mail Utilitas untuk menyampaikan pesan tertulis ke pemakai lain.

Ø  Sort Mengurutkan kata.

Ø  Vi Editor teks.

Ø  Wc Menghitung jumlah karakter, kata dan baris suatu file.

Struktur proses

Menurut definisi dari X/Open Spesification, sebuah proses adalah sebuah address space dan thread tunggal pengendali yang bekerja dalam address space tersebut dan setiap resource sistem yang dibutuhkannya.

Pada dasarnya sebuah proses adalah sebuah program yang berjalan. Program yang berjalan ini dibutuhkan untuk menangani segenap resource sistem terutama yang berkenaan dengan hardware atas perintah user [manusia atau user program lain yang terkait]. Inilah tiga unsur penting sistem komputer [user, program dan hardware]. Sistem koordinasi di ataslah yang menjadi fungsi terpenting dari suatu sistem operasi.

Untuk sistem operasi moern yang mengadopsi standar sistem multitasking, multithreading, multiuser dan networking base seperti  FreeBSD, pengaturan atau manajemen antar proses-proses yang terlibat sedemikian kompleks.

 

 

 

Pada contoh di atas terdapat dua user yang memerintahkan sistem untuk mencari dan menampilkan suatu kata dalam suatu file dengan perintah grep. Untuk keperluan ini sistem operasi membuat dua proses, masing-masing satu untuk user neil dan satu lagi untuk user rick. Untuk user neil, sistem mengalokasikan PID 101, sedangkan untuk user rick diberikan PID berbeda [102]. PID adalah process identifier yang merupakan bilangan unik yang biasanya berupa bilangan bulat antara 2-32000. Ketika sebuah proses dijalankan, dia akan ditempatkan dilokasi yang tak terpakai dengan memulainya dari 2. Jadi PID yang sudah tidak terpakai, bisa digunakan oleh proses berikutnya. Dengan ini efisiensi alokasi PID bisa dilakukan karena banyak proses yang hanya perlu eksis sebentar seperti perintah grep yang setelah menampilkan hasil pencariannya ke layar dia tidak lagi eksis. PID biasanya akan dipertahankan untuk proses-proses yang berjalan sebagai daemon alias backgroud process.

Pada contoh di atas terlihat bahwa untuk sebuah proses akibat eksekusi perintah grep oleh user neil bukan hanya file trek.text yang terlibat, grep code dan data yang dicari [kirk], namun juga C library. Perintah grep di atas sebenarnya terdiri dari membuka file trek.text dari disk, menampungnya di area memory sebagai read-only, lalu mencari string data [kirk] sebagai suatu variabel s dalam data space proses ini. Setelah ketemu akan ditampilkan ke layar. Untuk itu semua dia membutuhkan C library.

 
Tinggalkan komentar

Ditulis oleh pada Maret 29, 2011 inci sistem operasi

 

Manajemen Proses dalam sistem operasi

Manajemen Proses dalam sistem operasi

Secara umum 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.

Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan dengan manajemen proses seperti:

  • Membuat dan menghapus proses pengguna dan sistem proses. Sistem operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh sebuah proses dan kemudian mengambil sumber daya itu kembali setelah proses tersebut selesai agar dapat digunakan untuk proses lainnya.
  • Menunda atau melanjutkan proses. Sistem operasi akan mengatur proses apa yang harus dijalankan terlebih dahulu berdasarkan berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2 atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan mendahulukan proses yang memiliki prioritas paling besar.
  • Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi akan mengatur jalannya beberapa proses yang dieksekusi bersamaan. Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena pengaksesan data yang sama, juga untuk mengatur urutan jalannya proses agar setiap proses berjalan dengan lancar
  • Menyediakan mekanisme untuk proses komunikasi. Sistem operasi menyediakan mekanisme agar beberapa proses dapat saling berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar proses) satu sama lain tanpa menyebabkan terganggunya proses lainnya.
  • Menyediakan mekanisme untuk penanganan deadlock. Deadlock adalah suatu keadaan dimana sistem seperti terhenti karena setiap proses memiliki sumber daya yang tidak bisa dibagi dan menunggu untuk mendapatkan sumber daya yang sedang dimiliki oleh proses lain. Saling menunggu inilah yang disebut deadlock(kebuntuan). Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat memulihkan kondisi sistemnya.

Beberapa hal yang berhubungan dengan manajemen konsep dalam sistem operasi :

1. Komunikasi antar proses

(Inter Process Communinication / IPC) :

  • Beberapa proses biasanya berkomunikasi dengan proses lain.
  • 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).

2. 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)

3. Pembuatan dan Penghancuran Proses

Ø  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).

4. Keadaan Proses

Keadaan proses terdiri dari :

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.

5. 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)

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.

Read the rest of this entry »

 
Tinggalkan komentar

Ditulis oleh pada Maret 17, 2011 inci sistem operasi

 

Tag:

sejarah sistem operasi freeBSD

Sistem Operasi FreeBSD

 

FreeBSD adalah suatu sistem operasi yang bekerja layaknya UNIX tetapi bukan turunan dari UNIX. Pertama kali dikembangkan oleh Berkeley Software Distribution pada tahun 1993.

Operating system ini dijuluki FreebSD karena software ini gratis untuk digunakan oleh siapapun termasuk untuk kepentingan komersial, source code yang tersedia dengan gratis, siapapun dapat meningkatkan performa FreeBSD ini atau menemukan bug untuk mensubmit source codenya, kata “free” dapat diartikan sebagai gratis, atau dapat digunakan sesuai keinginan user.

Saat ini FreeBSD banyak dipercaya sebagai OS untuk server yang menangani beban yang cukup tinggi. Tercatat beberapa situs internet tersibuk di dunia, seperti Yahoo.com, Hotmail.com, dan ftp.cdrom.com menggunakan FreeBSD sebagai sistem operasi bagi servernya. Sementara itu, di Indonesia FreeBSD menjadi tulang punggung dari jaringan AI3 (Asian Internet Interconnection Initiative). Jaringan yang di Indonesia berpusat di ITB ini bertujuan untuk menghubungkan perguruan tinggi serta lembaga pendidikan maupun riset di Indonesia ke jaringan internet melalui gateway internet AI3 di ITB.

1. Sejarah FreeBSD

Sejarah munculnya FreeBSD berawal dari pengembangan system Operasi Unix yang dirancang oleh Ken Thompson dan Dennis Ritchie, peneliti dari AT&T Bell Laboratories. Selama pertengahan tahun 70an, Ken Thompson memperkenalkan UNIX ke University of California di Berkeley. Dan ketika University of California at Berkeley menerima source code ini (membeli dengan harga $400), co-creator Unix, Ken Thompson, tengah berkunjung ke salah satu fakultas. Melalui bantuannya yang konsisten, para periset dan mahasiswa, terutama Bill Joy (salah satu pendiri Sun Microsystem), berusaha mengembangkan source code Unix tersebut dan melahirkan apa yang disebut The Berkeley Software Distribution (BSD).

Dengan dukungan pendanaan dari DARPA (departemen pertahanan Amerika), Berkeley Computer System Research Group (CSRG) selanjutnya menjadi bagian penting dalam pengembangan Unix disamping Bell Labs. Bersamaan dengan Unix System V AT&T sendiri, BSD tumbuh menjadi salah satu dari dua flavor Unix mayor pada saat itu.

Faktanya, sistem Unix BSD berkembang lebih inovatif dari Unix System V. Ia lebih digemari oleh kalangan akademik dan institusi-institusi riset daripada perusahaan komersial.

Berbeda dengan Linux yang dibuat secara “keroyokan” oleh para programmer di seluruh dunia, FreeBSD dikembangkan oleh sebuah tim yang terbagi atas tiga kelompok besar, masing-masing adalah FreeBSD Core Team, FreeBSD Developers, dan FreeBSD Documentation Project. FreeBSD Core Team bertindak sebagai semacam “dewan direksi” dari proyek FreeBSD. Tim ini bertanggung jawab untuk menentukan tujuan-tujuan proyek secara keseluruhan serta aturan pelaksanaannya. Tim kedua, FreeBSD Developers, bertanggung jawab terhadap tugas teknis dalam pembuatan FreeBSD, sementara FreBSD Documentation Team menangani tugas-tugas yang berkenaan dengan pendokumentasian proyek, pembuatan manual, FAQ, dan sebagainya.

Seiring bergulirnya waktu, Unix BSD sangat mempengaruhi perkembangan sistem-sistem Unix yang ada saat ini. Berbagai utiliti dasar Unix, seperti C-shell, vi, TCP/IP, dan virtual memory, dibuat pertama kali pada rilis Unix BSD. Sun Microsystem SunOS termasuk turunan dari 4.2BSD, sedangkan Unix System V ditulis-ulang dalam rilis ke-empatnya (SVR4) untuk menyesuaikan diri dengan fitur-fitur BSD.

2. Versi FreeBSD

Versi modern BSD adalah 4.4BSD yang dirilis pada tahun 1993. Kebanyakan sistem-sistem BSD saat ini berstandarkan 4.4BSD-Lite. Di antara sekian banyak flavor Unix BSD terdapat tiga sistem freeware yang populer digunakan dan salah satunya adalah FreeBsd yang akan dijelaskan dalam pelatihan ini. Varian BSD yang lainnya adalah NetBSD dan OpenBsd.

Pengembangan FreeBSD melibatkan banyak sekali pihak. Biasanya mereka adalah programmer individu berkemampuan tinggi yang dikenal sebagai commiters. Commiters dipilih oleh FreeBSD Core Team. Sekitar tahun 1992 dan 1993, Jordan K. Hubbard, Rod Grimes, dan Nate Williams bekerja pada proyek 386BSD dan merilis set perubahan-perubahan yang dikenal dengan “Unofficial 386BSD Patchkit.”

David Greenman, yang kemudian bekerja pada Walnut Creek, selanjutnya mengusulkan sistem operasi baru berbasiskan kepada patchkit yang telah ada dengan nama FreeBSD.

Segera setelah itu, Hubbard dikontrak Walnut Creek untuk mempersiapkan channel distribusi CDROM. Walnut Creek memberikan dukungan dengan menawarkan server dan hardware ber-bandwidth tinggi untuk mengembangkannya. CDROM pertama dari FreeBSD adalah versi 1.0, dirilis pada bulan Desember 1993.

FreeBSD 2.0 dirilis bulan November 1994. Selanjutnya sebagai upgrade dan peningkatan dilakukan secara berkesinambungan dan signifikan. Dewasa ini FreeBSD telah melahirkan rilis-rilis yang sangat stabil dan luas digunakan oleh masyarakat dunia. Yahoo!, direktori internet terbesar saat ini, mempercayakan jutaan halamannya untuk dilayani oleh sistem FreeBSD, begitu pula organisasi dan vendor-vendor besar lainnya.

Read the rest of this entry »

 
Tinggalkan komentar

Ditulis oleh pada Maret 11, 2011 inci sistem operasi

 

Tag:

sejarah perkembangan sistem operasi

Sejarah Perkembangan Sistem Operasi

Sistem operasi atau dalam bahasa Inggris: operating system atau OS adalah perangkat lunak sistem yang bertugas untuk melakukan kontrol dan manajemen perangkat keras serta operasi-operasi dasar sistem, termasuk menjalankan software aplikasi seperti program-program pengolah kata dan browser web.

Secara umum, Sistem Operasi adalah software pada lapisan pertama yang ditaruh pada memori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, skeduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan “kernel” suatu Sistem Operasi.

Pada pertengahan 60an, sistem operasi pertama yang dapat digunakan pada semua komputer adalah OS/360 dari IBM. OS/360 merupakan sistem pertama yang mensyaratkan sebuah mass storage, seperti harddisk.

Pada akhir 60an muncul prototipe untuk semua sistem operasi yang ada saat ini, yaitu Unix. Selain windows, semua sistem operasi yang ada seperti Linux, Mac OS X atau Solaris lahir dari Unix. Selama fase perkembangan bertahun-tahun, Unix melakukan banyak pembaruan yang sudah kita kenal saat ini, yaitu file system, yang secara hierarkis terbagi dalam direktori-direktori, sebuah kernel untuk mengakses hardware melalui device driver, memory virtualization beserta konsep file.

Read the rest of this entry »

 
3 Komentar

Ditulis oleh pada Maret 9, 2011 inci sistem operasi

 

Tag: ,