Today a Reader, Tomorrow a Leader

25 Apr 2018

Rangkuman Pertemuan 11 (Cloud Computing)

Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Artikel ini akan membahas mengenai cloud computing dan seperti apa peranan NOS pada teknologi cloud computing serta penerapannya.

Cloud computing adalah gabungan pemanfaatan teknologi komputer dan pengembangan berbasis internet. Teknologi ini merupakan suatu metode komputasi dimana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan sehingga pengguna dapat mengaksesnya melalui internet tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktut teknologi yang membantunya.
Cloud computing menurut NIST (National Institute of Standard and Technology), didefinisikan sebagai sebuah model yang memungkinkan adanya penggunaan sumber daya secara bersama-sama dan mudah, menyediakan jaringan akses dimana-mana, dapat dikonfigurasi, dan layanan yang digunakan sesuai keperluan. Maka dari itu Cloud Computing dapat disediakan dengan cepat dan meminimalisir interaksi dengan penyedia layanan cloud computing.

Model Deployment
Berdasarkan NIST, cloud computing memiliki 4 model penyebaran yaitu sebagai berikut.
  • Public Cloud (Interner)

Public Cloud merupakan layanan Cloud Computing yang disediakan untuk masyarakat umum. Pengguna bisa langsung mendaftar ataupun memakai layanan yang ada. Banyak layanan Public Cloud yang gratis, dan ada juga yang perlu membayar untuk bisa menikmati layanannya.
  • Private Cloud (Intranet)

Private Cloud adalah layanan cloud computing yang disediakan untuk memenuhi kebutuhan internal dari organisasi atau perusahaan. Biasanya departemen IT akan berperan sebagai service provider (penyedia layanan) dan departemen lain menjadi service consumer.
  • Hybrid Cloud

Gabungan dari layanan Public Cloud dan Private Cloud yang tetap merupakan suatu entitas unik, namun saling terikat bersama oleh standarisasi atau kepemilikan teknologi yang memungkinkan data diakses secara portable.
  • Community Cloud

Layanan Cloud Computing yang dibangun eksklusif untuk komunitas tertentu, bisa berasal dari organisasi yang mempunyai perhatian yang sama atas beberapa hal, misalnya standar keamanan, aturan, compliance, dan sebagainya. Community Cloud ini bisa dimiliki, dipelihara, dan dioperasikan oleh satu atau lebih organisasi dari komunitas tersebut, pihak ketiga, ataupun kombinasi dari keduanya.

Jenis Layanan Cloud Computing
  • IaaS (Infrastruktur)

Cloud Infrastructure as a Service (IaaS) merupakan kemampuan yang diberikan kepada konsumen untuk meningkatkan kapasitas dalam hal pengelolaan sistem komputasi, seperti server dan unit-unit pengolahan lainnya, peningkatan media penyimpanan, peningkatan trafik jaringan, dan sumber daya lain yang mendasari sistem komputasi dimana penggunanya dapat menyebarkan dan menjalankan perangkat lunak secara bebas, yang dapat mencakup sistem operasi dan aplikasi. Secara mendasar, para pengguna tidak mengetahui lokasi fisik perangkat yang mereka kelola, pengelolaan dan pengendalian sepenuhnya melalui infrastruktur cloud yang disediakan oleh penyedia jasa layanan ini. Akan tetapi, pengguna diberikan pengendalian penuh terhadap sistem komputasi, sistem operasi, media penyimpanan dan aplikasi yang mereka gunakan. Namun demikian, pengguna dibatasi pengontrolannya yaitu hanya pada komponen jaringan yang dipilih.
  • PaaS (Platform Pengembangan Software)

Cloud Platform as a Service (PaaS) merupakan kemampuan yang diberikan kepada konsumen untuk menyebarkan aplikasi yang dibuat konsumen atau diperoleh ke infrastruktur cloud computing menggunakan bahasa pemrograman dan peralatan yang didukung oleh provider.  PaaS menyediakan layanan aplikasi lapisan arsitektur cloud untuk membangun, menguji dan menyebarkan aplikasi yang sedang pada tahapan pengembangan.
  • SaaS (Software)

Cloud Software as a Service (SaaS) merupakan kemampuan yang diberikan kepada konsumen untuk menggunakan aplikasi penyedia dapat beroperasi pada infrastruktur cloud. Aplikasi dapat diakses dari berbagai perangkat klien melalui antarmuka seperti web browser (misalnya, email berbasis web). Konsumen tidak mengelola atau mengendalikan infrastruktur cloudyang mendasar termasuk jaringan, server, sistem operasi, penyimpanan, atau bahkan kemampuan aplikasi individu, dengan kemungkinan pengecualian terbatas terhadap pengaturan konfigurasi aplikasi pengguna tertentu.


Keunggulan Penggunaan Cloud
  • Secure (Keamanan)
  • Reliable (kehandalan)
  • On demand (hemat, sesuai dengan kebutuhan)
  • Mudah digunakan dan mudah disesuaikan dengan kebutuhan pengguna
  • Cloud memiliki dukungan yang berlimpah (komunitas open source, enterprise, maupun vendor)

Google juga merupakan sebuah platform tersendiri yang mengakomodasi sebanyak mungkin, baik perangkat, aplikasi, ataupun sistem operasi yang menggunakan internet. Adapun backup server yang digunakan adalah Linux, Solaris, dan MySQL.
 













Hampir semua cloud menggunakan platform open source, karena dapat digunakan pada sistem operasi manapun. Adapun produk open source yang banyak digunakan untuk cloud sampai saat ini adalah OpenStack.
Implementasi Cloud pada NOS dapat digunakan oleh sistem operasi FreeBSD dan Linux. Hal tersebut dikarenakan selain sudah banyak digunakan, kedua sistem operasi tersebut lebih aman dan stabil. Adapun aplikasi yang digunakan adalah OpenStack


Share:

17 Apr 2018

Rangkuman Pertemuan 10 (Security Management pada NOS)



















Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Di artikel kali ini admin akan bahas mengenai Security Management pada Network Operating System. Pertama, bagaimana sih security itu?

Security atau kita sebut saja keamanan jaringan dalam jaringan komputer sangat penting dilakukan. Sistem keamanan jaringan adalah proses untuk mencegah dan mengidentifikasi pengguna yang tidak sah dari jaringan komputer. Tujuannya adalah untuk mengantisipasi resiko jaringan komputer yang dapat berupa ancaman fisik maupun logic. Keamanan harusnya menciptakan kenyamanan, namun terkadang justru semakin tinggi tingkat keamanan, sisi kenyamanan semakin sedikit diperoleh.

Beberapa Jenis Gangguan Keamanan :
  • Carding, yaitu pencurian data terhadap identitas perbankan seseorang.
  • Physing, yaitu pemalsuan terhadap data resmi.
  • Deface, yaitu perubahan terhadap bentuk atau tampilan website.
  • Hacking, yaitu perusakan infrastruktur jaringan komputer yang sudah ada. 

Vulnerability (Celah Keamanan)
Vulnerability adalah suatu kelemahan program/infrastruktur yang memungkinkan terjadinya exploitasi sistem. Vulnerability dapat terjadi ketika developer melakukan kesalahan logika koding atau menerapkan validasi yang tidak sempurna sehingga aplikasi yang dibuatnya memiliki celah yang memungkinkan user atau metode dari luar sistem bisa dimasukkan kedalam programnya. Jenis exploitasi terhadap system vulnerability adalah :
  • Local Exploit
Vulnerability ini hanya bisa diexploitasi secara lokal (dikomputer itu sendiri), exploitasi jenis ini biasanya digunakan untuk mengangkat user privilege, sehingga aplikasi dengan user biasa memiliki hak akses administrator.
  • Remote Exploit
Attacker akan mengexploitasi service port yang terbuka di komputer/server korban, dengan exploit yang telah dibuat khusus, attacker akan mengirimkan payload yang berisi shellcode malware. Exploitasi ini dilakukan dengan jarak jauh menggunakan jaringan internet atau jaringan lokal. 



Linux Security
Linux memiliki security pelindung policy yang disebut SELinux. SELinux adalah kependekan dari Security Enhanced Linux, yang merupakan implementasi dari flexible Mandatory Access Control pada arsitektur Linux. Fungsinya yang menerapkan kebijakan keamanan untuk hak akses aplikasi dalam Linux terkadang membatasi sehingga apa yang ingin kita lakukan akan gagal terhalang kebijakannya.

SELinux dapat dioperasikan dalam 3 cara yang berbeda, yaitu :
  • Enforcing : SELinux menolak akses berdasarkan aturan kebijakan SELinux, yaitu sebagai pedoman yang mengontrol keamanan mesin.
  • Permissive : SELinux tidak menolak aksesm tetapi penolakan login untuk tindakan jika berjalan dalam mode enforcing kembali.
  • Disabled : Fitur SELinux tidk akan diaktifkan.
Konfigurasi SELinux berada pada : /etc/selinux/config


Membuat NOS semakin aman
Beberapa cara yang dapat diterapkan untuk membuat NOS tetap aman adalah :
  • Hardening (server) yang secara umum berarti melakukan proses pengerasan suatu lapisan yang lembut sehingga lapisan tersebut menjadi lebih kuat dan lebih tahan terhadap kerusakan.
  • Patching, yaitu melakukan perbaikan terhadap celah keamanan yang ada. Ini dilakukan dengan cara mendeteksi kerusakan yang ada kemudian melakukan perbaikan.
  • Open Source, yaitu keterbukaan sumber kode yang memungkinkan untuk dilakukan perbaikan segera setelah dilihat adanya celah pada logika coding.


NOS Security Management yang termasuk didalamnya adalah sebagai berikut.
  • Intrusion Detection System, yaitu metode yang dapat digunakan untuk mendeteksi aktivitas yang mencurigakan dalam sebuah sistem atau jaringan.
  • Kontrol Akses, yaitu teknik keamanan yang dapat dirancang untuk mengatur siapa atau jadi apa yang dilakukan penggunaan sumber daya dalam lingkungan komputasi.
  • Risk Management dan IT Risk Management, yaitu mengidentifikasi resiko termasuk ancaman untuk melindungi sistem IT dan data didalamnya.
  • Prosedur Keamanan, yaitu keamanan dalam operasi dimana mengatur dan mengelola sistem keamanan, juga termasuk prosedur setelah serangan.
  • Manajemen Pengguna, yaitu pengelompokkan client satu dan kelompok lainnya memiliki hak akses dalam jaringan yang berbeda.
  • Manajemen Hak Akses, yaitu pembagian hak akses yang ada sesuai dengan kebijakan dari pihak manajemen instansi terkait.
  • Manajemen Memori, yaitu mengatur kinerja memori dalam sebuah sistem komputer melalui sistem operasi
  • Sumber Kode, keterbukaan sumber kode akan memudahkan pengembangan di sisi software
  • Simulasi Penyerangan, simulasi penyerangan dapat dilakukan dengan berbasis honeynet dan honeypot.


Share:

10 Apr 2018

Rangkuman Pertemuan 9 (NOS pada Server)

Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.

Pada artikel kali ini akan membahas mengenai pengertian dan pemahaman server serta peran Network Operating System dalam manajemen jaringan dan server. Yuk langsung simak penjelasannya berikut ini !

Definisi Server
Server adalah sebuah sistem komputer yang menyediakan jenis layanan (service) tertentu dalam sebuah jaringan komputer. Server menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya. Tugas utama server adalah melayani permintaan yang diberikan oleh komputer client, dan di bagi menjadi beberapa fungsi sesuai dengan jenis server, seperti Web Server, Cloud Server, dan lain-lain.  Server sendiri didukung dengan prosesor yang memiliki spesifikasi tinggi dan RAM yang besar. Hal tersebut dikarenakan server bertugas menyediakan dan melayani banyak komputer dalam suatu jaringan. Yang diutamakan dalam server ini adalah keamanan, kemudahan, irit dalam konsumsi sumber daya komputasi, dan handal dalam jaringan komputer.

Network Operating System pada Manajemen Jaringan dan Server
Diperlukan sistem operasi yang ditujukan khusus untuk menangani suatu jaringan untuk melakukan manajemen jaringan dan server. Contoh dari sistem operasi jaringan diantaranya adalah Free BSD, Sun Solaris, UNIX, dan seluruh distribusi dari GNU/Linux.

Berdasarkan IBM tahun 2017, Linux menempati tempat pertama sebagai sistem operasi yang paling banyak digunakan untuk melakukan manajemen jaringan dan server. Berikut merupakan peringkat 10 teratas menurut sumber https://www.ibm.com/developerworks/community/blogs/55eba574-33c9-4600-a0dd-ad7aad16bb5e/entry/Top_10_Options_for_Linux_As_A_Server_Operating_System?lang=en


Beberapa alasan mengapa sistem operasi Linux banyak digunakan untuk melakukan manajemen jaringan dan server adalah karena keamanan yang lebih kuat, dukungan sistem operasi versi komunitas dan enterprise, bersifat terbuka (open source), dan software yang digunakan minim bugs.
Terdapat pula beberapa faktor penting yang harus diperhatikan jika ingin menggunakan Network Operating System untuk melakukan manajemen server. Faktor-faktor tersebut diantaranya sebagai berikut.

  • Pemilihan

Pemilihan disini merangkum dari pertimbangan keamanan pada server, kenyamanan dalam menggunakan sistem operasi, dukungan yang disediakan oleh versi tertentu (komunitas/enterprise), biaya yang disediakan, dan kebutuhan dari pengguna sendiri. Tahap pemilihan ini merupakan tahap pertama yang harus diperhatikan dengan seksama sebelum menggunakan sistem operasi untuk server.
  • Manajemen

Pada aspek manajemen ini, pengguna bisa melakukan pengaturan terhadap sistem operasi tersebut, dimana termasuk manajemen pengguna, hak akses, kepemilikan, penyimpanan, dan lain-lain.
  • Konfigurasi

Konfigurasi dilakukan guna mengetahui isi dari file-file yang membangun sistem operasi yang digunakan. Seluruh file konfigurasi memiliki fungsi masing-masing dan seorang analis server harus mengetahui detail dari file-file konfigurasi tersebut.
  • Maintenance

Maintenance atau dapat dikatakan perbaikan maupun perawatan merupakan faktor penting yang harus diperhatikan. Perbaikan dan pengembangan terhadap sistem operasi akan dilakukan sesuai dengan versi yang diberikan pengembang. 



Referensi
I Putu Agus Eka Pratama. 2018. PPT Network Operating System, Materi NOS pada Server.
Share:

Rangkuman Pertemuan 8 (Kernel dan Kernel Linux)

Nama                 : Ni Putu Cindy Meilani
NIM                    : 1605551022
Dosen                : I Putu Agus Eka Pratama ST., MT.
Matakuliah         : Network Operating System
Kampus             : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana

Definisi Umum Mengenai Kernel

Kernel adalah intu dari sebuah sistem operasi . Maksud dari inti ini adalah kernel dapat menangani tugas-tugas seperti penjadwalan proses, mengatur jalannya perangkat keras dan lunak. Kernel adalah perangkat lunak bagian dari sistem operasi yang bertugas untuk melayani berbagai macam aplikasi untuk dapat mengakses perangkat keras komputer secara aman. Kernel juga menangani perangkat kerja lain seperti memori, keyboard, mouse, monitor, printer, dan lain-lain. Pada sebagian besar sistem, kernel merupakan salah satu dari program yang dijalankan dalam urutan pertama saat komputer dinyalakan.  Berikut merupakan bagian dari kernel.
  • Process Management yang bertugas untuk mengatur dari proses aplikasi dan hardware, jadwal keluar masuknya untuk melakukan suatu proses.
  • Memory Management yang bertugas mengatur proses penggunaan memori oleh aplikasi. Kernel akan mengatur kapan aplikasi akan menggunakan memori dan akan menggunakan addressing mana yang akan dipakai.
  • Device Management yang berfungsi menjadi jembatan penggunaan hardware yang berada dalam sistem. Dengan begitu hardware dapat dikenali dan digunakan oleh aplikasi dan sistem operasi.
  • Definisi dan Pemahaman Mengenai Kernel Linux
  • System Call yang bertugas mengatur antara hubungan aplikasi dan sistem operasi.


Kernel LINUX

Kernel Linux merupakan kernel yang digunakan dalam sistem operasi GNU/Linux. Kernel Linux merupakan turunan dari keluarga sistem operasi UNIX, dirilis dengan menggunakan lisensi GNU General Public License (GPL). Linux merupakan contoh utama dari sistem operasi bebas dan open source.
Linux sudah menjadi dasar dari beberapa sistem operasi di dunia yang sudah digunakan oleh banyak orang saat ini. Contohnya pada sistem operasi mobile terdapat Android dan Tizen, pada bagian IoT terdapat Embedded System, dan bidang-bidang lainnya seperti Wireless Sensor Network, Artificial Intelligence, dan lain-lain.

Praktik Mandiri (Membuka Sumber Kode Kernel Linux)
Dalam praktik mandiri ini, akan dibuka salah satu file yang merupakan sumber kode Linux versi awal. Dalam folder kernel, file-file yang terdapat didalamnya adalah sebagai berikut.

























Seperti yang terlihat pada gambar diatas, dalam folder kernel terdapat beberapa file yang membangun sistem operasi Linux. Selanjutnya, file yang akan dibuka adalah keyboard.s yang didalamnya memiliki cuplikan kode sebagai berikut.



Manajamen Keyboard cukup membuat kepala pusing. Oleh karenanya dia dibatasi di file keyboard.s, yang berisi banyak angka yang merepresentasikan banyak kode keyboard yang muncul di keyboard dari berbagai pembuat keyboard.
Bagi pembaca yang sangat tertarik dengan Linux keyboard, cara terbaik untuk membaca keyboard.s adalah mulai dari kalimat terakhir ke atas. Detail pada tingkat yang paling rendah terutama pada setengah pertama dari file tersebut.


Referensi
I Putu Agus Eka Pratama. 2018. PPT Kernel dan Kernel Linux.







Share:

5 Mar 2018

Rangkuman Pertemuan 4 (Scheduling lanjutan)


Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                  : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus               : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.

Scheduling memiliki peranan penting didalam Network Operating System. Seperti yang kita bahas pada artikel sebelumnya, scheduling disini berperan memaksimalkan kinerja dan waktu processor, optimalisasi sumber daya, dan memaksimalkan output yang dihasilkan. Untuk pengantar mengenai scheduling dapat dilihat di artikel .

Algoritma Scheduling (lanjutan)
  • Shortest Process Next (SPN)
SPN akan memeriksa processing time (waktu pemrosesan/waktu eksekusi) dari setiap job, dimana process time yang paling pendek akan di-sorting ke antrian paling depan, dan yang terpanjang akan di-sorting ke antrian paling belakang.
  • Feedback
Fokus pada feedback bukanlah pada waktu eksekusinya, melainkan pada berapa lama waktu yang dihabiskan untuk melakukan eksekusi. Job yang masuk ke sejumlah antrian dengan memfokuskan kepada berapa lama waktu yang dihabiskan, dan apabila melebihi waktu, maka akan dilepaskan sampai semua proses selesai. Jika proses tdak selesai, maka akan digunakan algoritma Round Robin (RR). Gambar dibawah ini merupakan proses pada penjadwalan Feedback.


  • High Response Radio Next (HRRN)
Jika 2 algoritma sebelumnya focus pada time processing, maka di algoritma HRRN ada rumus yang digunakan yaitu (w+s)/s. Pada algoritma ini akan memilih job yang nilai Response Time-nya terbesar (R). Nilai R tersebut diperoleh dari rumus (w+s)/s, dimana w adalah waiting time (waktu tunggu processor), dan s adalah service time.
  • Shortest Remaining Time (SRT)
Algoritma ini memilih yang waktu tunggunya lebih pendek. Job yang masuk ke dalam antrian memiliki waktu tunggu, dimana apabila job dengan waktu tunggu yang lama akan menimbulkan starvation.

Peran Penjadwalan pada NOS secara spesifik.
Membantu penjadwalan dari semua service yang ada di dalam server.
Memanfaatkan cron, dapat menentukan penjadwalan terhadap suatu proses.
Jika dikaitkan dengan log dan cron, dapat membantu system administrator di dalam memperoleh data dan informasi mengenai sistem pada server (melalui bantuan OS).

Praktik Melihat Log Sistem
Dibawah ini merupakan proses yang terjadi pada Log Sistem dengan menggunakan perintah nano /var/log/syslog


Praktik Melihat Semua File Log
Dibawah ini merupakan list dari semua file yang dilihat dengan menggunakan perintah cd/ /var/log


Setelah melihat list file yang ada, kemudian sebuah file dibuka. Dari gambar diatas dapat dilihat bahwa akan dibuka file dengan nama kern.log dengan perintah nano. Dibawah ini merupakan tampilan setelah file tersebut dibuka.

Share:

26 Feb 2018

Rangkuman Pertemuan 3 (Scheduling)

Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Scheduling/Penjadwalan
Penjadwalan disini merupakan satu atau beberapa buah aturan, mekanisme dan prosedur di dalam OS (melibatkan kernel, aplikasi, process) terkait dengan  urutan kerja yang dilakukan oleh komputer dan sistem komputer. Scheduling ini terdapat didalam semua OS.

Mengapa ada scheduling?
Scheduling sangat penting!
  1. Kernel (inti OS) memiliki utilitas, fungsi-fungsi utama dan dukungan terhadap software dan hardware
  2. Process pada OS di mana kernel memiliki peran yang penting, seperti mengenai bagaimana mengatur utilitas
  3. Multiprogramming pada OS.

Multi programming merupakan kemampuan OS untk menjalankan 2 aplikasi atau lebih secara bersama2, dan menghasilkan sejumlah proses. Multiprogramming tidak bisa dilakukan tanpa adanya multiprocessing.
*multiprocessing -> kemampuan penanganan 2 proses atau lebih secara bersama-sama.
*multiprogramming lebih menekankan sisi software, sedangkan multiprocessing menekankan hardware.

Peran Scheduling :
  1. Memaksimalkan throughtput. throughput adalah proses yang ada dalam input dan output dimana memaksimalkan output yg dihasilkan.
  2. Memaksimalkan kinerja dan waktu processor.
  3. Efisiensi process. efisien dari segi sumber daya komputasi dll.
  4. Keadilan pada semua job dan aplikasi.
  5. Meminimalkan waktu tanggap (time respond). dengan adanya penjadwalan, proses akan lebih cepat tanggap atau dapat dikatakan tidak terlalu lama loading saat mengeksekusi aplikasi.
  6. Optimalisasi sumber daya (resource). 

Jenis Scheduling :


  • Long Term Scheduling
Penjadwalan dengan menambahkan pool untuk process yang akan dieksekusi. Ibaratnya menambahkan ruang temporary/sementara dalam jangka waktu eksekusi panjang sehingga mudah dibagi.
  • Medium Term
Penjadwalan dengan menambahkan jumlah dari process baik secara penuh maupun parsial dari memori utama
  • Short Term
Penjadwalan dengan memilih process mana yang akan dieksekusi terlebih dahulu oleh processor dalam waktu singkat
  • I/O Schedulling
Penjadwalan dengan memilih process mana yang tertunda untuk dilanjutkan kembali dengan melihat ketersediaan I/O

Scheduling selalu berhubungan dengan process, sehingga berhubungan pula dengan kondisi (state) dari process. State tersebut dapat dilihat penjelasannya pada artikel sebelumnya di Rangkuman Pertemuan 2 (Proses pada OS)


Algoritma Scheduling membantu alur scheduling pada aplikasi. 
  • Round Robin
Menggunakan konsep antrian. Setiap proses memiliki time quantum untuk menandai waktu dari proses. Jika time quantum selesai, maka proses selesai pula. apabila terlalu besar, algoritmanya akan menjadi FCFS (First Come First Serve)
  • FIFO (First in First Out)
Proses yang lebih dahulu datang akan segera dieksekusi. Waktu eksekusi setiap proses tidaklah sama, Jika ada proses panjang atau pendek, akan diselesaikan sesuai waktu kedatangan. hal tersebut akan merugikan proses yang hanya membutuhkan waktu sebentar.
  • Shortest Job First
Memperbaiki FIFO, proses yang lebih pendek akan diutamakan untuk diekseskusi.


Share:

19 Feb 2018

Rangkuman Pertemuan 2 (Proses pada OS)


Nama                  : Ni Putu Cindy Meilani
Nim                     : 1605551022
Dosen                 : I Putu Agus Eka Pratama ST., MT.
Matakuliah          : Network Operating System
Kampus              : Program Studi Teknologi Informasi, Fakultas Teknik, Universitas Udayana.


Halo Guys ! nah sebelumnya kita telah mengulas sedikit ya tentang Operating System (OS), jadi kali ini akan Cindy lanjutkan dengan materi Proses, atau lebih lengkapnya Cindy akan membahas definisi dari proses tersebut, kondisi proses, Process Control Block (PCB), dan manajemen proses.

Definisi Proses
Proses adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi, atau dapat juga diartikan sebuah program yang sedang dalam kondisi dijalankan atau dieksekusi.
Proses menggambarkan aktifitas yang sedang terjadi pada sistem operasi, yang disertai dengan nilai dari program counter dan isi dari daftar prosesor, maka dari itu proses tidak dapat dikatakan sebagai kode program.
Program merupakan sebuah entitas pasif. Program memerlukan Program Counter untuk menjalankan instruksi selanjutnya yang akan dijalankan dan didukung dengan seperangkat sumber daya.

Kondisi Proses
Proses bersifat mengubah kondisi awal/statis, dan setiap proses pasti memiliki status masing-masing pada setiap state-nya.
  • New                     : Proses sedang dikerjakan/dibuat
  • Running               : Proses sedang dieksekusi
  • Waiting                 : Proses sedang menunggu sejumlah kejadian untuk terjadi. Contohnya sebuah penyelesaiian I/O atau penerimaan sebuah tanda/sinyal)
  • Ready                 : Proses sedang menunggu untuk ditugaskan pada sebuah prosesor.
  • Terminated          : Proses telah selesai melakukan eksekusi.

Process Control Block (PCB)
PCB berfungsi menggambarkan setiap proses pada OS, dan memuat informasi yang lebih spesifik untuk mengendalikan dan mengkoordinasikan beragam proses aktif didalamnya.
Berikut merupakan informasi-informasi yang ditampilkan oleh PCB.
  1. Keadaan Proses. Misalnya new, ready, running, waiting, etc.
  2. Program Counter, yang mengindikasikan alamat dari perintah selanjutnya untuk dijalankan pada proses ini.
  3. CPU Register. Meliputi accumulator, index register, stack pointer, general-purposes register, code information program counter. Register ini memiliki variasi dalam jumlah dan jenisnya, bergantung pada arsitektur dan rancangan masing-masing komputer. Keadaan/status informasi disimpan apabila terjadi gangguan, untuk memungkinkan proses berjalan/bekerja dengan benar.
  4. Informasi Manajemen Memori. Dapat berupa nilai dari dasar dan batas register, tabel halaman, atau tabel segmen, dimana informasi tersebut bergantung pada sistem memori yang digunakan oleh sistem operasi.
  5. Informasi Pencatatan, meliputi jumlah dari CPU dan waktu riil yang digunakan, batas waktunya, jumlah akun, dan jumlah proses.
  6. Informasi Status I/O, meliputi daftar dari perangkat I/O yang digunakan pada proses, daftar open berkas, etc.

Manajemen Proses
Dalam menangani proses, OS dapat melakukan manajemen proses yang meliputi 9 hal sebagai berikut.
  1. Penciptaan proses
  2. Penghancuran/terminasi proses
  3. Penundaan proses
  4. Melanjutkan kembali proses
  5. Mengubah prioritas proses
  6. Memblok proses
  7. Membangunkan proses
  8. Menjadwalkan proses
  9. Memungkinkan proses untuk berkomunikasi dengan proses lain.

Praktik Mandiri
Berikut hasil dokumentasi percobaan saya saat menjalankan banyak aplikasi kemudian menjalankan perintah “top” pada OS Linux Ubuntu melalui terminal.
Nah setelah menjalankan perintah tersebut akan muncul output seperti yang terlihat pada gambar diatas. Berikut arti atau keterangan dari setiap informasi yang terdapat didalamnya.

TOP (baris paling pertama)
Waktu saat ini : 07:44:39
Mesin berjalan : up 14 min
Sesi user login : 1 user
Rata-rata beban sistem : load average 0.91, 1.13, 0.89


Task
Total proses yang sedang berjalan : 290 total
Proses yang sedang berjalan : 2 running
Proses yang sleeping : 288 sleeping
Proses yang sedang berhenti : 0


CPU 
Persentase pemakaian CPU untuk proses pengguna : 7,0% us
Persentase proses CPU yang digunakan sistem : 2,1% sy
Persentase proses CPU yang mendapatkan prioritas Update : 0,0% ni
Persentase CPU yang tidak terpakai : 89,9% id
Persentase CPU yang menunggu proses : 0,9% wa
Penggunaan CPU untuk service hardware : 0,0% hi
Penggunaan untuk service software : 0,1% si
Jumlah CPU yang menjalankan virtual lain : 0,0% st

Memory and Swap
 Pada baris tersebut, ditampilkan informasi mengenai penggunaan memory dan swap (jumlah memori yang digunakan, memori bebas, cache, etc).

Process List

Berikut merupakan keterangan lebih lanjut mengenai baris proses.
PID : ID proses
USER : pengguna yang merupakan pemilik proses
PR : prioritas proses
VIRT : memori virtual yang digunakan oleh proses
RES : memori fisik yang digunakan oleh proses
SHR : proses yang dibagikan
S : Menunjukkan status proses. S untuk sleep, R untuk running, dan Z untuk zombie
%CPU : Persentase proses yang menggunakan CPU
%MEM : Persentase proses yang menggunakan RAM
TIME+ : Total waktu untuk seluruh aktivitas proses
COMMAND : Nama proses

Referensi
I Putu Agus Eka Pratama. 2018. PPT Network Operating System, Materi Proses.

Share: