Peta Konsep Manajemen File, Direktori, Memori, I/O, dan Disk

Assalamualaikum Wr. Wb,

Kembali lagi di postingan tentang Sistem Operasi, kali ini mengenai peta konsep beberapa materi yang pernah saya pelajari di praktikum Sistem Operasi.

Kali ini postingan saya mengenai peta konsep untuk dua bahasan:

1. Manajemen File dan Direktori

dan,

2. Manajemen Memori, I/O dan Disk

Memori, I/O & Disk

Terimakasih~

Sumber referensi:

– Modul Sistem Operasi 6

– Modul Sistem Operasi 7

Peta Konsep Linux Shell dan Scheduling

Postingan kali ini tentang peta konsep Linux Shell dan Scheduling, yang merupakan bagian tak terpisahkan dari Sistem Operasi.

Sekedar info, Linux Shell atau Command Shell adalah program dari Linux untuk menerjemahkan perintah, perintah dieksekusi dengan mengetik pada terminal atau program yang disebut shell script, yang merupakan cara terhubung dengan sistem operasi.

BASH(Bourne Again Shell) adalah shell yang dibuat dengan bebas yang menggantikan versi standard dari Bourne Shell buatan Steve Bourne untuk sistem UNIX, dengan beberapa tambahan yang memudahkan penggunaannya dibandingkan command line.

Berikut peta konsep dari Linux Shell:

Peta Konsep Linux Shell

Sementara scheduling adalah penjadwalan suatu perintah untuk dieksekusi berdasarkan waktu yang ditentukan.

Berikut peta konsep dari Scheduling:

Peta Konsep Scheduling

Referensi:

– Modul Sistem Operasi Pertemuan ke-4

– Modul Sistem Operasi Pertemuan ke-5

Let’s Play LINUX

LINUX? Apaan tuh? Linux, kata yang masih samar-samar bagi orang-orang awam. FYI, Linux adalah Operating System (OS) yang dikembangkan oleh Linus Benedict Torvald, doi adalah salah seorang mahasiswa dari Universitas Helsinki Finlandia yang melakukan sebuah proyek hobi yang dimulai pada tahun 1991, dia menulis sebuah kernel untuk prosesor 80386, prosesor 32-it pertama dalam Intel yang cocok untuk PC yang dikenal sebagai Linux. Pada tanggal 14 Maret 1994 diluncurkan versi pertama Linux yang menjadi awal suatu sejarah.

Linus B. Torvalds
Linus B. Torvalds

Linux adalah clone dari UNIX yang telah di-port pada berbagai platform, seperti Intel 80 x 86, AlphaAXP, MIPS, Sparch, Power PC, dan lain sebagainya. Linux juga merupakan OS yang didistribusikan secara open source, yang menjadikan Linux mudah dipelajari dan dikembangkan, karena adanya kode sumber Linux yang diikutsertakan.

Tux, maskot Linux
Tux, maskot Linux

Berbagai keperluan yang menggunakan OS dengan maskot pinguin bernama Tux ini diantaranya adalah: jaringan, pengembangan perangkat lunak, dan sebagai end-user platform. Linux merupakan OS yang mendapat perhatian karena fitur dan harganya yang relatif murah dibanding dengan OS yang lain.

Linux terdistribusi pada beberapa macam, yang sering diistilahkan dengan distro Linux, diantaranya adalah : Slackware, Debian, RedHat, dan lain-lain. Distro Linux telah mengalami pertumbuhan yang cukup pesat dari segi popularitas, sehingga lebih populer dari versi UNIX yang menganut sistem lisensi dan berbayar (proprietary) maupun versi UNIX bebas lain yang pada awalnya menandingi dominasi Microsoft Windows dalam beberapa sisi.

Sebelum membahas Linux lebih jauh, kita tengok dahulu OS UNIX yang merupakan ”orang tua” dari beberapa sistem operasi, termasuk Linux. Unix adalah sekumpulan program yang berperan sebagai penghubung antara komputer dan user. Kernel adalah program komputer yang bertugas untuk mengalokasikan system resources dalam mengkoordinasi dari semua proses internal komputer.

Ada empat komponen dasar Unix:

1. Kernel, merupakan “jantung” dan bagian inti dari sistem operasi.

2. Shell, adalah fasilitas yang memproses perintah user kepada sistem operasi.

3. Command and utilities, merupakan perintah dan fasilitas yang digunakan pada penggunaan komputer sehari-hari.

Ayo kita oprek-oprek Linux!

Round 1

Tampilan Awal
Tampilan Awal

Pertama, kita tahu kalo Linux itu adalah OS yang yang menggunakan perintah antarmuka baris perintah (command line), perintah-perintah yang dieksekusi dengan menggunakan console yang sering disebut sebagai terminal.

Cara mengaksesnya adalah:

 Dari Dash Menu, ketikkan terminal, klik teminal

 Menggunakan Shortcut (Ctrl + Alt + T)

Tampilan terminal
Tampilan terminal

Perintah dasar untuk penanganan file

– Membuat direktori

Ketikkan mkdir nama_folder , contoh mkdir milan

menggunakan mkdir
menggunakan mkdir

– Menampilkan isi direktori

Ketik ls akan menampilkan daftar file dan folder yang berada di direktori yangs sedang aktif.

tampilan menggunakan ls
tampilan menggunakan ls

Jika ditambah atribut yang lain seperti:

 ls –l : memperlihatkan daftar file disertai dengan atribut pemilik, permission, ukuran, dan tanggal modifikasi,

 ls –a : memperlihatkan daftar file dan file tersembunyi sekarang tanpa atribut,

 ls –al : menggabungkan opsi perintah ls –l dan ls-a.

 ls/direktroi/ehm : memperlihatlkan daftar file dari /direktori/ehem ketika berada di direktori sekarang.

– Berpindah direktori

Ketikkan cd direktori_tujuan, contoh: kita berada di home ke folder milan, ketik cd milan. Selain itu ada parameter lain yang digunakan:

 cd direktori/ : pindah direktori ke direktori yang berada dalam direktori sekarang

 cd atau cd~ :pindah ke direktori home

 cd.. : pindah ke direktori teratas atau kembali ke direktori sebelumnya.

 cd ../../n :pindah direktori sebelumnya

 cd/direktori/apalah :pindah kedirektori tanpa harus mundur ke direktori sebelumnya.

– Menampilkan tempat direktori yang aktif

Ketik pwd pada terminal

tampilan dengan pwd
tampilan dengan pwd

– Menyalin file

cp file_yang_akan_disalin direktori_tujuan ada beberapa parameter lain untuk menyalin file:

 cp file/path/ke/direktori/sesuatu : mengkopi file tertentu ke direktori tertentu.

 cp –r folder/path/ke/direktori/sesuatu : mengkopifolder tertentu secararekursif ke direktori tertentu.

 cp *.extension /path/ke/direktori/sesuatu : mengkopi file – file yang berekstensi tertentu ke direktori tertentu

 cp nama* /path/ke/direktori/sesuatu : mengopi file – file yang namanya diawali dengan ‘nama’ ke direktori tertentu.

– Memindahkan file

Ketik mv file_yang_akan_dipindahkan direktori_tujuan, Selain berfungsi untuk memindahkan file ke direktori lain, perintah ini juga bisa digunakan untuk mengganti nama (rename) file. ketik mv nama_file_lama.ehm nama_file_baru.ehm

– Menghapus file

rm file : akan menghapus file rm -r folder : menghapus folder rm -rf folder : menghapus folder secara paksa

– Mencari file dalam direktori

find nama_file/folder_yang_akan_dicari contoh: find kaka.txt

Perintah diatas akan mencari file yang bernama “kaka.txt” pada direktori yang aktif. Jika file yang dicari ada dia akanmenampilkannya. Perintah dasar dalam permrosesan text

mencari file kaka.txt
mencari file kaka.txt

– Melihat isi file Ketik

cat : menampilkan isi file kedalam bentuk plain text.

Cat nama_file.ehm : akan menampilkan file “nama_file.ehm” kedalam bentuk plain text

tampilan menggunakan cat
tampilan menggunakan cat

– Menampilkan jumlah baris, jumlah kata, dan ukuran file(dalam byte) suatu file

wc nama_file.txt Perintah dasar dalam sistem administrasi

fungsi wc pada file kaka.txt
fungsi wc pada file kaka.txt

– Menjalankan perintah/program sebagai super user (untuk alasan keamanan)

sudo halt :perintah halt sebagai super user

– Menampilkan user yang sedang aktif

Ketik whoami Perintah dasar dalam manajemen pemrosesan

– Menampilkan proses-proses yang sedang berjalan ps aux : menampilkan proses yang sedang berjalan secara detail

– Mengakhiri proses yang sedang berjalan

 Kill PID : membunuh proses berdasarkan PID

 Kill program : membunuh sebuah proses yang memiliki nama tertentu

 Killlall program : membunuh semua proses yang memiliki nama tertentu

– Menampilkan daftar perangkat yang ditancapkan di port USB

Ketik lsusb

Tampilan dengan lsusb
Tampilan dengan lsusb

– Membersihkan tampilan terminal

Ketik clear

Utility sistem:

– Merestart sistem

Ketik reboot

– Mematikan sistem

Ketik shutdown/halt

– Menampilkan daftar hardware (perintah ini harus dijalankan sebagai super user).

Ketik lshw

– Menampilkan lamanya sistem telah berjalan

Ketik uptime

– Kalkulator di dalam terminal Ketik

bc

Round 2

Manajemen Proses

Proses adalah program yang sedang dieksekusi. Di Linux, setiap program merupakan proses, yang dapat diciptakan atau dimusnahkan. Saat OS GNU/Linux pertama kali diaktifkan, maka proses yang bertanggung jawab untuk memuat kernel diciptakan. Proses yang pertama kali diciptakan di Linux disebut init.

Ada 4 konsep dasar manajemen proses:

• Multiprogramming : tugas yang berjalan tetap berjalan sampai melakukan operasi yang membutuhkan waktu untukmenunggu respon dari luar (external event), atau bila komputer memaksa penukaran tugas dengan tugas lain.

• Pseudoparallelism :eksekusi proses secara paralel pada sistem.

• Multiprocessing: kemampuan pemrosesan komputer secara bersamaan. Atau bisa juga dukungan sebuah sistem untukmedukung leih dari 1 prosesor dan mengalokasiakan tugas pada prosesor-prosesor tersebut.

• Distributed Processing : semua pemrosesan data secara bersama antara komputer pusat bersama komputer yang lebih kecil melalui jalur komunikasi.

Model-model proses antara lain:

• Sequential process

• Multiprogramming

• CPU Switching

Adapun operasi yanga ada pada proses:

• Penciptaan proses

• Penghancuran/terminasi proses

• Penundaan proses

• Pelanjutan kembali proses

• Mem-block proses

• Membangunkan proses

• Menjadwalkan proses

• Komunikasi antar proses

Disini kita akan mencoba untuk beberapa operasi pada proses dengan menggunakan terminal.

• Process status (ps) digunakan untuk melihat kondisi proses yang berjalan, ketik $ps. Sementara untuk melihat faktor/elemen tambahan yang lainnya gunakan $ps –u.

proses dengan ps -u
proses dengan ps -u

• Jika ingin melihat proses yang spesifik pada suatu user ketik $ps –u<user>

tampilan ps -u dengan user yang aktif
tampilan ps -u dengan user yang aktif

• Untuk opsi menampilkan proses lain adalah dengan $ ps –a , $ ps –au , atau $ps –aux, perbedaannya adalah detail informasi yang ditampilkan, dimana $ ps –aux menampilkan informasi lebih detail daripada, $ ps –au dan $ ps –a.

tampilan dengan ps -aux
tampilan dengan ps -aux

• Untuk melihat proses yang berjalan ketik $ top, untuk tampilan lebih berwarna ketik $ htop (Catat.: untuk fungsi $ htop, kita harus menginstal terlebih dahulu, cara install: ketik sudo-get install htop, instalasi memrlukan koneksi internet)

tampilan dengan top
tampilan dengan top
tampilan menggunakan htop
tampilan menggunakan htop

• Menampilkan hubungan proses parent dan child

 Dengan mengetik $ ps –eH

 Mengetik $ ps –eF (Menampilkan hubungan proses parent dan child beserta letak prosesnya).

 $ pstree(Menampilkan proses pada sistem dalam hirarki parent/child)

tampilan dengan pstree
tampilan dengan pstree

• Menghentikan suatu proses/job:

 $ kill %. Contoh: kill %3

 $ kill . Contoh :kill 2234

 $kill . Contoh : pkill firefox

 $pkillall. Contoh : pkillall firefox

• Mengubah prioritas dengan suatu proses, ketik $ renice

REFERENSI:

• Modul 1 Praktikum Sistem Operasi 2015

• Modul 2 Praktikum Sistem Operasi 2015

Sumber Gambar:

Linus B Torvald : http://www.nndb.com/people/444/000022378/linus-torvalds.jpg

Tux : http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/2000px-Tux.svg.png

 

Implementasi Masalah Interprocess Communication pada Apple Mac OS X

Cici Lestari Supriatna              1300946

Kanita Nada Hasya                  1304145

Muhammad Haris Hidayat     1301417

Reggy Fajar Radesta               1304736

 

Mac OS X

Apple Mac OS X adalah gabungan dari Mac OS dan NeXTSTEP. Objective-C sebagai kombinasi paradigma pemrograman berorientasi objek dari Smaltalkdan bahasa C. iCloud merupakan byproduct dari MobileMe dan actual cloud.

Interprocess Communication (IPC) pada Mac OS X

Lapisan OS Mac
Lapisan OS Mac

Interprocess communication bisa didefinisikan sebagai satuan teknik penggunaan untuk penukaran data di antara urutan ganda dalam satu atau beberapa proses. Proses dapat berjalan dari 1 bahkan beberapa komputer terkoneksi oleh jaringan. Metode IPC dibagi ke dalam metode-metode untuk message passing, synchronization, shared memory dan remote procedure calls.

Dibutuhkan IPCreasons untuk memberikan 2 proses untuk komunikasi dengan satu sala lain yang berbeda : information sharing, computation speedup, modularity, convinience, privilege separation, shared file.

Solusi yang paling tidak dibuat-buat dimana proses ganda akan membagikan berkas utama. itu akan menjadi berkas .txt atau basis data .sqlite. masalah yang nyata dalam metode ini adalah client membutuhkan secara penyelidikan berkelanjutan melihat apakah server sudah menulis sesuatu dalam berkas, masalah write jika proses ganda itu mencoba menulis guna membagikan berkas pada waktu berasamaan.

Proses pada Notifikasi Center
Proses pada Notifikasi Center

Shared memory.Ini penerapan lainnya untuk IPC adalah seksi memori yang dibagikan di antara perbedaan proses dalam kata lain proses a menulis untuk memori ini dan b dapat membaca dalam memori ini atau sebaliknya. Cepat dan data tidak bisa disalin. Ini cukup sulit untuk pergantian kordinat pembagian wilayah memori.

Mach ports.Layanan yang pundamental dan primitiv dari os x kernel adalah berdasar pada mach 3.0 yang secara aslinya menyusun sebagai simpel, dapat diperluas, komunikasi mikro kernel. Kernel itu mampu berdiri sendiri dengan os tradisional semacam i/o, file system, dan networking stacks running sebagai server mode pengguna. Ini semata untuk performance lebih cepat membuat panggilan langsung di antara komponen yang terhubung dari mengirim pesan atau remote procesure calls di antara tugas terpisah. Hasil struktur modular dalam lebih tegap dan sistem diperluas dari kernel monolithic. Ketidakuntungan hanya di kekomplekan dari implementasi dan kurangnya dokumentasi.

Socket, Saat banyak koneksi TCP/IP dibangun melalui sebuah jaringan diantara dua mesin, dimungkinkan juga untuk menghubungkan antara dua proses yang berjalan pada mesin yang sama tanpa memerlukan sebuah jaringan yang menggunakan TCP/IP

Menggunakan TCP/IP socket untuk inter-process communication(IPC) tidak jauh berbeda dari menggunakannya untuk komunikasi pada jaringan.

Apple Eventsadalah mekanisme yang secara universal didukung oleh aplikasi-aplikasi berbasis GUI pada MacOS X untuk pengendalian.

AppleScript adalah bahasa yang yang dibangun di atas Apple Events yang digunakan untuk scripting pada sebuah aplikasi Mac.

Distributed Notification (Notifikasi yang terdistibusi), merupakan sebuah pusat notifikasi yang mengatur pengiriman dan penerimaan informasi-informasi. Semua informasi yang memenuhi kriteria akan diberitahukan dan dienkapsulasidalam NSNotification objects.

Pasteboard, setiap sebuah copy –paste terjadi diantara beberapa aplikasi, IPC menggunakan pasteboard, begitu juga dengan Inter-application yang notabene menggunakan pasteboard. Dimungkinkan membuat pasteboard terkostumasi sesuai dengan akses yang diinginkan aplikasi.

Seperti halnya notifikasi terdistribusi, pasteboard bekerja menggunakan central pasteboard server menggunakan mach ports.

Distributed Object (Objek Terdistribusi) adalah mekanisme yang mengaktifkan sebuah Cocoa application untuk memanggil sebuah objek pada aplikasi Cocoa yang berbeda (atau sebuah thread yang berbeda pada aplikasi yang sama)

Objek-Objek Terdistribusi mengoperasikan server pembuat public yang mana merupakan tempat proses client dapat terhubung. Sekali sebuah koneksi terbuat, client process akan meng-invoke salah satu dari metode-metode objek sebagaimana adanya objek di client process.

Objek-Objek Terdistribusi normalnya beroperasi dari mach ports, tapi mereka juga dapat digunakan dengan socket.

 

 

 

Referensi:

 

Thompson, Matt. (2014)Inter-Process Communication [Online].Tersedia di: http://nshipster.com/inter-process-communication/ [Diakses 12 Maret 2015].

Dutt, Hem. (2014) Inter-Process Communication (IPC) technique on Mac OS X[Online].Tersedia di: http://www.slideshare.net/Hem_Dutt/ipc-on-mac-osx[Diakses 13 Maret 2015].

Tanpa Nama.[2014] Kernel and Device Layer https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/OSX_Technology_Overview/art/osx_architecture-
kernels_drivers_2x.png
[12 Maret 2015]

Tanpa Nama.[2012] Managing User Preference [Online] tersedia: https://developer.apple.com/library/mac/documentation/UserExperience/Conceptual/PreferencePanes/Concepts/Managing.html[13 Maret 2015]

Review Struktur SO dan Status Proses SO

Sistem Operasi

Sistem operasi adalah suatu program yang mengatur eksekusi program-program aplikasi dan berfungsi sebagai interface (sarana tatap muka) antara user (pengguna) dengan hardware komputer.

Tujuan dan fungsi dari sistem operasi (SO) diantaranya

  • Untuk kemudahan, karena SO mempermudah user menggunakan komputer,
  • Efisiensi, SO memungkinkan sumber daya sistem komputer digunakan secara efisien,
  • Kemampuan berkembang, SO harus disusun sedemikian sehingga memungkinkan pengembangan yang efektif, pengujian dan penerapan fungsi sistem baru tanpa mengganggu layanan yang telah ada.

Struktur SO

William Stalling beranggapan bahwa sistem operasi tak ubahnya seperti seperangkat lapisan atau layer. Tiap lapisan menampilkan bagian fungsi yang dibutuhkan oleh sistem operasi. Bagian yang berada di lapisan yang lebih bawah menampilkan fungsi yang lebih sederhana.

Lapis
Struktur SO

Struktur sistem operasi terdiri dari beberapa bagian, diantaranya:

  • Operating System Services,
  • User Operating System Interface,
  • System Calls
  • Types of System Calls,
  • System Programs,
  • Operating System Design and Implementation,
  • Operation System Structure,
  • Virtual Machines,
  • Operating System Debugging,
  • Operating System Generation,
  • System Book.

Operating System Services, menyediakan sebuah lingkungan untuk eksekusi program dan pelayanan pada program atau user. Terdiri dari:

CLI Windows
CLI Windows
  • User Interface: Command-line(CLI) dan Graphics User Interface(GUI),
  • Eksekusi program,
  • Operasi I/O
  • Manipulasi sistem-file
  • Komunikasi
  • Deteksi error
  • Fungsi Lainnya (alokasi sumberdaya, proteksi, dan sebagainya)
GUI Windows 8 (Sumber: http://www.conceptdraw.com/solution-park/resource/images/solutions/windows-8-user-interface/Software-Development-Windows-8-User-Interface-Windows-8-Start-Screen.png)
GUI Windows 8 (Sumber: http://bit.ly/1AhEzw2)

System Calls, adalah antarmuka pemrograman untuk layanan yang ada di SO, biasanya ditulis dalam bahasa tingkat tinggi(seperti C atau C++),

Skema System Calls (Sumber: http://bit.ly/1vOPEWH)
Skema System Calls (Sumber: http://bit.ly/1vOPEWH)

Jenis-jenis System Calls, terdiri dari:

  • Kontrol proses (contoh: end, abort, load dan sebagainya)
  • Manajemen File (contoh: create file, delete file, dsb.)
  • Manajemen perangkat (contoh: request device, release device,)
  • Information maintenance (contoh: get time or date, set time or date, dsb.)
  • Komunikasi (contoh: create, delete communication connection, dsb.)

System Program, menyediakan lingkungan yang nyaman untuk pengembangan dan eksekusi program, ada yang berbasis UI untuk system calls, ada juga yang lebih kompleks. Terbagi menjadi:

  • Manipulasi file,membuat, menghapus, dan manipulasi file atau direktori yang bersifat umum.
  • Informasi status,
  • Modifikasi file, berupa text editor atau special command untuk modifikasi file,
  • Dukungan bahasa pemrograman, berupa compiler, assembler, deugger, interpreter, dsb.
  • Loading dan eksekusi program, berupa absolute loaders, relocatable loaders, dsb.,
  • Komunikasi, membuat mekanisme yang menyediakan koneksi virtual diantara proses lainnya (contoh: untuk mengirim e-mail, browsing,)
  • Program aplikasi.

Operating system design and implementation, berupa gambaran dan penerapan dari sebuah SO, karena tiap SO memiliki struktur internal yang berbeda, dimulai dengan mendefinisikan tujuan dan spesifikasi, dipengaruhi pemilihan perangkat keras dan jenis sistem. Terdiri dari:

  • User goals, (contoh: user berharap sistem operasi seharusnya nyaman digunakan, mudah dipelajari, aman, cepat, dsb.)
  • System goals, sistem operasi seharusnya mudah di desain, diterapkan serta dirawat, dsb.)

Virtual machines, menggunakan pendekatan berlapis untuk kesimpulan yang logis. Memuat suatu antarmuka yang identik. Penerapan cenderung sulit, lebih lambat dari mesin yang sebenarnya, perlu dukungan perangkat keras.

Operation-system debugging, debugging adalah pencarian dan perbaikan error atau bug yang ditandai dengan log files yang mengandung informasi tentang error tersebut.

Menurut hukum Kernighan: “debugging dua kali lebih sulit daripada menulis kode dari awal. Bahkan, apabila kau menulis kode sepandai mungkin, kau tidak cukup pintar untuk melakukan debug itu“

Operating system generation, adalah kemampuan sistem operasi untuk menjalankan berbagai kelas mesin-mesin, sebelumnya sistem harus dikonfigurasikan untuk tiap situs komputer yang spesifik.

System boot, sistem operasi harus tersedia untuk perangkat keras sehingga perangkat keras dapat memulai proses.

Status Proses Sistem Operasi

Proses adalah kondisi saat sebuah program sedang dieksekusi. Saat komputer berjalan, terdapat banyak proses yang berjalan secara bersamaan. Sebuah proses dibuat melalui system call create-process yang membentuk proses turunan(child process) yang dilakukan oleh proses induk (parent process). Proses turunan tersebut dapat membuat proses baru sehingga semua proses ini pada akhirnya membentuk pohon proses.

Pengelolaan Proses

Proses perlu pengelolaan karena sebuah proses membutuhkan beberapa sumber daya untuk menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, memori, berkas-berkas, dan perangkat-perangkat I/O.

Status Proses

Proses yang dieksekusi memiliki lima status yang terdiri dari:

  • New : pembentukan suatu proses baru
  • Running : instruksi-instruksi yang sedang dieksekusi,
  • Waiting : proses menunggu,
  • Ready : menunggu untuk dialirkan ke pemroses (processor),
  • Terminated : proses telah selesai dieksekusi.
Proses 1 (Sumber: http://bit.ly/1M1rzAb)
Proses 1 (Sumber: http://bit.ly/1M1rzAb)
Proses 2 (Sumber: http://bit.ly/1M1rzAb)
Proses 2 (Sumber: http://bit.ly/1M1rzAb)
Proses 3 (Sumber: http://bit.ly/1M1rzAb)
Proses 3 (Sumber: http://bit.ly/1M1rzAb)
Proses 4 (Sumber: http://bit.ly/1M1rzAb)
Proses 4 (Sumber: http://bit.ly/1M1rzAb)

State transition diagram adalah suatu diagram yang menggambarkan agaimana suatu proses dihubungkan satu sama lain dalam waktu yang bersamaan. (Hoffer J.A., 196:364).

Pada bahasan kali ini saya akan mengambil contoh dari suatu OS, yaitu TOS (The Operating System), TOS adalah salah satu sistem operasi native dari Atari:

Memory Map (Sumber: http://bit.ly/1M1rzAb)
Memory Map (Sumber: http://bit.ly/1M1rzAb)

TOS terdiri dari empat bagian utama, tiap bagian dapat diganti oleh sebuah subtitusi berbasis RAM:

  • BIOS (Basic Input/Output System), membuat beberapa fungsi yang bergantung pada hardware dan dasarnya kompatibel dengan PC BIOS
  • GEMDOS,adalah subsistem manajemen file utama.GEMDOS dikembangkan oleh Digital Research, Inc. Dan sesuai dengan DR-DOS.
  • VDI (Virtual Device Interface), adalah sebuah library dari fungsi grafis yang bergantung pada hardware. Umumnya digunakan untuk menggambar elemen layar dasar (contoh: titik, garis, dsb.) dan mengontrol mouse.
  • AES, Aplication Environtment manager, adalah jendela yang bergantung penuh pada hardware dan manajer aplikasi. Dikembangkan oleh Digital Research, Inc., Sering disebut GEM (Graphic Environtment Manager).

 

Tampilan Atari (Sumber: http://bit.ly/1AL9ZN3)
Tampilan Atari (Sumber: http://bit.ly/1AL9ZN3)

Selain itu, sistem ROM juga yang merupakan sebuah program aplikasi yang responsibel untuk interaksi dengan TOS. Karakteristik singkat dari TOS adalah cepat, stabil, dan tidak memakan banyak memori (jika tidak dipenuhi banyak TSR, itu hanya membutuhkan 3,7 MB TPA pada mesin 4 MB). Sayangnya TOS tidak mendukung multitasking. TOS hanya bisa menggunakan satu aplikasi pada satu waktu dengan accessories(yang berjalan paralel sepanjang waktu sistem beroperasi) sampai enam. Disamping itu TOS tidak mendukung logical driver yang besar (hanya sampai 16 logical drivers, 14 dapat dijadikan partisi).

TOS tidak dapat dijadikan sistem operasi modern, karena TOS dirasa sudah kuno dan ditinggalkan komunitas Atari.

 

Perbandingan TOS dan OS lain (Sumber: http://bit.ly/1zQql2Q)
Perbandingan TOS dan OS lain (Sumber: http://bit.ly/1zQql2Q)

Referensi:

Aliansyah, Muhammad H.[2013] Model Status Proses Pada Sistem Operasi.[Online].Tersedia: http://aliansyah.blog.upi.edu/2013/09/29/model-status-proses-pada-sistem-operasi/ [28 Februari 2015]

Anonim. [Tanpa Tahun] Atari Operating System.[Online]. Tersedia: http://mikro.naprvyraz.sk/docs/GEM/TOS.HTM[01 Maret 2015]

Anonim.[Tanpa Tahun] The Operating System.[Online]. Tersedia: http://www.atariarchives.org/dere/chapt08.php [01 Maret 2015]

Anonim. [Tanpa Tahun] Chapter 2: Operating-System Structure.[Online] Tersedia: codex.cs.yale.edu/avi/os-book/OS8/os8c/slide-dir/PDF-dir/ch2.pdf [01 Maret 2015]

Somantri, Maman [2013] Chapter 7: Operating System.[Online] Tersedia: http://file.upi.edu/Direktori/FPTK/JUR._PEND._TEKNIK_ELEKTRO/197201192001121-MAMAN_SOMANTRI/DASKOMPROG/Ch_7_95_OS.pdf [01 Maret 2015]

Tugas 01 Sistem Operasi

PROGRAMMED I/O, INTERRUPT DRIVEN I/O, dan DIRECT MEMORY ACCESS (DMA)

Programmed I/O

Pada Programmed I/O (I/O terprogram) Data akan saling dipertukarkan antara CPU dan Modul I/O. CPU akan mengeksekusi program yang akan mengoperasikan I/O kepada CPU secara langsung, termasuk status perangkat penerima (ready, error, dsb), pengiriman perintah pembacaan atau penulisan, serta pemindahan data. Saat CPU mengeluarkan perintah kepada modul I/O, maka operasi I/O harus ditunggu oleh CPU sampai diselesaikan oleh modul I/O.

Detail Prosesnya dapat dijelaskan sebagai berikut:

  • CPU meminta modul melakukan operasi I/O,
  • Modul I/O melaksanakan operasi ke periferal,
  • Modul I/O menyiapkan bit-bit status pada I/O status register, yang di dalamnya berisi hasil dari operasinya.
  • CPU akan mengecek status secara periodik (dalam satuan clock), jika tidakada perubahan, maka akan ditunggu kembali, jika ada perubahan maka akan bereaksi. Hal ini karena modul I/O tidak bisa menginformasikan status secara langsung kepada CPU.
  • Tidak ada interupt yang terjadi, karena modul I/O tidak bisa meng-interrupt CPU

Ada dua istilah yang sering digunakan dalam programmed I/O :

a.) Direct I/O

Direct I/O sering disebut bentuk lain programmed I/O, pada teknik ini CPU tidakmelakukan pemeriksaan status device I/O.

 b.) Polled I/O

Polled I/O memerlukan pemeriksaan status device I/O. Setelah sistem diinisialisasi, program I/O yang berhubungan, yaitu I/O driver. Setelah membaca status device I/O, maka akan dilakukan pengujian bit status untuk menentukan operasional device. Jika device tidak siap, CPU dapat melompat ke task yang lainnya. Pada interval waktu tertentu akan diulangi proses yang sama. Jika tidak ada task yang dikerjakan, CPU akan mengulang kembali pemeriksaan dan pembacaan status device.

Salah satu kelemahan dari teknik programmed I/O ini adalah CPU akan menunggu sampai operasi I/O selesai dilakukan modul I/O sehingga akan membuang waktu CPU, apalagi CPU lebih cepat operasinya.

  1. Interrupt Driven I/O

setiap periferal atau komponen yang terhubung ke komputer yang tidak bisa mengirimkan data apapun atas kehendak sendiri, hal itu tentu saja menyulitkan proses I/O karena semua harus dipantau oleh CPU lewat modul I/O. Interrupt adalah sinyal yang dikirimkan oleh sebuah modul I/O untuk meminta perhatian CPU, supaya CPU membaca status sebuah periferal. Prosesor adalah device yang diinterupsi ketika modul i/o siap untuk bertukar data.

Detail prosesnya:

  • CPU melakukan perintah kepada modul I/O untuk melakukan operasi I/O,
  • Modul I/O melaksanakan operasi ke periferal, sementara itu CPU dapat melakukankegiatan yang lain (dapat melaksanakan proses berikutnya),
  • Modul I/O akan meng-interrupt CPU untuk memberitahukan status hasil operasinya. Yang akan direspon oleh CPU atas status tersebut.
  1. Direct Memory Access

Direct Memory Access (DMA) adalah sebuah metode yang memperbolehkan sebuah perangkat input/output untuk mengirim atau menerima data secara langsung ke atau dari memori utama, proses ini diatur oleh sebuah chip yang dikenal sebagai DMA Controller (DMAC).

Pada komputer-komputer sebelumnya, empat kanal DMA diberi nama 0, 1, 2 dan 3. Ketika bus ekspansi 16-bit ISA (industry standard architecture/standar arsitektur industri) diperkenalkan, kanal 5, 6 dan 7 telah ditambahkan. ISA adalah sebuah standar bus komputer untuk komputer-komputer IBM kompatibel yang mengizinkan sebuah perangkat untuk menginisiasi transaksi-transaksi (bus mastering) pada kecepatan yang lebih baik.

Dalam menjalankan pelimpahan tugas dari CPU, DMA diberikan suatu hak istimewa sebagai satu-satunya komponen yang dapat mengakses langsung memori tanpa harus melalui CPU. Maka oleh sebab itu DMA controller berfungsi mengambilalih siklus bus kemudian mentransfer satu word data, akibatnya CPU akan di-suspend sesaat sebelum mengakses bus, ketika dipakai controller yang akan memperlambat CPU tetapi tidak selambat jika CPU sendiri yang akan melakukan transfer.

Pada DMA Interupsi akan terkirim ketika pekerjaan selesai. Prosesor hanya terlibat pada awal dan akhir sebuah transfer.

Detail prosesnya:

  • CPU akan memberitahu DMA Controller mengenai:
  • CPU akan melanjutkan pekerjaan lainnya,
  • DMA controller akan melaksanakan operasi,
  • Saat seluruh operasi diselesaikan, DMA controller akan mengirim interrupt kepada CPU.
DMA
Diagram Alur Direct Memory Access

 

Sumber:

 

Hello world!

Welcome to Blog Civitas UPI. This is your first post. Edit or delete it, then start blogging!