Tampilkan postingan dengan label Istilah dalam Sistem operasi. Tampilkan semua postingan
Tampilkan postingan dengan label Istilah dalam Sistem operasi. Tampilkan semua postingan

Rabu, 14 Desember 2011

hyperthreading dan dispatching algoritm

Definisi Teknologi Hyperthreading yaitu bentuk revolusi teknologi yang lebih maju yang memiliki teknologi simultaneous multithreading (SMT) yang telah di terapkan kepada beberapa varian seperti pentium 4, dual core, core to 2, dan prosesor yang diatasnya lagi.
Teknologi dispatching algorithm memiliki kegunaan dengan Teknologi ini mendukung beberapa prosesor di antaranya sebagai Windows NT, Windows 2000, Windows XP Professional, Windows Vista, dan GNU/Linux dua buah prosesor, namun dalam kenyataannya hanya satu prosesor. sehingga dengan cara ini proses sistem operasinya lebih cepat dan efisien, karena meskipun sistem operasi tersebut bersifat multitasking, sistem operasi tersebut melakukan eksekusi terhadap proses secara berurutan.
Beberapa sistem operasi yang menggunakan teknologi hyperthreading :
  • Windows NT/XP/2000, linux, solaris 9 dan later termasuk juga kedalam kelompok multhreading dengan model one-to-one.
  • IRIX, HP-UX, tru64, UNIX, solaris 8 and earlier termasuk kekelompok model multhreading dengan model many-to-one.
  • Windows NT/2000, IRIX, digital UNIX dan Solarispun termasuk kedalam model multhreading model many-to-many.

Minggu, 11 Desember 2011

deadlock

Deadlock dalam arti sebenarnya adalah kebuntuan. Dalam konteks sistem operasi kebuntuan ini adalah kebuntuan proses. Hal ini terjadi disaat proses yang satu menunggu sumber daya yang masih dipegang oleh proses lain yang menunggu sumber daya tersebut. Cara yang paling mudah untuk mengilustrasikan deadlock adalah dengan kemacetan kendaraan diperempatan/4 persimpangan jalan dimana tiap kendaraan dari arah tiap arah saling menerobos tanpa ada yang mau mengalah.
Ilustrasi Deadlock
 Contoh lain, pada proses yang sebenarnya terdiri dari 3 tahap yaitu ; meminta,memakai,melepaskan.
Contoh program deadlock :
public class Proses {
          public  synchronized void getA () {
             //proses untuk mendapatkan sumber daya A
          }
          public synchronized void getB () {
            //proses untuk mendapatkan sumber daya B
          }
          public releaseA () {
            //proses melepaskan sumber daya A
          }
          public releaseB () {
           //proses melepaskan sumber daya B
          }
}
public class Coba () {
          public statis void main (String [] args ) {
              Proses P = new Proses;
              Proses Q = new Proses;
              P.getA ();
              Q.getB ();
              P.getB ();
              Q.getA ();
          }
}
Dari kode program diatas kedua proses (P dan Q) saling mendapatkan sumber daya (A dan B) tanpa ada proses melepaskan (release) sumber daya yang dijalankan. Maka terjadilah deadlock.
         

Rabu, 19 Oktober 2011

UNIX shell

Shell UNIX adalah sebuah command-line interpreter yang menyediakan antarmuka pengguna untuk sistem operasi UNIX dan sistem UNIX-like. Para pengguna dapat mengoperasikan komputer secara langsung dengan memasukkan perintah berupa teks atau dengan membuat script teks dari satu atau lebih perintah tersebut yang nantinya akan dieksekusi oleh command-line interpreter.

UNIX shell yang paling berpengaruh adalah Bourne shell dan C shell.
Bourne shell, sh, ditulis oleh Stephen Bourne di AT&T sebagai command line interpreter UNIX yang original, ia memperkenalkan fitur dasar untuk semua UNIX shell, termasuk piping, here documents, command substitution, variabel,struktur kontrol untuk pengujian kondisi dan perulangan, dan penamaan file. Bahasa yang digunakan dipengaruhi bahasa ALGOL 68, termasuk penggunaan kata-kata tercadang(Reserved words) untuk menandai akhir dari suatu blok baris program.

C shell, ditulis oleh Bill Joy seorang mahasiswa lulusan University of California, Berkeley. Bahasa yang digunakan termasuk struktur kontrol dan tata bahasa (grammar) dimodelkan dari bahasa C. C shell juga memperkenalkan sejumlah fitur untuk pekerjaan interaktif, termasuk sejarah dan mekanisme pengeditan, alias, tumpukan direktori, notasi tidle, jalur CD, Control JOb dan jalur hashing.

Kedua shell tersebut telah digunakan sebagai dasar koding dan model untuk berbagai derivatif dan dapat bekerja dengan fitur-fitur shell yang telah dikembangkan.
---------------------------------------------------------------------------------------------------------------
sumber : Wikipedia

shell

Shell, dalam komputer adalah salah satu jenis program bawaan sistem operasi (seringnya merupakan program yang terpisah dari inti sistem operasi) yang menyediakan komunikasi langsung antara pengguna dan sistem operasi. Contoh dari shell adalah COMMAND.COM dalam MS-DOS,
Macintosh Finder (Macintosh), Windows Explorer, Command Prompt/cmd.exe, PowerShell dalam Microsoft Windows, Bourne shell, C shell, Korn shell dan masih banyak lainnya khususnya dalam keluarga sistem operasi UNIX. Beberapa shell juga dapat digunakan untuk melakukan manajemen berkas.

Perbedaan shell dengan command interpreter

Dalam komputasi, shell adalah bagian dari perangkat lunak yang menyediakan antarmuka bagi pengguna. Biasanya istilah ini mengacu pada shell sistem operasi yang menyediakan akses ke layanan dari kernel.

Sebuah interpreter (penterjemah) teks/baris (juga command line shell, command language interpreter) adalah program komputer yang membaca baris teks yang dimasukan oleh user dan menafsirkannya dalam konteks sistem operasi atau bahasa pemorograman.

Dalam ilmu komputer, penterjemah (interpreter) biasanya berarti sebuah program komputer yang mengeksekusi, yaitu melakukan intruksi yang ditulis dalam bahasa pemrograman. Sementara interpretasi dan kompilasi adalah dua sarana utama dimana bahasa pemrograman dilaksanakan. Ini tidak sepenuhnya berbeda kategori, salah satu alasannya adalah bahwa sistem menafsirkan sebagian besar juga melakukan beberapa pekerjaan penerjemahan, seperti compiler. Sebuah interpreter mungkin adalah sebuah program yang :
  1.  mengeksekusi kode (source code) secara langsung.
  2. menerjemahkan kode ke dalam beberapa representasi intermediate yang efisien kemudian segera mengeksekusinya.
  3. secara ekspisit mengekeskusi kode yang tersimpan yang dibuat oleh kompiler yang merupakan bagian dari sistem penerjemah.
Kesimpulan :
Dari uraian diatas dapat ditarik kesimpuilan bahwa shell merupakan bagian dari sistem operasi yang menyediakan antarmuka bagi pengguna, sedangkan command interpreter adalah sebuah program yang mengeksekusi perintah dari user melalui shell tadi.
---------------------------------------------------------------------------------------------------------------
sumber -> http://in.answers.yahoo.com/question/index?qid=20080818114138AAlCMpi

Application Programming Interface (API)

System call membaca data dari satu file lalu meng-copynya ke file lain
Sebelum memahami tentang API, saya akan memberi satu kasus yaitu pada saat system call membaca data dari suatu file lalu meng-copynya ke file lain.Lihat gambar di samping . Dalam contoh program sederhana di atas, dibutuhkan setidaknya ribuan system calls per detik. Oleh karena itu Kebanyakan programmer
membuat aplikasi dengan menggunakan Application Programming Interface(API). Dalam API itu terdapat fungsi-fungsi/perintah-perintah
untuk menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer. Fungsi yang dibuat dengan menggunakan API tersebut kemudian akan memanggil system calls sesuai dengan sistem operasinya. Tidak tertutup kemungkinan nama dari system calls sama dengan nama di API.

Keuntungan memprogram dengan menggunakan API adalah:
  •     Portabilitas. Programmer yang menggunakan API dapat menjalankan programnya dalam sistem operasi mana saja asalkan sudah ter-install API tersebut. Sedangkan system call berbeda antar sistem operasi, dengan catatan dalam implementasinya mungkin saja berbeda.
  •    Lebih Mudah Dimengerti. API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan.
System call interface ini berfungsi sebagai penghubung antara API dan system call yang dimengerti oleh sistem operasi. System call interface ini akan menerjemahkan perintah dalam API dan kemudian akan memanggil system calls yang diperlukan.

Untuk membuka suatu file tersebut user menggunakan program yang telah dibuat dengan menggunakan bantuan API, maka perintah dari user tersebut diterjemahkan dulu oleh program menjadi perintah open(). Perintah open() ini merupakan perintah dari API dan bukan perintah yang langsung dimengerti oleh kernel sistem operasi. Oleh karena itu, agar keinginan user dapat dimengerti oleh sistem operasi, maka
perintah open() tadi diterjemahkan ke dalam bentuk system call oleh system call interface. Implementasi perintah open() tadi bisa bermacam-macam tergantung dari sistem operasi yang kita gunakan.

API dibagi menjadi 2 yaitu : Command Line Interpreter (CLI) dan Graphical User Interface (GUI).
  1. CLI merupakan antarmuka dimana user berinteraksi dengan sistem melalui text-tertminal. User bisa menuliskan baris-baris perintah tertentu yang dimengerti oleh sistem. Meskipun konsepnya sama namun beberapa sistem operasi memiliki CLI yang berbeda. Pada MS-DOS (MS XP)menamakannya command.com atau command prompt, sedangkan pada Vista dinamakan powershell.. UNIX menamakannya bash,ash,kash dan lain sebagainya. Pengguna linux mengenal CLI sebagai terminal, sedangkan para pengguna Apple mengenalnya sebagai commandshell.
  2. GUI menyediakan antarmuka yang lebih menarik kepada user berupa menu,icon, gambar dan pointing device seperti mouse. Dengan GUI, user jadi lebih mudah untuk berinteraksi dengan sistem. Seperti halnya pada CLI para pengembang sistemoperasi memiliki nama sendiri untuk sistem GUI-nya. Pada Applae Mac-OS, GUI nya disebut Aqua. Pada windows XP , GUI nya disebut Lunar, pada Vista disebut Aero. Pada Linux ada 2 pengembang  yaitu : K Desktop Environment (KDE) dan GNOME. KDE digunakan pada beberapa distro seperti Suse dan Mandrake, sedangakan GNOME digunakan pada Fedora Core dan Ubuntu.
---------------------------------------------------------------------------------------------------------------
Tulisan ini masih bisa berkembang.
sumber :
http://kambing.ui.ac.id/bebas/v06/Kuliah/SistemOperasi/BUKU/SistemOperasi-4.X-1/ch06s05.html
http://trim-blogtri.blogspot.com/2009/10/windows-api_28.html

Minggu, 16 Oktober 2011

System Calls

System Calls menyediakan antar muka antara proses (program yang sedang dijalankan) dan sistem operasi. Biasanya tersedia sebagai instruksi bahasa rakitan dan beberapa sistem mengizinkan system calls dibuat langsung dari bahasa pemrograman tingkat tinggi. Selain itu beberapa bahasa perograman tingkat tinggi ( contoh: C, C++) telahdidefinisikan untuk menggantikan bahasa rakitan untuk sistem pemrograman. Tiga metode umum yang digunakan dalam memberikan parameter kepada sistem operasi :
 - melalaui register
 - menyimpan parameter dalam blok atau tabel pada memori dan alamat blok tersebet diberikan sebagai    parameter dalam register
- menyimpan parameter (push) ke dalam stack (oleh program), dan melakukan pop off pada stack (oleh sistem operasi)
Mekanisme parameter

Pada dasarnya System Calls dapat dikelompokan dalam 5 kategori sebagai bereikut :
1. Kontrol Proses
   - selesai, abort
   - load, eksekusi
   - membuat dan mengakhiri proses
   - mengambil dan meng-set atribut proses
   - menunggu waktu
   - wait event, signal event
   - alokasi dan pengosongan memori

2. Memanipulasi file :
   - membuat dan menghapus berkas
   - membuka dan menutup berkas
   - read, write, reposition
   - mengambil dan meng-set atribut berkas

3. Memanipulasi device :
   - meminta device, melepaskan device
   - read, write, reposition
   - mengambil dan meng-set atribut

4. Information maintenance :
   - mengambil dan meng-set waktu dan tanggal
   - mengambil dan meng0set sistem data
   - mengambil proses, berkas atau atribut device
   - meng-set proses, berkas atau atribut device

5. Komunikasi :
   - menciptakan, menghapus hubungan komunikasi
   - mengirim dan menerima pesan
   - mentrasnsfer status informasi
   - attach atau detach remote device
   - komunikasi dapat dilakukan melalui message passing atau shared memory
Mekanisme komunikasi

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Host