Senin, 17 Oktober 2011

shell , system call , command interpreter, api

Definisi Shell

Shell merupakan program user atau lingkungan yang disediakan untuk interaksi user. Shell merupakan penerjemah bahasa perintah yang menerima input standar (keyboard) atau dari suatu file. Shell bukanlah bagian dari kernel, tetapi ia menggunakan kernel untuk menjalankan program, membuat file, dan sebagainya.
Shell script memiliki kemampuan untuk mengambil input dari user, file dan menampilkan hasilnya pada layar.
a. Berguna untuk membuat perintah anda sendiri.
b. Menghemat banyak waktu.
c. Untuk mengotomatisasi beberapa tugas sehari-hari.
d. Administrasi sistem juga dapat diotomatisasi.
antara program yang sedang berjalan dengan sistem opeasi yaitu :
• Melewatkan parameter melalui register.
• Menyimpan parameter pada tabel yang disimpan di memori dan alamat tabel
tersebut dilewatkan sebagai parameter di register seperti Gambar-1.
• Push (menyimpan) parameter ke stack oleh program dan pop (mengambil) isi
stack yang dilakukan oleh system operasi.

Command-Interpreter System

Sistem Operasi menunggu instruksi dari pengguna (command driven). Program yang membaca instruksi dan mengartikan control statements umumnya disebut: control-card interpreter, command-line interpreter, dan UNIX shell. Command-Interpreter System sangat bervariasi dari satu sistem operasi ke sistem operasi yang lain dan disesuaikan dengan tujuan dan teknologi I/O devices yang ada. Contohnya: CLI, Windows, Pen-based (touch), dan lain-lain.
Command Interpreter pada perancangan dan struktur system operasi berfungsi untuk menterjemahkan instruksi dan perintah yang diberikan oleh pengguna agar sesuai dengan lapisan dibawahnya yang nantinya dapat menggerakkan perangkat keras.
Sistem Command Intepreter
Beberapa perintah yang dimasukkan ke sistem operasi menggunakan
pernyataan kontrol yang digunakan untuk
• Manajemen dan pembuatan proses
• Penangananan I/O
• Manajemen penyimpan sekunder
• Manajemen memori utama
• Akses sistem file
• Proteksi
• Jaringan
Program yang membaca dan menterjemakan pernyataan kontrol disebut
dengan command-line intepreter atau shell pada UNIX. Fungsinya adalah untuk
mengambil dan mengeksekusi pernyataan perintah berikutnya.

 
SYSTEM CALL

Komputer digunakan untuk melakukan suatu proses yang dikehendaki user. Oleh karena itu harus ada suatu bentuk komunikasi antara user dan hardware. Komunikasi itu terjadi dalam bentuk system calls. SO melalui shell-nya akan menangkap perintah dari user yang kemudian akan dikomunikasikan melalui system calls. Disinilah peran SO sebagai jembatan komunikasi antara user dan hardware itu terjadi. System calls itu sendiri umumnya ditulis dalam bahasa C dan C++.
Mengenai shell, shell itu sendiri secara umum adalah layer yang berfungsi sebagai interface antara user dan inti dalam sistem operasi (kernel). Melalui shell, user dapat memberi perintah-perintah yang akan dikirim ke sistem operasi, sehingga shell ini merupakan layer yang menerima interaksi dari user secara langsung. Shell dalam SO secara umum dibagi menjadi 2, Command Line(CLI) dan Graphical(GUI). Jadi dengan kata lain, system calls berperan sebagai interface dalam layanan-layanan yang disediakan oleh sistem operasi.
Untuk lebih jelasnya lihat gambar berikut. Contoh di atas adalah sytem calls di dalam program yang membaca data dari satu file lalu meng- copy-nya ke file lain.
System Calls menyediakan interface pelayanan-pelayanan yang disediakan oleh sistem operasi, umumnya sebagai rutin-rutin yang ditulis dengan bahasa C atau C++, atau beberapa tugas yang mengakses hardware secara langsung menggunakan bahasa rakitan. Biasanya programmer lebih memilih Application Programming Interface (API) dibandingkan dengan low level programming.
Ada lima jenis system calls utama, yaitu:
a. Process control merupakan system calls yang mengendalikan proses-proses yang berjalan.
b. File manipulation adalah kumpulan system calls yang bertugas untuk melakukan manipulasi file seperti pembacaan, penulisan, penghapusan dan pengubahan.
c. Device manipulation adalah system calls yang mengatur penggunaan peralatan-peralatan yang terhubung pada mesin tersebut.
d. Information maintenance. System calls yang menghubungkan user dengan sistem operasi dalam hal berbagi informasi.
e. Communications. Ada dua model komunikasi yaitu pertukaran informasi dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh sistem operasi (Message-Passing) dan pertukaran dengan menggunakan memori (shared-memory)




API (Apication Programing Interface)
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.
Cara Memakai API
* Dilakukan dengan mengimpor package/kelas import java.util.Stack;
* Ada beberapa kelas bernama sama dipackage yang berbeda, yaitu :
– import salah satu dan gunakan nama lengkap untuk yang lain, atau
– gunakan nama lengkap semua kelas
Ada tiga jenis Bahasa Pemrograman Java Application Programming Interface (API):
* inti resmi Java API, yang terdapat dalam JDK atau JRE, dari salah satu edisi dari Java Platform. Tiga edisi dari Java Platform adalah Java ME (Micro edition), Java SE (Standard edition), dan Java EE (Enterprise edition).
* Resmi opsional API yang dapat didownload secara terpisah. Spesifikasi API ini didefinisikan sesuai dengan Spesifikasi Jawa Request (JSR), dan kadang-kadang beberapa API ini kemudian dimasukkan dalam API inti dari platform (contoh yang paling terkenal dari jenis ini adalah swing).
* API tidak resmi, yang dikembangkan oleh pihak ketiga, tetapi tidak berkaitan dengan JSRs apapun.
Secara umum arsitektur Symbian OS sendiri dapat gambarkan menjadi empat lapisan berdasarkan penggunaan API yang tersedia, yaitu :
Lapisan pendukung aplikasi (Application Utility Layer)
Lapisan ini terdiri dari berbagai pendukung yang berorientasi pada aplikasi. Hal ini memungkinkan aplikasi lain (diluar sistem operasi) untuk berintegrasi dengan aplikasi dasar yang tersedia pada sistem operasi. Bentuk layanan lain termasuk proses pertukaran data dan manajemen data.
Lapisan layanan dan framework antarmuka grafis (GUI Framework)
Lapisan ini merupakan framework API yang tersedia untuk memberi dukungan terhadap penanganan input user secara grafis maupun suara yang dapat digunakan oleh aplikasi lain.
Lapisan komunikasi
Lapisan ini berfungsi sebagai sistem operasi yang fokus diimplementasi pada peralatan komunikasi mobile, Symbian OS memiliki kumpulan API yang fokus pada lapisan komunikasi. Bagian teratas pada lapisan ini terdapat dukungan pencarian dan pengiriman pesan teks. Berikutnya adalah antarmuka yang memberi dukungan komunikasi seperti Bluetooth dan infrared (IrDA) serta USB. Yang terakhir pada lapisan ini adalah protokol komunikasi berupa TCP/IP, HTTP, WAP dan layanan telepon.
Lapisan sistem API dasar
Lapisan ini merupakan kumpulan API yang mendukung pengasksesan data memori, tanggal dan waktu, serta sistem dasar lainnya
Klasifikasi Sistem Operasi
Klasifikasi ini berdasar fungsionalitas dan hak akses dari API tertentu. Tujuan dari pendefinisian sistem ini selain untuk membedakan API mana saja yang bisa diakses oleh aplikasi yang dibuat oleh pihak pengembang aplikasi, juga tetap memelihara integrasi dari layanan yang disediakan bagi pihak pengembang aplikasi dengan API yang umum digunakan. Hal ini juga dilakukan untuk memaksimumkan interoperabilitas antara berbagai produk yang menggunakan Symbian OS.
Terdapat empat kategori dalam klasifikasi API yang tersedia, yaitu
 (API) Symbian Umum
Komponen ini merupakan komponen (API) inti dari Symbian OS. Setiap pengembang aplikasi dapat berasumsi bahwa komponen ini terdapat pada setiap versi Symbian OS sehingga dapat digunakan pada setiap perangkat telepon bergerak yang menggunakan Symbian OS sebagai sistem operasinya. Dengan kata lain setiap kode program yang hanya menggunakan API pada kategori ini dapat dikompail dan dijalankan tanpa kesalahan pada setiap telepon yang menggunakan Symbian OS. Dengan adanya lisensi kerjasama, pengembang aplikasi dapat menambahkan dengan syarat tidak mengganti ataupun mengubah fungsi API standar yang dikategorikan pada bagian ini.
(API) Symbian Umum Tergantikan
Komponen yang memerlukan kostumisasi dari komponen Symbian Umum yang diperlukan untuk bekerja dengan ROM dari sistem dimana ia diinstal. Komponen ini merupakan komponen yang bekerja pada low-level dari hardware tertentu. Untuk mendapatkan komponen ini pihak pengembang aplikasi memerlukan lisensi dengan pihak Symbian karena versi komponen ini disediakan oleh pihak Symbian. Namun pada dasarnya komponen ini merupakan komponen standar (umum) yang tersedia pada semua versi Symbian OS.
 (API) Symbian Opsional
Komponen-komponen ini sifatnya opsional (tidak selalu ada) pada semua versi Symbian OS. Namun jika tersedia, maka pengembang aplikasi mendapat jaminan bahwa aplikasinya dapat menggunakan API pada kategori ini pada versi Symbian OS yang sama.
 (API) Symbian Opsional Tergantikan
Bentuk kategori ini mirip dengan kategori Symbian Opsional adalah kumpulan API yang tidak terikat dengan API umum yang ada pada versi Symbian OS dan dapat ditambahkan oleh pihak pengembang dengan suatu lisensi dari pihak Symbian.

Tidak ada komentar:

Posting Komentar