Shell, System Call, Command Interpreter & API

Posted by Syaiful Mubarak on 23.43

1. Shell

Shell adalah program yang menghubungkan user dengan sistem operasi dalam hal ini kernel (inti sistem operasi) yang pada umumnya shell menyediakan prompt sebagai user interface, tempat dimana user mengetikkan perintah-perintah yang diinginkan baik berupa perintah internal shell (internal command), ataupun perintah eksekusi suatu file progam (eksternal command), selain itu shell memungkinkan user menyusun sekumpulan perintah pada sebuah atau beberapa file untuk dieksekusi sebagai program.

Contoh dari shell adalah Bourne shell, C shell, Korn shell dan masih banyak lainnya khususnya dalam keluarga sistem operasi UNIX. Beberapa shell juga dapat digunakan untuk melakukan manajemen data.


2. 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.
Berikut ini adalah tipe system call :
1.  Manajemen Proses
2.  Manajemen Data
3.  Manajemen Piranti
4.  System Call Information
5.  Komunikasi

3.  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, diantaranya CLI, Windows, Pen-based (touch) dll.



4.  API (Aplication Programing Interface)

API (Application Programming Interface), yaitu sekumpulan function yang disediakan operating system atau berasal dari sebuah service/library. API sebagai sebuah function yang siap digunakan (walaupun tidak selalu mudah untuk diimplementasikan), dapat membantu untuk mempercepat proses development dan mempermudah melakukan eksplorasi lebih jauh.
Ada yang perlu diperhatikan dalam menggunakan API yaitu apa yang sering diajarkan saat pertama kali kita belajar bahasa pemrograman, yaitu simpan pekerjaan seseringmungkin. Bukan untuk menunjukkan ketidakpercayaan pada PLN, tetapi karena function API dapat saja menyebabkan crash karena pemanggilan yang salah atau kegagalanpengaksesan.
Keuntungan memprogram dengan menggunakan API adalah 
1. 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.

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