System Call
Merupakan suatu bentuk
komunikasi antara user dan hardware hingga melakukan suatu proses. Melalui
Shell, OS (sebagai jembatan antara user dan hardware) akan menangkap
perintah user yang kemudian akan dikomunikasikan melalui System Calls. System
Calls ditulis dalam bahasa assembly atau bahasa tingkat
tinggi. Terdapat 5 tipe System Call yaitu :
1. Manajemen Proses
2. Manajemen Berkas
3. Manajemen Piranti
4. System Call Informasi
5. Komunikasi
Saat penggunaan program
terdapat 3 cara memberikan parameter dari program ke OS yaitu dengan cara :
1. Melalui register
(sumber daya di CPU)
2. Menyimpan parameter
pada data struktur (table) di memori, dan alamat table tersebut ditunjuk oleh
pointer ayng disimpan di register.
3. Push (store) melalui
“stack” pada memori dan OS mengambilnya melalui POP pada stack tersebut.
Command Interpreter
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.
API (Application
Programming Interface )
Merupakan seperangkat
aturan tertentu ‘kode’ dan spesifikasi yang membuat software yang
berbeda dapat mengikuti untuk berkomunikasi satu sama
lain. Terdapat beberapa bahasa pemrograman high-level memiliki
dukungan terhadap API (Application Programming Interface. API membantu untuk
mempercepat proses development dan mempermudah melakukan eksplorasi lebih
jauh. API sebagai sebuah function yang siap digunakan dapat saja
menyebabkan crash karena pemanggilan yang salah atau kegagalan pengaksesan.
Untuk itu lebih baik kita selalu menyimpan pekerjaan kita sesering mungkin.
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.
Shell
Merupakan program / layer yang berfungsi sebagai interface antara user dengan inti OS yaitu kernel. Umumnya Shell menyediakan prompt sebagai user interface, tempat dimana user mengetikan perintah-perintah yang diinginkan baik internal command ataupun external command. Shell juga memungkinkan user menyusun sekumpulan perintah pada sebuah / beberapa file untuk dieksekusi sebagai program. Shell dalam SO terbagi menjadi 2 yaitu :
1. Command Line Interface (CLI) : user berinteraksi dengan OS melalui text terminal.
2. Graphical User Interface (GUI) : user berinteraksi dengan user melalui gambar-gambar grafik, icon, menu dan pointing device (misal : mouse / track ball).
Contoh dari shell : 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 lainnya terutama dalam keluarga sistem operasi UNIX.