• Tidak ada hasil yang ditemukan

System Call

N/A
N/A
Protected

Academic year: 2021

Membagikan "System Call"

Copied!
11
0
0

Teks penuh

(1)

Pengertian serta jenis-jenis System Call

System Call adalah penyedia antarmuka dari pelayanan-palayanan yang tersedia dengan Sistem

Operasi. Umumnya System Call menggunakan bahasa C dan C++, meskipun tugas-tugas seperti

hardware yang harus diakses langsung, maka menggunakan bahasa assembly.

Bagaimana cara kerja system calls?

Dari gambar diatas, file sumber mempunyai beberapa proses sampai akhirnya sampai di file

tujuan.

Pertama, kita dapat menulis suatu program sederhana untuk membaca satu file ke file lainnya.

Program akan membutuhkan nama dari 2 file input dan output.

Memasukkan nama file input dan menampilkannya pada layar, menerima masukan seperti

inputan data dari keyboard yang diketik, dan nama file output hasil dari ketikkan kita. Setelah

dua nama file telah diperoleh program harus membuka file input dan membuat file output.

Masing-masing membutuhkan system call. Mungkin ada juga kondisi kesalahan yang dilakukkan

operator.

Ketika program mencoba untuk membuka file input dan ternyata tidak ada nama file itu atau

bahwa file tersebut dilindungi pengaksesannya. Maka, kita harus membuat perintah di command

interpreter (baca mengenai command interpreter) yang terdapat di OS kita dan membukakan file

tersebut. Jika file input ada, maka kita harus membuat file output baru. Kita mungkin akan

menemukan file output dengan nama yang sama. Situasi tersebut dapat membuat program

dibatalkan (system call), atau kita dapat menghapus file yang ada dan membuat yang baru.

Setelah dua file input dan output telah ditetapkan, maka program akan melooping membaca file

input dan menulis ke file output sampai akhir file. Jika proses sudah selesai, program akan

menutup kedua file dan akan terdapat pesan di layar bahwa proses telah selesai dan mengakhiri

program dengan normal.

(2)

Jenis-jenis System Call:

Process control: mengontrol proses yang berjalan

File management: memanage file-file yang berjalan pada program

Device management: memanage device apa saja yang digunakan pada program

Information Maintenance: sebagai penghubung antara user dengan sistem operasi dari

berbagai informasi.

Communication: pertukaran informasi dari proses yang berjalan dengan sistem operasi.

gambar disamping adalah gambaran posisi system call yang terdapat dalam sistem operasi

UNIX.

(3)

Apa Itu System Calls ?

System Calls

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.

(4)

Jenis System Calls

Berikut ini adalah tipe system call:

Manajemen Proses. System call untuk manajemen proses diperlukan untuk

mengatur proses-proses yang sedang berjalan. Kita dapat melihat

penggunaan system calls untuk manajemen proses pada Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk manajemen proses adalah Fork. Fork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix.

Manajemen Berkas. System calls yang berhubungan dengan berkas sangat

diperlukan. Seperti ketika kita ingin membuat atau menghapus suatu berkas, atau ketika ingin membuka atau menutup suatu berkas yang telah ada, membaca berkas tersebut, dan menulis berkas itu. System calls juga diperlukan ketika kita ingin mengetahui atribut dari suatu berkas atau ketika kita juga ingin merubah atribut tersebut. Yang termasuk atribut berkas adalah nama berkas, jenis berkas, dan lain-lain. Ada juga system calls yang menyediakan mekanisme lain yang berhubungan dengan direktori atau sistem berkas secara keseluruhan. Jadi bukan hanya

berhubungan dengan satu spesifik berkas. Contohnya membuat atau menghapus suatu direktori, dan lain-lain.

Manajemen Piranti. Program yang sedang dijalankan kadang kala memerlukan

tambahan sumber daya. Jika banyak pengguna yang menggunakan sistem dan memerlukan tambahan sumber daya maka harus meminta peranti terlebih dahulu. Lalu setelah selesai, penggunaannnya harus dilepaskan kembali dan ketika sebuah

(5)

peranti telah diminta dan dialokasikan maka peranti tersebut bisa dibaca, ditulis, atau direposisi.

System Call Informasi/Pemeliharaan. Beberapa system calls disediakan untuk

membantu pertukaran informasi antara pengguna dan sistem operasi, contohnya adalah system calls untuk meminta dan mengatur waktu dan tanggal atau meminta informasi tentang sistem itu sendiri, seperti jumlah pengguna, jumlah memori dan disk yang masih bisa digunakan, dan lain-lain. Ada juga system calls untuk

meminta informasi tentang proses yang disimpan oleh sistem dan system

calls untuk merubah informasi tersebut. Komunikasi. Dua model komunikasi:

o Message-passing. Pertukaran informasi dilakukan melalui fasilitas

komunikasi antar proses yang disediakan oleh sistem operasi.

o Shared-memory. Proses menggunakan memori yang bisa digunakan oleh

berbagai proses untuk pertukaran informasi dengan membaca dan menulis data pada memori tersebut. Dalam message-passing, sebelum komunikasi dapat dilakukan harus dibangun dulu sebuah koneksi. Untuk itu diperlukan suatu system calls dalam pengaturan koneksi tersebut, baik dalam

menghubungkan koneksi tersebut maupun dalam memutuskan koneksi tersebut ketika komunikasi sudah selesai dilakukan. Juga diperlukan suatu system calls untuk membaca dan menulis pesan (message) agar pertukaran informasi dapat dilakukan.

(6)

Apa itu System Call?

System Call merupakan sekumpulan layanan yang digunakan untuk mengakses

kernel. System call juga digunakan untuk mengimplementasikan berbagai layanan yang

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

System Call ada lima jenis yang utama, yaitu :

Process Control merupakan System Call yang mengendalikan proses-proses

yang berjalan.

File Manipulation adalah kumpulan System Call yang bertugas untuk melakukan

manipulasi file seperti pembacaan, penulisan, penghapusan dan pengubahan.

Device Manipulation adalah System Call yang mengatur penggunaan

peralatan-peralatan yang terhubung pada mesin tersebut.

Information Maintenance, System call yang menghubungkan user dengan sistem

operasi dalam hal berbagi informasi.

Communications, ada dua model komunikasi yaitu pertukaran informasi

dilakukan melalui fasilitas komunikasi antar proses yang disediakan oleh Sistem

(7)

Operasi (Message-Passing) dan pertukaran dengan menggunakan memori

(shared-memory).

(8)

SYSTEM CALL

Posted by : Andi Kurniawan Jumat, 18 Januari 2013

Layanan langsung sistem operasi ke pemrograman, disebut dengan system call atau API (application programming interface). System call adalah tata cara pemanggilan di program aplikasi untuk memperoleh layanan yang disediakan oleh sistem operasi. System call berupa rutin sistem operasi untuk keperluan tertentu yang spesifik. System Call untuk manajemen proses diperlukan untuk mengatur proses-proses yang sedang berjalan. Kita dapat melihat penggunaan system calls untuk manajemen proses pada Sistem Operasi Unix. Contoh yang paling baik untuk melihat bagaimana system call bekerja untuk manajemen proses adalah Fork. Definisi Fork adalah satu satunya cara untuk membuat sebuah proses baru pada sistem Unix. Fork membuat duplikasi yang mirip dengan proses aslinya, termasuk file descriptor, register, dan lainnya. Setelah perintah Fork, child akan mengeksekusi kode yang berbeda dengan parentnya. Bayangkan yang terjadi pada shell. Shell akan membaca command dari terminal, melakukan fork pada child, menunggu child untuk mengeksekusi command tersebut, dan membaca command lainnya ketika child terminate. Untuk menunggu child selesai, parent akan mengeksekusi system call waitpid, yang hanya akan menunggu sampai child selesai. Proses child harus mengeksekusi command yang dimasukkan oleh user (pada kasus shell). Proses child melakukannya dengan menggunakan system call exec.Dari ilustrasi tersebut kita dapat mengetahui bagaimana system call dipakai untuk manajemen proses.

Keuntungan dan kerugian menggunakan system call sama antarmuka untuk memanipulasi baik file dan perangkat adalah Setiap perangkat dapat diakses seolah-olah itu adalah file dalam file sistem. Karena sebagian besar penawaran kernel dengan perangkat melalui antarmuka file, relatif mudah untuk menambahkan device driver baru dengan menerapkan kode perangkat keras khusus untuk mendukung antarmuka file abstrak. Oleh karena itu, ini manfaat pengembangan baik kode program pengguna, yang dapat bewritten untuk mengakses perangkat dan file dalam samemanner, dan perangkat sopir kode, yang dapat ditulis untuk mendukung API yang didefinisikan dengan baik. Kerugian itu dengan menggunakan antarmuka yang sama adalah bahwa mungkin akan sulit untuk menangkap fungsi peralatan tertentu dalam konteks akses file API, sehingga baik mengakibatkan hilangnya fungsi atau kerugian kinerja. Beberapa ini dapat diatasi dengan penggunaan operasi ioctl yang menyediakan antarmuka tujuan umum untuk proses untuk memanggil operasi pada perangkat.

Ada lima jenis system calls utama, yaitu:

(9)

load execute create process terminate process

get/set process attributes

wait for time, wait event, signal event allocate, free memory

b. File manipulation adalah kumpulan system calls yang bertugas untuk melakukan manipulasi file seperti pembacaan, penulisan, penghapusan dan pengubahan.

create file, delete file open, close

read, write, reposition get/set file attributes

c. Device manipulation adalah system calls yang mengatur penggunaan peralatan-peralatan yang terhubung pada mesin tersebut.

request device, release device read, write, reposition

get/set device attributes

logically attach or detach devices

d. Information maintenance. System calls yang menghubungkan user dengan sistem operasi dalam hal berbagi informasi.

get/set time or date get/set system data

get/set process, file, or device attributes

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

(10)

send, receive messages transfer status information attach or detach remote devices Struktur sederhana :

Tiga cara memberikan parameter dari program ke sistem operasi: • Melalui registers (sumber daya di CPU).

• Menyimpan parameter pada data struktur (table) di memori, dan alamat table tsb ditunjuk oleh pointer yang disimpan di register.

• Push (store) melalui "stack" pada memori dan OS mengambilnya melalui pop pada stack tsb.

(11)

http://2009030ifunsika.blogdetik.com/category/sistem-operasi/ http://en.wikipedia.org/wiki/System_call http://dewa18.wordpress.com/2009/10/28/operasi-sistem-komputer-struktur-sistem-operasi-dan-system-call/ http://blog.unsri.ac.id/rennyamalia/sistem-operasi/tugas-sistem-operasi-2/mrdetail/48335/ http://www.google.co.id/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCIQFjAA&url= http%3A%2F%2Fopenstorage.gunadarma.ac.id%2Fhandouts%2FS1_Sistem%2520Informasi%2FLec tureNote-Sistem-Operasi-Jurusan-SK.doc&ei=m_aGT8CPCsewiQeB0f3HBw&usg=AFQjCNGVu6xWXCP43n8JbNWeBxnTjHnWoQ

Referensi

Dokumen terkait

Pada tahapan ini mencakup penentuan perangkat lunak dan perangkat keras untuk pengembangan sistem, antarmuka sistem proses integrasi maupun fasilitas pencarian, kode

Konfigurasi servis di komputer klien dengan cara mengatur Windows firewall untuk mengijinkan program mengakses sistem krusial di Windows, pengaturan file sharing sehingga

Dengan sistem ini, pengguna yang membuka sebuah (atau beberapa) file untuk melakukan proses editing akan secara otomatis mengunci file tersebut untuk menghindari

(2) Sistem basis data merupakan sistem yang terdiri dari kumpulan file (tabel) yang saling berhubungan dan sekumpuan program (DBMS) yang memungkinkan pengguna untuk mengakses

• pencapaian tujuan dasar untuk mengeksekusi program pengguna dan menyelesaikan permasalahan pengguna dengan lebih mudah; • menghilangkan kerumitan penggunaan perangkat keras;

Untuk memulai pembangunan suatu program aplikasi, terlebih dahulu dilakukan perencanaan pengembangan perangkat lunak berdasarkan pengumpulan data dan kebutuhan dari

• Definisi kebutuhan ( req. PL harus mampu menyediakan sarana untuk menampilkan dan mengakses file-file yang dibuat oleh tool yang lain. specification ) :. • 1.1 Pengguna

Manfaat Penelitian Manfaat yang diperoleh dari penelitian ini diharapkan dapat membantu pengguna sebagai petunjuk untuk mengakses informasi yang berkaitan dengan letak tempat