Minggu, 29 April 2018

Network Operating System dan Cloud Computing

Nama : Rasendriya Revo Daniswara
NIM : 1605551099
Matakuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA

Network Operating System dan Cloud Computing
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana


Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia

Abstrak
     Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan
     Menurut NIST (National Institute of Standard and Technology), didalam draftnya yang berjudul The NIST Defnition of Cloud Computing, Peer Meel and Timothy Grance mendefnisikan Cloud Computing sebagai sebuah model yang memungkinkan adanya penggunaan sumber daya (resource) secara bersama – sama dan mudah, menyediakan jaringan akses dimana – mana, dapat dikonfgurasi, dan layanan yang digunakan sesuai keperluan. Hal ini berarti layanan pada Cloud Computing dapat disediakan dengan cepat dan meminimalisir interaksi dengan penyedia layanan Cloud Computing.

   Hampir semua semua sosial media mengguna teknologi cloud computing seperti Google, Facebook, Yahoo dan lain lain, serta saat ini perusahan-perusahaan telah memasuki dunia cloud computing. Dikarenakan dengannya banyak pemakai layanan yang diberikan pihak media sosial ataupun perusahaan nantinya bisa melayani pengguna dengan cepat oleh sistem.

Model dan Jenis Cloud Computing
      Berdasarkan definisi NIST, cloud computing memiliki 4 model development dan 3 jenis layanan. Berikut 4 model development antara lain.
a.    Model Legacy
    Model Legacy (komunity) adalah jenis awan hosting di mana setup yang saling dibagi antara banyak organisasi milik masyarakat tertentu, yaitu bank dan perusahaan perdagangan. Ini adalah setup multi-tenant yang dibagi di antara beberapa organisasi yang tergabung kelompok tertentu yang memiliki kekhawatiran komputasi yang sama. Anggota masyarakat umumnya berbagi privasi, kinerja dan keamanan kepedulian yang sama. Tujuan utama dari komunitas ini adalah untuk mencapai tujuan bisnis terkait mereka. Awan masyarakat dapat dikelola secara internal atau dapat dikelola oleh penyedia pihak ketiga. Hal ini dapat host eksternal atau internal. Biaya dibagi oleh organisasi tertentu dalam masyarakat, oleh karena itu, awan masyarakat memiliki kapasitas penghematan biaya. Awan masyarakat sesuai untuk organisasi dan bisnis yang bekerja pada usaha patungan, tender atau penelitian yang membutuhkan kemampuan komputasi awan terpusat untuk mengelola, membangun dan melaksanakan proyek-proyek serupa.

b.   Model Private
      Model private merupakan platform untuk komputasi awan diterapkan pada lingkungan yang aman berbasis cloud yang dijaga oleh firewall yang berada di bawah pemerintahan departemen IT yang dimiliki oleh perusahaan tertentu. Awan swasta karena izin hanya pengguna yang berwenang, memberikan kontrol organisasi yang lebih besar dan langsung atas data mereka. Apa sebenarnya merupakan awan swasta? Sulit untuk menentukan karena ketika itu diklasifikasikan menurut layanan ada variasi yang signifikan. Apakah komputer fisik host internal atau eksternal mereka menyediakan sumber daya dari kolam yang berbeda dengan layanan cloud pribadi. Bisnis yang memiliki kebutuhan dinamis atau tak terduga, tugas yang misi kritis, alarm keamanan, tuntutan manajemen dan persyaratan uptime lebih cocok untuk mengadopsi cloud pribadi. Hambatan berkaitan dengan keamanan dapat dihindari dalam awan swasta, tetapi dalam kasus bencana alam dan pencurian data internal awan swasta mungkin rentan terhadap kerentanan.

c.    Model Hybrid
   Model hybrid merupakan jenis komputasi awan, yang terintegrasi. Hal ini dapat menjadi pengaturan dua atau lebih server cloud, yaitu swasta, awan publik atau masyarakat yang terikat bersama-sama tapi tetap entitas individu.Manfaat dari model penyebaran beberapa tersedia dalam hosting hybrid cloud. Awan hibrida bisa menyeberang isolasi dan mengatasi batas-batas oleh provider; karenanya, tidak bisa hanya dikategorikan ke publik, awan swasta atau masyarakat. Hal ini memungkinkan pengguna untuk meningkatkan kapasitas atau kemampuan oleh agregasi, asimilasi atau penyesuaian dengan paket cloud / layanan lain. Dalam awan hybrid, sumber daya dikelola dan disediakan baik di rumah atau oleh penyedia eksternal. Ini merupakan adaptasi antara dua platform di mana pertukaran beban kerja antara awan swasta dan awan publik sesuai kebutuhan dan permintaan.
Sumber daya yang tidak penting seperti pengembangan dan uji beban kerja dapat disimpan dalam awan publik milik penyedia pihak ketiga. Sedangkan beban kerja yang kritis atau sensitif harus ditempatkan secara internal.Pertimbangkan sebuah situs web e-commerce, yang di-host di awan pribadi yang memberikan keamanan dan skalabilitas, karena keamanan bukan merupakan perhatian utama untuk situs brosur itu di-host di awan publik yang lebih ekonomis dibandingkan dengan private cloud. Bisnis yang memiliki lebih fokus pada keamanan dan permintaan untuk kehadiran mereka yang unik dapat menerapkan cloud hibrida sebagai strategi bisnis yang efektif.Ketika menghadapi lonjakan permintaan sumber daya tambahan yang diperlukan oleh aplikasi tertentu dapat diakses dari awan publik. Hal ini disebut sebagai awan meledak dan tersedia dengan awan hybrid.
Organisasi dapat menggunakan model cloud hibrida untuk pengolahan data besar. Pada awan swasta, dapat mempertahankan penjualan, bisnis dan berbagai data dan dapat melakukan query analisis atas awan publik sebagai awan publik yang efektif untuk memenuhi lonjakan permintaan. Hybrid awan hosting diaktifkan dengan fitur seperti skalabilitas, fleksibilitas dan keamanan. Jika salah satu siap untuk mengabaikan beberapa tantangan seperti program aplikasi antarmuka ketidakcocokan, masalah konektivitas jaringan dan belanja modal, maka awan hybrid akan menjadi pilihan yang tepat.

d.     Model Public
      Model public merupakan jenis awan hosting di mana layanan cloud yang disampaikan melalui jaringan yang terbuka untuk penggunaan umum. Model ini benar representasi dari awan hosting; dalam hal ini penyedia layanan menyediakan jasa dan infrastruktur untuk berbagai klien. Pelanggan tidak memiliki distinguishability apapun dan kontrol atas lokasi infrastruktur. Dari sudut pandang teknis, mungkin ada sedikit atau tidak ada perbedaan antara desain struktur awan swasta dan publik ‘kecuali dalam tingkat keamanan yang ditawarkan untuk berbagai layanan yang diberikan kepada pelanggan awan publik oleh awan penyedia hosting.Awan publik lebih cocok untuk kebutuhan bisnis yang membutuhkan pengelolaan beban; host aplikasi yang SaaS berbasis dan mengelola aplikasi yang banyak pengguna mengkonsumsi. Karena overhead modal menurun dan biaya operasional model ini adalah ekonomis. Dealer dapat memberikan layanan gratis atau dalam bentuk kebijakan lisensi seperti membayar per pengguna. Biaya dibagi oleh semua pengguna, sehingga awan publik keuntungan yang lebih banyak pelanggan dengan mencapai skala ekonomi. Fasilitas awan publik dapat dicairkan bebas merupakan misalnya dari awan publik adalah Google.

Berikut jenis cloud computing antara lain.
a.    Software as a Service (SaaS)
    Model ini memberikan user sebuah aplikasi bisnis yang diakses melalui web. Umumnya user melakukan sewa aplikasi sehingga dapat mengakses fitur-fitur yang ada, user juga dapat membayar biaya tambahan untuk mengakses kapasitas/fitur yang lebih banyak. Dengan naiknya teknologi web seperti AJAX, memungkinkan web memiliki tingkat user experience yang mendekati desktop application.
     Software as service merupakan evolusi lanjutan dari konsep ASP (Application Service Provider ). Software as service adalah istilah terhadap software atau aplikasi tertentu berbasis internet yang ditawarkan oleh provider kepada pengguna. Dalam hal ini, provider sebagai pemegang license atas software tersebut hanya memberikan service atau layanan kepada pengguna untuk menggunakannya sesuai kebutuhan pengguna dengan demikian menghilangkan kerumitan dalam hal pemeliharaan software, operasional dan support. License, maintenance, support, tingkat kenyamanan dan keamanan atas software tersebut sepenuhnya menjadi tanggung jawab dari provider.

b.  Platform as a Service (PaaS)
     Platform as a service (PaaS) adalah layanan dari Cloud Computing dimana kita menyewa “rumah” berikut lingkungannya (sistem operasi, network, database engine, framework aplikasi dll), untuk menjalankan aplikasi yang kita buat. Kita tidak perlu pusing untuk menyiapkan “rumah” dan memelihara “rumah” tersebut. Yang penting aplikasi yang kita buat bisa berjalan dengan baik di “rumah” tersebut. Untuk pemeliharaan “rumah” ini menjadi tanggung jawab penyedia layanan.
Disini, konsumen diberikan sebuah platform untuk pengembangan sampai implementasi sistem. Konsumen harus untuk membuat dan mengimplementasikan sistemnya sendiri. Umumnya tools untuk development disediakan dalam bentuk web application. Keuntungan dari PaaS : bagi pengembang dapat fokus pada aplikasi yang sedang dikembangkan tanpa harus memikirkan “rumah” untuk aplikasi, dikarenakan hal tersebut sudah menjadi tanggung jawab cloud provider.

c.   Infrastructure as a Service (IaaS)
   IaaS adalah layanan dari cloud computing dimana kita bisa menyewa infrastruktur IT (unit komputasi, storage, memory, network dll). Dapat didefinisikan beberapa besar unit komputasi (CPU), penyimpanan data (storage), memory (RAM), bandwidth dan konfigurasi lainnya yang akan disewa. Untuk lebih mudahnya, layanan IaaS adalah seperti menyewa komputer kosong, kita sendiri yang mengkonfigurasi komputer ini untuk digunakan sesuai dengan kebutuhan kita dan bisa kita instal sistem operasi dan aplikasi apapun.
    Model ini hanya memberikan user aspek dasar dari computing seperti jaringan, storage, prosessor untuk computing. Infrastruktur komputasi cloud sangat bergantung padavirtualisasi. Untuk virtualisasi akan dijelaskan nanti pada bagian bawah.Keuntungan dari Iaas adalah kita tidak perlu membeli komputer fisik dan konfigurasi komputer virtual tersebut dapat diubah dengan mudah. Sebagai contoh, saat komputer virtual tersebut sudah kelebihan beban kita bisa tambahkan CPU, RAM, Storage dll dengan segera.

Mengapa Menggunakan Cloud Computing
Cloud computing memiliki manfaat antara lain.
a. Keamanan
b. Kehandalan
c. Hemat
d. Mudah digunakan dan mudah disesuaikan dengan kebutuhan pengguna
e. Dukungan yang berlimpah (Komunitas open source, enterprise, dan vendor)

Resiko Menggunakan Cloud Computing
    Dalam segala hal yang berhubungan dengan teknologi baru, selain menawarkan keunggulan-keunggulan dan segala kemudahannya, tentunya ada resiko yang harus siap ditanggung. Begitu pula dengan cloud computing. Di samping segala keunggulan dan kemudahannya, teknologi cloud computing tetap memiliki resiko. Beberapa resiko yang mungkin terjadi antara lain:
a.   Service Level
      Cloud provider mungkin tidak akan konsisten dengan performance dari application atau transaksi. Hal ini mengharuskan pengguna untuk memahami service level yang pengguna dapatkan mengenai transaction response time, data protection dan kecepatan data recovery.
b.    Privacy
    Karena pengguna lain / perusahaan lain juga melakukan hosting kemungkinan data anda akan keluar atau di baca oleh pemerintah U.S. dapat terjadi tanpa sepengetahuan pengguna atau approve dari pengguna.
c.   Compliance
     Anda juga harus memperhatikan regulasi dari bisnis yang anda miliki, dalam hal ini secara teoritis cloud service provider diharapkan dapat menyamakan level compliance untuk penyimpanan data di dalam cloud, namun karena service ini masih sangat muda pengguna diharapkan untuk berhati hati dalam hal penyimpanan data.
d.   Data Ownership
    Apakah data pengguna masih menjadi milik pengguna begitu data tersebut tersimpan di dalam cloud? mungkin pertanyaan ini sedikit aneh, namun pengguna perlu mengetahui seperti hal nya yang terjadi pada Facebook yang mencoba untuk merubah terms of use aggrement-nya yang mempertanyakan hal ini.
e.   Data Mobility
     Apakah pengguna dapat melakukan share data diantara cloud service

Rabu, 18 April 2018

Security dan Security Management pada NOS

Nama : Rasendriya Revo Daniswara
NIM : 1605551099
Matakuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA

SECURITY MANAGEMENT PADA NOS
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia


Abstrak
     Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Security
     Security atau keamanan biasanya mencakup sistem, user serta kebijakan. Security terdapat pada Aplikasi, layanan, jaringan maupun data. Informasi pada dasarnya harus memiliki keamanan, privasi serta kenyamanan, namun pada implementasinya justru memberi ketidaknyamanan karena dibutuhkan usaha lebih ketika melakukan aktivitas yang berhubungan dengan identitas (cth : captcha). Di sinilah perlunya security awareness di sisi pengguna (user), sehingga mampu melengkapi keamanan dari sisi sistem (hardware, software) dan kebijakan (cth: ISO 27000, ISO 31000).


Gambar 1 Mengurangi akibat dari cyber attacks

      Gambar 1 merupakan poster pemberitahuan, bagaimana cara-cara yang dapat dilakukan untuk mengurangi akibat yang ditimbulkan dari cyber attacks, seperti edukasi pengguna, monitoring, konfigurasi server, dll.  Berdasarkan laporan dari sekitar 81% perusahaan besar, kerugian yang ditimbulkan dari pelanggaran keamanan mencapai 600k – 1.15m poundsterling.


Gambar 2 Jenis kejahatan cyber.

       Gambar 2 merupakan jenis-jenis kejahatan cyber yang biasanya dilakukan, mungkin saja ketika kita sedang menggunakan PC yang dimiliki, kita sedang diawasi dari jauh dan data kita telah dicuri oleh para pelaku kejahatan cyber.

Gambar 3 Tipe Vulnerabilty.

      Gambar 3 merupakan tipe-tipe kerentanan pada keamanan sistem. Tipe yang paling banyak dimanfaatkan untuk kejahatan adalah kelemahan pada missing authorization check serta xss berdasarkan grafik diatas.

Gambar 4 OS Linux untuk security.
       Gambar 4 merupakan macam-macam operating system linux yang memiliki tingkat keamanan yang handal. Operating system pada gambar diatas adalah yang biasa digunakan praktisi IT dalam implementasinya.


Gambar 5 Arsitektur keamanan Linux.

     Gambar 5 merupakan arsitektur yang diterapkan untuk meningkatkan kemanan pada sistem operasi Linux, meliputi kebijakan utilitas untuk pengguna serta kebijakan keamanan.


Gambar 6 FreeBSD security.

       Gambar 6 merupakan tampilan audit keamanan yang dimiliki oleh sistem operasi FreeBSD untuk kasus Honeypot.


Gambar 7 Server Hardening.
      Gambar 7 merupakan contoh source code untuk Hardening server. Hardening merupakan kegiatan yang diterapkan pada sistem operasi linux yang tujuannya untuk meningkatkan keamanan pada berbagai service pada server (cth : mail server, dns server, web server). Kegiatan yang bisa dilakukan diantaranyan adalah sebagai berikut.
Selalu mengupdate patch ke yang paling baru
Aktif berkomunikasi di forum untuk membahas source code, karena sifat sistem operasi linux yang open source.
      Selain hal-hal diatas, masih banyak yang bisa dilakukan untuk memanage keamanan pada sistem operasi jaringan, diantaranya adalah sebagai berikut.
1. Intrusion Detection System
2. Akses kontrol
3. Keamanan di level fsik
4. Risk Management dan IT Risk Management (ISO 31000)
5. Prosedur keamanan
6. Manajemen pengguna
7. Manajemen hak akses
8. Manajemen memori
9. Sumber kode, keterbukaan sumber kode, dan keamanan pengembangan di sisi software (untuk NOS)
10. Simulasi penyerangan berbasis honeynet dan honeypot 
Kesimpulan
      Dewasa ini keamanan pada sistem operasi jaringan sangat lah penting, dikarenakan kerugian yang dapat diciptakan sangatlah besar. Hal-hal yang bisa dilakukan untuk meningkatkan keamanan dapat dimulai dari meningkatkan kesadaran dengan mengedukasi para pengguna serta meningkatkan keamanan pada sistem operasi sendiri atau hardening, juga aktif di forum sangatlah dibutuhkan.

Referensi
I Putu Agus Eka Pratama. 2018. “PPT Materi Pertemuan 10 Network Operating System”. Jimbaran. Universitas Udayana.

Rabu, 11 April 2018

NOS PADA SERVER

NOS PADA SERVER
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia


Abstrak
     Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan
     Server merupakan penyedia layanan di dalam jaringan komputer, intranet maupun internet. Hal-hal yang disediakan oleh server mencakup mail, cloud, web, dns, database dan lain-lain. Server memerlukan Network Operating System dalam implementasinya. NOS mengutamakan keamanan, kemudahan, konsumsi sumber daya komputasi yang irit serta handal di dalam jaringan komputer untuk memperoleh kepuasan client.

Network Operating System
     Terdapat banyak OS untuk server yang bisa digunakan, diantaranya adalah sebagai berikut.

  • OS Linux (All Distro)
  • Free BSD (Open BSD, Dragon Fly BSD, PC BSD, dll)
  • Sun Solaris
  • UNIX, MINIX, IRIX
  • Windows Server



Gambar 1 Distro Linux terpopuler Februari 2015

     Gambar 1 merupakan list dari disto linux yang paling terkenal dan sering digunakan di server pada Februari 2015  (https://jamesonricks.com/wp-content/uploads/2015/03/Top-10-Linux-Server-OS.png)

Gambar 2 OS untuk penggunaan OpenStack

      Gambar 2 merupakan OS yang paling banyak digunakan untuk penggunaan Open Stack cloud seperti kegiatan produksi, pengembangan/pengujian serta pembuktian konsep (http://fossbytes.com/wp-content/uploads/2015/08/Ubuntu-linux-cloud-os-.jpg).



Gambar 3 OS Server untuk Website

     Gambar  3 merupakan OS server yang paling sering digunakan untuk kebutuhan Website berdasarkan sumber dari (https://www.ispsystem.com/sites/default/fles/server_technologies_web_usage_statistics_-_google_chrome_2017-09-19_10.27.56.png).



Kelebihan Linux dan BSD

     Terdapat banyak kelebihan yang terdapat dalam sistem operasi Linux maupun BSD diantaranya adalah sebagai berikut.

  • Lebih aman
  • Dukungan komunitas dan enterprise
  • Open Source
  • Software yang powerful (minim bugs)



Pemilihan, Manajemen, Konfigurasi, Maintenance NOS Untuk Server


  • Pemilihan

    Pertimbangan keamanan, kenyamanan, dukungan (komunitas, enterprise), budget/biaya, kebutuhan

  • Manajemen

     Manajemen pengguna, hak akses, kepemilikan (file, folder), memori, penyimpanan


  • Konfigurasi

     Everything is a phile (fle), sebagian besar berupa .conf (konfgurasi) → /etc/resolv.conf


  • Maintenance


     Dilakukan berkala (perhari, perminggu, perbulan, cron)

KERNEL DAN KERNEL LINUX


KERNEL DAN KERNEL LINUX
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia


Abstrak
     Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan
     Kernel merupakan inti dari sistem operasi. Inti dari sistem operasi memuat utilitas, fungsi – fungsi dasar, dan kemampuan utama sebuah OS/NOS secara umum. OS merupakan penghubung antara software dan hardware pada sistem komputer, sedangkan kernel merupakan inti dari OS. kernel disusun dengan bahasa pemrograman.

Kernel Linux
     Kernel Linux adalah inti dari sistem operasi Linux. Kernel Linux dan aplikasi-aplikasi berlisensi FOSS (GNU) merupukan OS/NOS GNU/Linux. Kernel Linux diciptakan oleh Linus Torvald.Kernel Linux dan OS/NOS Linux telah mengalami perkembangan pesat sejak 20-an tahun pengembangannya: server, desktop, mobile, embedded system, Wireless Sensor Network, Artifcial Intelligence, Intelligence Transportation System, Big Data, Machine Learning, Internet of Things, dll.

Gambar 1 Linux kernel map
  
Percobaan
  1. Unduh kernel Linux versi awal di alamat https://mirrors.edge.kernel.org/pub/linux/kernel/Hist oric/linux-0.01.tar.gz. 
  2. Ekstrak hingga membentuk folder dan sub folder beserta file – file (.c dan .h). 
  3. Pelajari sumber kode tersebut (ex : sched.c untuk penjadwalan).
Gambar 2 Printk.c


     Gambar 2 merupakan bagian kode program dari kernel linux, yaitu file panic. c. File ini merupakan fungsi dari kernel yang dipanggil ketika ada kerusakan parah yang terjadi pada sistem operasi.

Rabu, 07 Maret 2018

SCHEDULING (LANJUTAN)

Nama : Rasendriya Revo Daniswara
NIM : 1605551099
Matakuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA


SCHEDULING (LANJUTAN)
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia

Abstrak
Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan
Apakah yang dimaksud dengan scheduling ? scheduling merupakan satu atau beberapa buah aturan, mekanisme, dan prosedur di dalam sistem operasi (melibatkan kernel, aplikasi, process) terkait dengan urutan kerja yang dilakukan oleh komputer dan sistem computer. Scheduling ada di dalam semua sistem operasi apapun.

Shortest Process Next (SPN)
Mengecek processing time (waktu pemrosesan/waktu eksekusi) setiap job, yang terpendek dimasukkan ke urutan antrian (queue) terdepan, yang terpanjang paling belakang. Algoritma penjadwal ini mengatasi masalah dari algoritma penjadwalan Shortest Job First apabila ada beberapa proses yang memiliki waktu proses yang lama namun antriannya lebih dahulu.

Feedback
Fokusnya bukan pada waktu eksekusinya, tapi pada “berapa lama waktu yang dihabiskan untuk melakukan eksekusi”. Prosesnya seperti berikut, job masuk ke sejumlah antrian (queue) dengan memfokuskan kepada berapa lama waktu yang dihabiskan jika melebihi waktu maka dilepaskan (release), metode ini dilakukan sampai semua proses selesai. Namun ada kekurangannya bagaimana jika tidak selesai? Maka bisa menggunakan algoritma Round Robin (RR).

Gambar 1 Algoritma penjadwalan feedback.
Highest Response Ratio Next (HRRN)
Pilih job yang nilai Response Time-nya terbesar (R).  Nilai R diperoleh dengan rumus berikut ini :

Gambar 2 Rumus menghitung response ratio.

     dimana “w” adalah waiting time, yaitu waktu tunggu processor. sedangkan “s” adalah service time, yaitu berapa lama waktu layanan itu digunakan.

Shortest Remaining Time (SRT)
     Pilih yang waktu tunggunya lebih pendek, yang didahulukan job yang masuk ke dalam queue memiliki waktu tunggu lebih kecil dari waktu berjalannya job yang sedang diproses . SRT dengan job yang waktu tunggunya lama akan menimbulkan starvation (kelaparan, atau biasa kita sebut “stuck”). Jika ada waktu tunggu yang terlalu lama maka job akan dihentikan.

Peran penjadwalan dalam Network Operating Sistem
Berikut ini peran penjadwalan (Schedulling) pada Network Operating Sistem secara spesifik :
1. Membantu penjadwalan dari semua service yang ada di dalam server
2. Memanfaatkan cron, dapat menentukan penjadwalan terhadap suatu proses
3. Dikaitkan dengan log dan cron, dapat membantu system administrator di dalam memperoleh data dan informasi mengenai sistem pada server (melalui bantuan sistem operasi). Misalnya untuk mengetahui mengenai user mana yang menggunakan job, kapan, berapa resource yang dihabiskan.

Melihat log sistem di linux
Anda dapat mengecek dan mengamati log di sistem operasi Linux anda sendiri (latihan untuk dapat mengamati log server di mesin remote via SSH nanti) dengan melakukan langkah berikut :
1. Buka Terminal.
2. Ketik nano /var/log/syslog.
3. Amati proses yang terjadi (catatan : jika menjadi root, jangan melakukan perubahan pada log) Catatan : apabila nano belum terinstal, ketik sudo apt-get install nano.

Gambar 3 Melihat syslog dengan nano.

Melihat semua file log
Anda bisa mengetahui semua file log yang ada di dalam sistem operasi Linux (bahan penting bagi Sysadmin Linux) dengan melakukan langkah berikut:
1. Buka Terminal
2. Ketik Password, seharusnya ada di /home-user anda, jika belum ketik ~.
3. Pindah ke lokasi /var/log dengan perintah cd /var/log.
4. Lihat list semua fle yang ada dengan perintah ls -la (machine) atau ls -lah (human readable).
5. Amati setiap isi fle dengan perintah nano (nama file) atau apabila ada sub direktori, pindahlah ke sana lalu buka dengan nano.

Gambar 4 Log sistem keseluruhan.

Referensi
[1] I Putu Agus Eka Pratama,“PPT Matakuliah Network Operating System Pertemuan 4 : “Scheduling (Lanjutan)”.2018.

Senin, 26 Februari 2018

SCHEDULING

Nama : Rasendriya Revo Daniswara
NIM : 1605551099
Matakuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA


SCHEDULING
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia


Abstrak
     Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan     Apakah yang dimaksud dengan scheduling ? scheduling merupakan satu atau beberapa buah aturan, mekanisme, dan prosedur di dalam sistem operasi (melibatkan kernel, aplikasi, process) terkait dengan urutan kerja yang dilakukan oleh komputer dan sistem computer. Scheduling ada di dalam semua sistem operasi apapun.

Kenapa perlu penjadwalan pada sistem operasi?
     Seperti yang sudah kita bahas pada artikel sebelumnya, kita tahu bahwa kernel (inti sistem operasi) memiliki utilitas, fungsi – fungsi utama, dan dukungan terhadap software dan hardware (sesuai dengan arsitektur komputer : 32 atau 64), kemudian kita tahu juga bahwa adanya proses yang berjalan pada sistem operasi. Ini kenapa diperlukan adanya penjadwalan agar setiap proses dan fungsi-fungsi utama dalam sistem operasi dapat berjalan dengan kinerja yang baik, dan memperkecil kemungkinan kegagalan saat sistem operasi berjalan. Selain itu penjadwalan ini ada juga karena dalam sistem operasi ada istilah “multiprogramming”.

Multiprogramming
     Multiprogramming adalah kemampuan sistem operasi untuk menjalankan 2 aplikasi atau lebih secara bersama – sama, menghasilkan sejumlah proses. Sedangkan multiprocessing adalah kemampuan penanganan 2 process atau lebih secara bersama – sama.
 Perbedaannya adalah multiprogramming lebih ditekankan di sisi software sedangkan multiprocessing lebih ditekankan di sisi hardware.

Peran penjadwalan
     1. Memaksimalkan throughput.
     2. Memaksimalkan kinerja dan waktu processor.
     3. Efsiensi process.
     4. Keadilan (fairness) pada semua job dan aplikasi
     5. Meminimalkan waktu tanggap (time respond). 6.Optimalisasi sumber daya (resource).

4 Jenis penjadwalan
     Terdapat 4 macam scheduling (penjadwalan). Dimana proses berjalannya penjadwalan dapat digambarkan sebagai berikut :
 

Gambar 1 Scheduling.

    • Long Term Scheduling, yaitu penjadwalan dengan menambahkan pool untuk process yang akan dieksekusi
    • Medium Term Scheduling, yaitu penjadwalan dengan menambahkan jumlah dari process baik secara penuh maupun parsial di dalam memori utama
    • Short Term Scheduling, yaitu penjadwalan dengan memilih process mana yang akan dieksekusi terlebih dahulu oleh processor dalam waktu singkat
    • I/O Scheduling, yaitu penjadwalan dengan memilih process mana yang tertunda yang dapat dilanjutkan kembali berdasarkan ketersediaan perangkat I/O.
    Berikut ini penggambaran antrian (queue) pada sistem scheduling (penjadwalan) :
 

Gambar 2 Queue Scheduling.

     Berikut ini gambaran tingkatan (leveling) dalam sistem scheduling (penjadwalan) :

Gambar 3 Level scheduling.

Algoritma scheduling
     Ada banyak sekali agoritma scheduling di dalam sisem operasi, namun akan dibahas yang terpenting saja (fundamental dan digunakan di banyak sistem operasi : windows, linux, mac, free bsd, android). Algoritma scheduling membantu alur scheduling pada sistem serta membantu programmer di dalam pengembangan aplikasi terkait dengan sistem operasi. Berikut macam-macam algoritma scheduling :
1.   Round Robin
     Menggunakan konsep antrian (queue). Setiap process memiliki time quantum untuk menandai waktu dari process yaitu apabila time quantum selesai maka proses selesai. Setiap proses diberi nilai yang sama untuk time quantum yaitu 1/n.
Time quantum jangan terlalu kecil (process tidak dapat selesai dalam 1 quantum), jangan juga terlalu besar (akan menjadi FCFS/First Come First Serve). Nilai ideal time quantum adalah 80 (dari skala 0 - 100)
2.   First In First Out (FIFO)
      Process yang lebih dahulu datang akan segera dieksekusi. Bagaimana jika ada process panjang dan process pendek? Tetap sesuai waktu kedatangan, oleh karena itu algoritma ini merugikan process pendek.
3.   Shortest Job First (SJF)
     Memperbaiki FIFO Process, pada algoritma ini proses yang lebih pendek akan didahulukan / diprioritaskan algoritma ini akan melakukan cek pada masing – masing process.

Referensi
[1] I Putu Agus Eka Pratama,“PPT Matakuliah Network Operating System Pertemuan 3 : Scheduling,”2018.

Selasa, 13 Februari 2018

PROSES PADA SISTEM OPERASI

Nama : Rasendriya Revo Daniswara
NIM : 1605551099
Matakuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA



PROSES PADA SISTEM OPERASI
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia

Abstrak
Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan
Proses (Process) adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi. Process juga merupakan sebuah program yang sedang dalam kondisi dijalankan (eksekusi). Process berbeda dengan kode program (source code). 
     Process menggambarkan aktifitas yang sedang terjadi pada sistem operasi (oleh aplikasi), disertai dengan nilai dari program counter dan isi dari daftar prosesor (processor’s register). Suatu proses umumnya termasuk Process stack, berisi data temporer (Parameter metoda, address yang kembali, variabel lokal) dan sebuah data section yang berisikan variabel global.
     Process berbeda dengan kode programan. Program bukan sebuah Process, program merupakan sebuah entitas pasif. Program memerlukan program counter untuk menjalankan instruksi selanjutnya yang akan dijalankan, didukung dengan seperangkat sumber daya (resource).
     Dua process dapat dihubungkan dengan program yang sama, dimana program tersebut dianggap dua urutan eksekusi yang berbeda. Misalnya, process x dan process y dapat muncul dari dijalankannya program 1, baik oleh 1 pengguna maupun n pengguna. Tiap-tiap proses ini adalah proses yang berbeda meski kontennya sama. Biasanya ada beberapa proses yang menghasilkan banyak proses begitu ia bekerja.

Kondisi (state) proses
Proses sejatinya bersifat mengubah state (kondisi awal/statis). Setiap proses pasti memiliki status proses masing-masing. Berikut ini 5 kondisi proses apabila sebuah program dijalankan.
1. New (Mulai)
Saat kita mulai menjalankan program sistem operasi akan menyiapkan sumber daya (resoure) apa saja yang dibutuhkan agar program dapat berjalana dengan semestinya.

2. Running (Berjalan)
Saat semua sumber daya (resource) siap untuk digunakan dan sudah ada instruksi untuk mengeksekusi sesuatu maka proses akan mengerjakannya, hal inilah yang menyebabkan program melakukan sebuah pekerjaan tertentu.

3. Waiting (Menunggu)
Adakalanya meski sumber daya sudah siap namun program belum berjalan, hal ini dikarenakan proses masih menunggu sebuah kejadian, seperti sebuah penyelesaian input/output atau penerimaan sebuah tanda / signal.

4. Ready (Siap)
Berbeda dengan status waiting, status ready ini kondisi dimana proses sudah siap digunakan oleh program, namun memang belum dikerjakan karena belum ada instruksi untuk melakukan pekerjaan.

5. Terminated (Terminasi)
Adalah kondisi apabila proses telah selesai melaksanakan tugasnya/ mengeksekusi. Kondisi ini tidak hanya ketika program selesai dijalankan, adakalanya terjadi kesalahan pada sumber daya (resource) dimana proses tidak mampu untuk berjalan karena terlalu berat, biasanya sistem operasi akan memberi batas waktu respon, apabila melewati batas waktu tersebut proses akan berhenti. Hal ini bertujuan agar sistem operasi dapat menjalankan proses lainnya yang telah dijadwalkan, dikarenakan suatu proses umumnya termasuk Process stack. 
Gambar 1 Alur perubahan status pada proses.

Gambar 1 merupakan gambaran dari alur perubahan status pada proses. Setiap proses berjalan sesuai penjadwalan yang telah diatur oleh sistem operasi.

Process Control Block
Process Control Block (PCB) berfungsi menggambarkan setiap proses pada sistem operasi dan memuat informasi spesifik dari setiap proses. PCB berfungsi sebagai tempat penyimpanan informasi apapun yang bervariasi dari proses ke proses. 
Gambar 2 Gambaran Process Control Block.

Gambar 2 merupakan gambaran dari Process Control Block. Ada 6 informasi yang ditampilkan oleh PCB, yaitu sebagai berikut.
1. Keadaan proses
Seperti bahasan sebelumnya yang telah kita bahas, ada 5 kondisi proses yaitu new, ready, running, waiting, dan terminated.

2. Program counter
Program counter mengindikasikan address dari perintah selanjutnya untuk dijalankan untuk proses ini.

3. CPU register
Terdapat bervariasi register dalam jumlah dan jenis, tergantung pada arsitektur dan rancangan komputer. Contohnya accumulator, index register, stack pointer, general-purposes register, code information program counter, dll. Register membantu untuk menyimpan keadaan/ status ketika terjadi gangguan, hal ini  memungkinkan prosses berjalan dengan benar.

4. Informasi manajemen memori
Informasi dapat berupa nilai dari dasar dan batas register, tabel halaman, atau tabel segmen, tergantung pada sistem memori yang digunakan oleh sistem operasi.

5. Informasi pencatatan
Meliputi jumlah dari CPU dan waktu riil yang digunakan, batas waktu, jumlah akun, jumlah job, atau proses.

6. Informasi status I/O
Meliputi daftar dari perangkat I/O yang digunakan pada proses, dan daftar open berkas tergantung dari I/O yang diberikan.

Manajemen proses
Sistem operasi di dalam menangani proses dapat melakukan manajemen proses yang meliputi 9 hal 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 berkomunikasi dengan proses lain.
Proses yang berjalan dalam sistem operasi kita dapat kita lihat. Jika menggunakan sistem operasi windows dapat dilihat melalui task manager.
Gambar 3 Proses yang berjalan pada sistem operasi windows.

Gambar 3 merupakan tampilan task manager yang menampilkan proses yang berjalan pada sistem operasi windows saat ini. Jika menggunakan sistem operasi linux kita bisa melihatnya melalui terminal menggunakan command top.
Gambar 4 Proses yang berjalan pada sistem operasi linux.

Gambar 4 merupakan tampilan dari terminal apabila menjalankan command top, data yang ditampilkan merupakan proses apa saja yang berjalan pada sistem operasi linux saat ini.

Kesimpulan
  Proses (Process) adalah unit kerja terkecil yang secara individu memiliki sumber daya dan dijadwalkan oleh sistem operasi. Process juga merupakan sebuah program yang sedang dalam kondisi dijalankan (eksekusi). Process berbeda dengan kode program (source code). Selama program dieksekusi maka saat itu sedang terjadi perubahan status dari proses-proses yang mengerjakan program tersebut.

Referensi 
[1] I Putu Agus Eka Pratama,“PPT Matakuliah Network Operating System Pertemuan 2 : Proses,”2018.

NETWORK OPERATING SYSTEM

Nama : Rasendriya Revo Daniswara
NIM : 1605551099
Matakuliah : Network Operating System
Dosen : I Putu Agus Eka Pratama, S.T., M.T.
TEKNOLOGI INFORMASI/TEKNIK/UNIVERSITAS UDAYANA



NETWORK OPERATING SYSTEM
Rasendriya Revo Daniswara
Jurusan Teknologi Informasi, Fakultas Teknik, Universitas Udayana
Jalan Raya Kampus Unud, Bukit Jimbaran, Bali, Indonesia


Abstrak
Matakuliah Network Operating System merupakan matakuliah yang membahas seputar sistem operasi yang digunakan dalam dunia jaringan komputer. Dalam matakuliah ini membahas seputar konsep dasar dari sistem operasi, evolusi sistem operasi, fungsionalitas sistem operasi, konsep dasar Network Operating System, infrastuktur pendukung Network Operating System, karakteristik dari Network Operating System, jenis-jenis Network Operating System, serta penggunaan Network Operating System dalam jaringan komputer.

Pendahuluan
Sistem adalah serangkaian sub sistem yang saling terkait dan tergantung satu sama lain, bekerja bersama-sama untuk mencapai tujuan dan sasaran yang sudah ditetapkan sebelumnya. Semua sistem memiliki input, proses, output, dan umpan balik. Sedangkan operasi adalah suatu kegiatan yang dilakukan untuk menyelesaikan suatu permasalahan tertentu. Dari definisi diatas dapat disimpulkan bahwa sistem operasi adalah adalah serangkaian sub sistem yang saling terkait dan tergantung satu sama lain, dan bekerja bersama-sama untuk mengatur setiap operasi yang dijalankan didalam komputer.
William Stalling mengatakan bahwa sistem operasi adalah “Program komputer (software) utama yang bertindak sebagai penghubung dan tatap muk (interface) antara hardware dengan software lainnya, yang sekaligus mengontrol eksekusi program/software/aplikasi”.

Fungsi sistem operasi
Diciptakannya sistem operasi tentu bukan hal yang tidak ada gunanya, justru dengan adanya sistem operasi ini lah yang membantu teknologi saat ini hingga bisa berkembang dengan pesat. 
Gambar 1 Struktur hardware dan software pada komputer.

Gambar 1 menggambarkan struktur hardware dan software pada komputer, Jika diperhatikan pada gambar tersebut sistem operasilah yang menjadi penghubung antara hardware dan software. Berikut merupakan fungsi sistem operasi

1. Fungsi Umum
1. Memudahkan pengguna komputer
Sistem operasi tentunya sangat membantu para pengguna komputer, karena dengan adanya sistem operasi kita dapat melihat tampilan pengguna (User Interface) yang mudah untuk digunakan, selain itu memudahkan kita untuk mengoperasikan setiap aplikasi yang berjalan pada komputer.

2. Efisiensi sumber daya komputasi
Peran lain dari sistem operasi adalah mengatur setiap proses yang ada pada komputer agar dapat berjalan dengan semestinya dan menggunakan setiap proses se-efisien mungkin agar dapat mengeksekusi tiap program dan mencegah serta menangani error yang terjadi akibat kegagalan dalam sumber daya komputer.

3. Membantu pengembangan, pengujian, perbaikan aplikasi dan layanan
Adanya sistem operasi tentu juga membantu untuk menciptakan atau mengembangkan aplikasi yang ada pada komputer. Karena adanya sistem operasi inilah para pengembang dapat menggunakan Developer Engine untuk menciptakan sebuah aplikasi atau layanan.

2. Fungsi khusus
1. Membantu pengembangan software melalui IDE, debugger, dan editor.
2. Mengeksekusi dan menginstall program.
3. Membantu akses ke I/O Device.
4. Mengontrol akses file dan data.
5. Mengakses sistem (root, user).
6. Mendeteksi dan menangani error
7. Menghitung statistik penggunaan resource komputasi.
8. manajemen instruksi melalui bahasa mesin dan hardware.
9. menangani data binari.
10. penyediaan API (Application Programming Interface) untuk pengembangan software. Dan masih banyak fungsi lainnya.
Gambar 2 Sistem Operasi dan Manajemen sumber daya.

Gambar 2 merupakan hubungan antara Sistem Operasi dan Manajemen sumber daya yang ada pada komputer. Sistem operasi lah yang menangani langsung instruksi ke prosesor untuk mengeksekusi program, sistem operasi mengatur penjadwalan dan waktu eksekusi dari setiap program yang berjalan pada komputer.

Kesimpulan
  Sistem operasi merupakan komponen penting dalam sistem komputer. Sistem operasi menjadi penghubung antara software dan hardware agar dapat berjalan dengan semestinya. Sistem operasi juga berperan sebagai “pelayan” utama bagi pengguna, karena dia yang “menyediakan” interface yang memudahkan penggunanya untuk mengoperasikan komputer, sehingga memudahkan juga untuk melakukan pengembangan maupun pengujian sebuah aplikasi.

Referensi 
[1] I Putu Agus Eka Pratama,“PPT Matakuliah Network Operating System Pertemuan 1 : Sistem operasi,”2018.