This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Universitas Trisakti, Fakultas Teknologi Industri, Teknik Informatika, 064.013.016

Visitors

Flag Counter

Senin, 19 Juni 2017

Minggu, 11 Juni 2017

Praktikum 12 Organisasi Komputer dan Sistem Operasi "THREAD"

LAPORAN PRAKTIKUM ORGANISASI KOMPUTER DAN SISTEM OPERASI
THREAD

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSMjopjopE2sgERrU9Ib84vZ6kDU7qf3Cm1JoeQ-95vAyg9UlLF2xb2wzLuqcvcl3LkSfQOv6yl7QswENkHw6wp9BGhEJQrPRLMyf-sxybzt4Q3IHxoiVk_tX6STIu9bOTQze1QFntP7E/s1600/logo+trisakti.jpg





Disusun Oleh :

Aulia Akbar
064.013.016




Teknik Informatika
Fakultas Teknologi Industri
Universitas Trisakti
Jakarta – Indonesia
2017





Teori Percobaan

Ketika pertama kali dikembangkan, Linux tidak didukung dengan threadingdi dalam kernelnya, tetapi dia mendukung proses-proses sebagai entitas yang dapat dijadwalkan melalui clone() system calls. Sekarang Linux mendukung penduplikasian proses menggunakan system call clone() dan fork(). Clone() mempunyai sifat mirip dengan fork(), kecuali dalam hal pembuatan copy dari proses yang dipanggil dimana ia membuat sebuah proses yang terpisah yang berbagi address space dengan proses yang dipanggil. Pembagian address space dari parent processmemungkinkan cloned task bersifat mirip dengan thread yang terpisah. Pembagianaddress space ini dimungkinkan karena proses direpresentasikan di dalam Kernel Linux. Di dalam Kernel Linux setiap proses direpresentasikan sebagai sebuah struktur data yang unik. Jadi, daripada menciptakan yang baru maka struktur data yang baru mengandung pointer yang menunjuk ke tempat dimana data berada. Jadi ketika fork() dipanggil, proses yang baru akan tercipta beserta duplikasi dari segala isi di struktur data di parent process, namun ketika clone() dipanggil, ia tidak menduplikasi parent processnya tetapi menciptakan pointer ke struktur data padaparent process yang memungkinkan child process untuk berbagi memori dan sumber daya dari parent processnya. Project LinuxThread menggunakan system call ini untuk mensimulasi thread di user space. Sayangnya, pendekatan ini mempunyai beberapa kekurangan, khusunya di area signal handling, scheduling, dan interprocess synchronization primitive.
Untuk meningkatkan kemampuan Thread Linux, dukungan kernel dan penulisan ulang pustaka thread sangat diperlukan. Dua project yang saling bersaing menjawab tantangan ini. Sebuah tim yang terdiri dari pengembang dari IBM membuat NGPT (Next Generation POSIX Threads). Sementara pengembang dariRed Hat membuat NPTL (Native POSIX Thread Library).Sebenarnya Linux tidak membedakan antara proses dan thread. Dalam kenyataannya, Linux lebih menggunakan istilah task dibandingkan proses dan thread ketika merujuk kepada pengaturan alur pengontrolan di dalam program.

CARA PERCOBAAN

  1. Buka terminal pada Linux
  2. Buat file baru dengan cara tulis Vi thrdcreat.c



  1. Tulis sourcodenya seperti gambar berikut




  1. Keluar dari editor dan save, kemudian compile dan jalankan prorgramnya
  2. Buat file baru dengan cara tulis Vi thrdcancel.c


     6. Tulis sourcodenya seperti gambar berikut



7. Compile dan jalankan thrdcancel1.c dan lihat outputnya


8. Buat file baru dengan cara tulis Vi mutex.c



  1. Tulis sourcodenya seperti gambar berikut




14.  Jalankan mutex.c dan lihat outputnya


15.  Selesai



\




KESIMPULAN
          
Thread merupakan sebuah alur kontrol proses yang dapat dijadwalkan pengeksekusiannya oleh sistem operasi. Selanjutnya, bayangkan sebuah program main mempunyai berbagai prosedur (fungsi) dan fungsi-fungsi tersebut dapat dijalankan secara serentak dan atau bebas dijalankan oleh sistem operasi. Dan itulah yang disebut sebagai multithread.


VIDEO : THREAD

Minggu, 04 Juni 2017

Praktikum 11 Organisasi Komputer dan Sistem Operasi "Manajemen Proses"



LAPORAN PRAKTIKUM ORGANISASI KOMPUTER DAN SISTEM OPERASI
MANAJEMEN PENJADWALAN PROSES

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSMjopjopE2sgERrU9Ib84vZ6kDU7qf3Cm1JoeQ-95vAyg9UlLF2xb2wzLuqcvcl3LkSfQOv6yl7QswENkHw6wp9BGhEJQrPRLMyf-sxybzt4Q3IHxoiVk_tX6STIu9bOTQze1QFntP7E/s1600/logo+trisakti.jpg

Aulia Akbar064.013.016







Teknik Informatika
Fakultas Teknologi Industri
Universitas Trisakti
Jakarta – Indonesia
2017




Teori Percobaan

Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan utilitas system atau program aplikasi dari shell, satu lebih proses “child” akan dibuat oleh shell sesuai dengan perintah yang diberikan. Setiap kali instruksi diberikan kepada Linux Shell, maka kernel akan menciptakan sebuah proses-id yang disebut dengan terminology Unix sebagai sebuah job. Ada beberapa tipe proses: Yang pertama adalah foreground yang merupakan proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog), kemudia Batch yang merupakan proses yang dikumpulkan dan dijalankan secara sekuensial, lalu Daemon yang merupakan proses yang menunggu permintaan dari proses lainnya dn menjalankan tugas sesuai perminaan tersebut.

Proses melewati serangkaian keadaan diskrit. Penjadwalan proses merupakan kumpulan kebijakan dan mekanisme di system operasi yang berkaitan dengan urutan kerja yang dilakukan system computer. Penjadwal (scheduler) bertugas untuk memutuskan hal-hal seperti proses yang harus berjalan dan kapan dan berapa lama proses berjalan.

CARA PERCOBAAN

  1. Menghentikan dan memulai kembali job

Cara lain meletakkan job pada background dengan memulai job secara normal (pada foreground), stop job dan memulai lagi pada background

$ yes > /dev/null



Hentikan semestara job (suspend), bukan menghentikannya (terminate),tetap menghentikan sementara job sampai direstart.
Untuk menghentikannya sementara job gunakan Ctrl+Z.


Untuk restart job pada foreground, gunakan perintah fg

$ fg
       

Shell akan menampilkan nama perintah yang diletakkan di foreground. Stop job lagi dengan Ctrl+Z. Kemudian gunakan perinath bg untuk meletakkan job pada background.

$ bg




Job pada background dapat digunakan untuk menampilkan teks pada terminal, dimana dapat diabaikan jika mencoba mengerjakanjob lain.

$ yes &




Untuk menghentikannya tidak dapat menggunakan Ctrl+C. Job harus dipindah ke foreground, baru dihentikan dengan cara tekan fg dan tekan Enter, kemudian dilanjutkan dengan Ctrl+Z untuk menghentikan sementara.


Apabila ingin menjalankan banyak job dalam satu waktu, letakkan job pada foreground atau background dengan memberikan job id.

$ fg %2 atau $ %?
$ bg %2




Tekan fg dan tekan enter. Kemudian dilanjutkan dengan Ctrl+Z untuk menghentikan sementara.


Lihat job dengan perintah ps –fae dan tekan enter. Kemudian hentikan proses dengan perintah kill.

$ ps –fae





$ kill -9 <noPID>





  1. Percobaan dengan Penjadwalan Prioritas
Login sebagai root
Buka tiga terminal, tampilkan pada screen yang sama.

Pada setiap terminal, ketik PSI = “\w:” diikuti Enter.



Karena login sebagai root, maka akan ditampilkan ~: pada setiap terminal. Untuk setiap terminal ketik pwd dan tekan Enter.



Buka terminal lagi (ke empat), atur posisi hingga ke-empat terminal terlihat pada sceen.




Pada terminal keempat, ketika top dan tekan Enter. Maka program top akan muncul. Ketik i. Top akan menampilkan proses yang aktif. Ketik lmt. Top tidak lagi menampilkan informasi pada bagian atas dari screen. Pada percobaan ini, terminal ke empat sebagai jendela Top.





Ketik i, Top akan menampilkan proses yang aktif


Ulangi langkah 7 untuk terminal 2.

Jendela Top akan menampilakn dua program yes sebagai proses yang berjalan. Nilai %CPU sama pada keduanya. Hal ini berarti berdua proses mengkonsumsi waktu proses yang sama dan berjalan cepat. Namun PID dari kedua proses berbeda. Kemudian gunakan terminl 3 dan ketik renice 19<PID terminal> dan diikuti enter.

Tunggu beberapa saat sampai program top berubah dan terlihat pada jendela top.

Pilih jendela top dan tekan r. Program top pada prompt, PID to renice: tekan <PID terminal> dan tekan enter. Program top memberikan prompt Renice PID <PID terminal> to value : tekan -19 dan tekan enter.

Tunggu beberapa saat sampai top berubah dan lihat nilai %CPU pada kedua proses.

Pilih terminal 3 dan ketik nice –n -10 yes dan tekan enter. Tunggu beberapa saat agar program top berubah dan akan terlihat proses primes ketiga.

Jangan menggunakan mouse dan keyboard selama sepuluh detik.

Program top akan menampilkan proses yang aktif selain program yes. Maka akan terlihat proses top terdaftar tetapi %CPU kecil dan konsisten.

Sehingga kursor berubah pada screen dan terlihat apa yang terjadi pada tampilan top. Proses tambahan akan muncul nilai %CPU akan berubah. Pilih jendela top ketik r. PID to renice : muncul prompt. Ketik PID terminal dan tekan enter. Kemudian ketik 0 dan tekan enter.

Selesai





KESIMPULAN
          
Proses adalah program yang sedang dieksekusi. Di Linux, setiap program merupakan proses. Proses dapat diciptakan dan dapat pula dimusnahkan. Ketika sistem operasi GNU/Linux pertama kali diaktifkan, saat itu pula proses yang bertanggung jawab untuk memuat kernel diciptakan. Proses yang pertama kali diciptakan di Linux disebut init. Konsep proses di Linux memiliki kemiripan dengan konsep file permission.
Dalam pengertian setiap user hanya dapat memanipulasi proses yang menjadi miliknya. Setiap proses juga memiliki PID atau Process ID yang merupakan nomor unik yang dapat digunakan untuk berinteraksi dengan proses bersangkutan.
Terdapat 4 konsep dasar manajemen proses :
  1. Multiprogramming, salah satu teknik penjadwalan dimana tugas (task) yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar tugas yang sedang berjalan dengan tugas lainnya.
  2. Pseudoparallelism, eksekusi proses secara paralel pada sistem.
  3. Multiprcessing, kemampuan pemrosesan komputer yang dilakukan secara serentak. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
  4. Distributed Processing, Mengerjakan semua proses pengolahan data secara bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi