KONSEP SISTEM OPERASI Manajemen Proses Manajemen Memory Manajemen I/O Manajemen File Security Proses Merupakan konsep utama sistem operasi Proses adalah sebuah program yang sedang dijalankan (eksekusi). Suatu proses memerlukan resources pada saat ekesekusi: CPU time, memory, files dan I/O devices Sistim operasi bertanggung jawab terhadap aktifitas yang berhubungan dengan manajemen proses: Process creation & deletion. Process suspension (block) & resuming. Mekanisme: Sinkronisasi antar proses Komunikasi antar proses Deadlock Suatu proses, jika terjadi interrupt, maka akan dihentikan sementara dan jika akan dieksekusi kembali maka akan dimulai dari state terakhir saat dihentikan Pada sebagian sistem operasi, informasi tiap proses disimpan pada tabel proses. Tabel proses berbentuk array atau linked list Kunci pengaturan proses : Mekanisme penciptaan proses Mekanisme penghentian proses Suatu proses dikatakan sebagai parent process, bilamana proses tersebut bisa menciptakan satu proses baru Suatu proses dikatakan sebagai child process, hasil penciptaan dari parent process. Child Process bisa menciptakan proses baru lagi A B E F C D G K H I L J Dalam proses dibedakan 2 bagian : User Identification (UID) Group Identification (GID) Memory Memori sebagai tempat penyimpanan instruksi/data dari program Storage yang cepat sehingga dapat mengimbangi kecepatan eksekusi instruksi CPU Terdiri dari “array of words/bytes” yang besar Address digunakan untuk mengakses data (shared oleh CPU dan I/O devices) Umumnya main memory bersifat “volatile” – tidak permanent. Isinya akan hilang jika komputer di matikan. Manajemen memori: Melacak pemakaian memori (siapa dan berapa besar?). Memilih program mana yang akan diload ke memori. Alokasi dan De-alokasi memori fisik untuk program. I/O Sering disebut device manager Menyediakan “device driver” yang umum sehingga operasi I/O dapat seragam (open, read, write, close) Contoh: user menggunakan operasi yang sama untuk read file pada hard disk, CD-ROM dan floppy disk sama. Komponen OS untuk sistim I/O: Buffer: menampung sementarai data dari/ke I/O devices Spooling: melakukan scheduling pemakaian I/O sistim supaya lebih efisien (antrian dsb) Menyediakan “driver” untuk dapat melakukan operasi “rinci” (detail) untuk hardware I/O tertentu. FILE File: kumpulan informasi yang berhubungan (sesuai dengan tujuan pembuat file tsb). File dapat mempunya struktur yang bersifat hirarkis (direktori, volume dll). Sebelum file dibaca, file harus dibuka lebih dulu, setelah digunakan file tersebut harus ditutup. Metode yg digunakan untuk mengelompokkan file secara bersama-sama, yaitu dengan menggunakan KONSEP DIREKTORI. System call menyediakan perintah untuk : Membuat direktori Menghapus direktori Menempatkan file ke suatu direktori Menghapus file dari suatu direktori Pada Konsep Direktori dikenal 2 buah pathname : Absolute Pathname Path yang terdiri dari list direktori, dimulai dari root direktori, yg harus dikunjungi untuk mengkases suatu file, dengan menggunakan Slash(/) sebagai pemisah antar direktori. Relative Pathname Pathname yg tidak dimulai dengan slash (/) karena setiap proses selalu mempunyai CWD (curent working directory) SISTEM KEAMANAN (SECURITY SYSTEM) Jenis akses yg bisa dilakukan oleh seorang pemakai pada suatu file, proses atau mesin. Sistem Keamanan pada UNIX lebih baik dari pada MS-DOS, dimana di UNIX setiap file mempunyai tingkat keamanan sendiri-sendiri. Keterangan : Nama file atau direktori Jam (waktu) Tanggal Bulan Group Pemilik file Kode Keamanan Kode Keaman di breakdown seperti dibawah : Digit ke-1 Kode : Arti : • Nama file Digit Ke-2,3 & 4 Kode : rwx Arti : • Hak yang dimiliki oleh Pemilih adalah Read, Write dan Execute. Digit Ke-5,6 & 7 Kode : r-x Arti : • Hak yang dimiliki oleh anggota group adalah Read dan Execute. Digit Ke-8,9 & 10 Kode : --x Arti : • Hak yang dimiliki oleh orang lain adalah hanya eksekusi saja. Sedangkan pada Sistem Operasi DOS (Disk Operating System), sistem keamanan diatur dengan menggunakan perintah ATTRIB. Pada DOS hanya di kunci pada jenis filenya dan foldernya saja tanpa memandang user yang menggunakan. Pada kebanyakan sistem operasi, UNIX dan MS-DOS, piranti I/O dinyatakan sebagai suatu file abstrak File Abstrak ini dinyatakan dengan istilah Special File. Ada 2 jenis Special File : Block Special File Digunakan untuk piranti I/O yang terdiri dari sekumpulan blok dengan alamat random. Contoh : Disk Character Special File Digunakan untuk model piranti I/O yang terdiri dari aliran karakter. Misalnya : Line Printer, Interface Network dan Terminal root directory aplikasi data kuliah operasi Proses.doc Contoh : U uan Tuj tam a Dari gambar diatas jika akan diakses file Proses.doc, maka Absolute Pathname-nya adalah : /data/kuliah/operasi/ proses.doc. Jika diimplementasikan dalam DOS, maka hasilnya : c:\>CD\data\kuliah\operasi. root directory aplikasi data kuliah operasi Proses.doc uan Tuj Uta ma Contoh : Relative Pathname: Dari gambar diatas jika dicari Relative Pathnamenya dengan CWD adalah /Data/Kuliah dan tujuan adalah proses.doc. Maka Relative Pathnamenya adalah : /Operasi/Proses.doc. Jika diimplementasikan maka hasilnya : c:\Data\Kuliah> cd operasi. SYSTEM CALL Instruksi tambahan yang menghubungkan Sistem Operasi dengan program yang dibuat oleh pemakai Tujuan System Call: Mengakses komponen-komponen utama dalam sistem operasi System Call bersifat Machine Dependent (bergantung pada hardware) System Call dibuat dengan bahasa C SHELL Program yang memanggil System call adalah Sistem operasi Editor, Compiler dan command interpreter (shell) bukan bagian dari sistem operasi tapi sangat penting dan sering digunakan Shell bukan bagian dari sistem operasi tapi merupakan interface antara pemakai dengan sistem operasi Pada saat pemakai login shell akan running. Shell mempunyai standar input dan standar output, yang dimulai dari PROMPT $ atau % Shell pada DOS biasanya disebut dengan PROMPT command, disini jika kita tidak mengenal perintahperintah DOS kita tidak akan dapat mengerti (What Should I Do ?) apa yang akan kita lakukan. Begitu juga pada Mikrotik. Mikrotik merupakan salah satu sistem operasi khusus untuk management jaringan. Disini Mikrotik berbasiskan DOS. Sehingga jika kita tidak mengerti perintah Mikrotik kita tidak akan mengetahui tindakan apa yang akan kita lakukan. STRUKTUR SISTEM OPERASI Struktur Sistem Operasi dibagi menjadi 4 bagian besar : Monolithic System (Sistem Monolitis) Layered System (Sistem Lapisan) Virtual Machine System (Mesin Maya) Client Server 1. Monolithic System Pada dasarnya adalah konstruksi tanpa struktur (semua komponen SO bercampur jadi satu) Pada sistem ini, Sistem Operasi dibuat sebagai sekumpulan Procedure Setiap Procedure dapat memanggil Procedure yang lainnya, kapanpun diperlukan Contoh : SO MSDOS tidak ada pemisahan yg jelas antara aplikasi dengan SO Mata Kuliah : Sistem Operasi – Dosen : Andy Rachman, ST – ITATS – 2009 Main Procedure Service Procedure Utility Procedure Mata Kuliah : Sistem Operasi – Dosen : Andy Rachman, ST – ITATS – 2009 Utility Procedure : Merupakan program dasar untuk mengendalikan sistem komputer dan mengerjakan apa yang dibutuhkan oleh service procedure, misal mengambil data dari program komputer Service Procedure : Menjalankan fungsi pemanggilan procedureprocedure mana yang harus diaktfikan Main Procedure : Berfungsi untuk memanggil salah satu service procedure dan juga meminta pelayanan dari service procedure. Main procedure mengakses service procedure, selanjutnya service procedure akan mengakses ke utility procedure. 2. Layered System Dikembangkan pertama kali oleh E.W. Dijkstra tahun 1968 Sistem ini terdiri dari beberapa lapisan, dimana lapisan atas hanya bisa memanggil lapisan yang ada dibawahnya. Makin kebawah, lapisannya makin mendekati lapisan hardware. Konsep ini secara umum disajikan dalam sistem MULTICS (MULTIplex Information and Computing Service) dengan sistem operasi Timesharing. Layer 0 : berkaitan erat dengan Alokasi processor ke suatu proses Perpindahan antar proses bila terjadi interupsi atau kuantum waktu telah habis Layer 1 : Sebagai tempat pengaturan memori Layer ini mengalokasikan ruang di memori utama untuk suatu proses dan mengalokasikan pada disk untuk menyimpan bagian proses (pages) bila memori utama tidak cukup Bagian program yang aktif ditempatkan di memori utama, sedangkan yang tidak aktif di dalam disk. Layer ini mencari page-page mana yang sudah waktunya dibawa ke memori utama untuk dieksekusi. Layer 2 : menangani komunikasi antar proses dengan operator monitor dengan cara melewatkan parameter data. Layer 3 : mengatur piranti I/O, menyimpan informasi ke dan dari piranti I/O Layer 4 : Lokasi dimana prorgram pemakai berada, pemakai tidak perlu risau dengan proses, memori, terminal maupun pengaturan I/O, semuanya telah ditangani pada lapisan dibawahnya. Layer 5 : Proses operator 3. Sistem Virtual Machine Pada sistem ini, semua pemakai seolah-olah memiliki komputer sendiri-sendiri. Secara phisik, hanya ada satu komputer saja tetapi secara logik ada beberapa komputer. Sistem Maya ini disebut dengan CPM (Conventional Monitor System). Pada tahun 1979 dikembangkan menjadi VM/370, dimana pengembangannya didasarkan pada : sistem timesharing yang menyediakan sistem multiprogramming Menyediakan extended machine dengan interface yg lebih baik dari hardware sebenarnya. Struktur VM/370 dengan CMS dapat dilihat pada gambar dibawah ini : Setiap Virtual Machine selalu identik dengan hardware sebenarnya, dan dapat menjalankan Sistem Operasi Apapun. 4. MODEL CLIENT SERVER Karena perkembangan zaman SO semakin besar dan kompleks Kernel berisi fungsi-fungsi dasar dari sistem operasi dan menangani komunikasi antara client dan server : Yaitu dengan cara membagi-bagi sistem operasi menjadi beberapa bagian. Semua Server berjalan dalam user mode, hal ini menyebabkan Server tidak dapat diakses secara langsung menuju hardware Untuk mendapatkan pelayanan, maka proses client mengirim permohonan (request) ke proses server, kemudian server akan melaksanakan pekerjaan yang diminta, selanjutnya akan mengirimkan hasilnya ke client. TEKNIK PENGELOLAAN HARDWARE Adalah suatu cara pengelolaan hardware yang dilakukan Sistem Operasi. Ada 7 Teknik pengelolaan hardware : Sistem Single Job Sistem Batch Processing Teknik Spooling Sistem Timesharing Sistem Multiprocessing Sistem Multiprogramming Sistem Real Time 1. Sistem Single Job Mekanisme yang terjadi adalah Input masuk ke proses kemudian dieksekusi dan hasil eksekusi dikeluarkan sebagai output. Cara ini sangat kuno, karena CPU hanya dapat mengeksekusi satu job setiap saat. 2. Sistem Batch Processing Pada sistem ini, job-job dikumpulkan dalam group-group (batches). Sekali suatu job running, maka job tersebut secara penuh mengontrol mesin dan kontrol baru dikembalikan ke sistem operasi bila job tersebut telah selesai. Kemudian sistem operasi membaca dan menginisialisasi job berikutnya. Pada sistem ini telah dikenal piranti sekunder dengan kecepatan akses yang cukup tinggi sehingga jumlah output persatuan waktu (throughput) meningkat. Masalah yang ada pada sistem ini adalah waktu tunggu yang lama bagi job-job pendek. 3. TEKNIK SPOOLING Diperkenalkan sebuah sistem pengumpulan job, dengan menggunakan disk sebagai buffer penyimpanan yang besar. Hasil pembacaan dari piranti input disimpan ke disk dan juga sebagai tempat penyimpanan output sampai piranti output siap menerimanya Program spooling menangkap setiap permohonan akses ke line printer dan kemudian menuliskan identitas pemohon dan output ke dalam disk. 4. SISTEM TIMESHARING Sistem ini mengoperasikan model interaktif dimana banyak pemakai dapat langsung berhubungan dengan komputer melalui terminal. Sistem ini mampu mengatur waktu pelayanan ke sejumlah pemakai yang mengakses bersamaan 5. SISTEM MULTIPROCESSING Konfigurasi komputer dengan beberapa processor. Terdapat lebih dari satu processor yang mengakses memori yg sama. Konfigurasi yang digunakan bisa berupa masterslave untuk mengurangi biaya interupsi dan pembebanan bersama. Sistem ini lebih fleksibel dan bersifat fault tolerance. Sistem mempunyai kemampuan untuk mendeteksi kerusakan dan kemungkinan perbaikannya. 6. SISTEM MULTIPROGRAMMING Suatu sistem dimana beberapa pemakai berkompetisi untuk memakai resource komputer Cara kerja : Beberapa program sekaligus berada dalam memori utama dan processor dengan cepat akan berpindah dari satu program ke program lainnya sesuai dengan algoritma penjadualan yang digunakan Tujuan dari sistem ini adalah : Agar CPU dan piranti I/O selalu sibuk setiap saat sehingga akan lebih optimal. Sistem ini juga bersifat multitasking dan multiuser. 7. SISTEM REAL TIME Digunakan untuk mengontrol prosesproses dan peralatan pada suatu aplikasi industri. Cara Kerja : Sensor membawa data ke komputer kemudian komputer menganalisa data tersebut dan mengatur penyesuaian yg mungkin untuk memodifikasi sensor input. Konfigurasi sama dengan Sistem TimeSharing Tugas Jelaskan tentang kepemilikan file/Directory dalam sistem Linux/unix dan pengkodeaan hak dan akses : misalnya : 750, 777 artinya apa? Bagaimana Konversi dari pengkodeaan hak akses ke kode angka, misal : drwxrwx--kodenya apa? Berikan contoh penggunaannya?