Pertemuan 5 Server dengan Multi Proses pada Linux

Slides:



Advertisements
Presentasi serupa
Operating system review
Advertisements

Pemrograman Berorientasi Objek
Sistem Operasi Proses Fachry Khusaini ( ) Nur Yaqin ( )
Mengamati Proses pada SO Linux
KONSEP PROSES Minggu ke 5.
MANAJEMEN PROSES.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 5 PROSES DAN THREAD 1.
Manajemen Proses.
ARRAY (Lanjutan).
SELECTION STATEMEN KENDALI / PERCABANGAN
SI 325 Konsep Sistem Operasi Minggu 3
Pertemuan 03- Konsep Proses
Sistem Operasi (Operating Systems) Minggu 5
SI 325 Konsep Sistem Operasi Minggu 2
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
Pertemuan 3 Manajemen Proses.
PROCESS DAN THREADS Pengertian : Program Proses MonoProgramming
Tim Teaching Grant Mata Kuliah Sistem Operasi
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
SELECTION STATEMEN KENDALI / PERCABANGAN
SELECTION (STATEMEN KENDALI / PERCABANGAN)
Matakuliah : H0483 / Network Programming Tahun : 2008 Versi : 2.0
Pertemuan 6 Server dengan Multi Thread pada Linux
Pertemuan 1 Mengapa Belajar Bahasa Rakitan ??
Sistem Operasi (Operating Systems) Minggu 4
1 Pertemuan 18 Matriks Matakuliah: T0016/Algoritma dan Pemrograman Tahun: 2005 Versi: versi 2.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Pointer.
PROSES dan PENJADWALAN (Konsep proses) By: Asriadi Pertemuan 5.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
PROCESS DAN THREADS PROCESS Multiprogramming Pseudoparallelism
Pertemuan 3 ELEMENTARY TCP SOCKETS
1 Pertemuan Tree Matakuliah: T0026/Struktur Data Tahun: 2005 Versi: 1/1.
Sistem Operasi.
KONSEP SISTEM OPERASI Proses Adalah program yang sedang dieksekusi
OPERASI JUMP DAN EXCEPTION HANDLING
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
Struktur kontrol.
PERNYATAAN PERULANGAN
PENJADWALAN PROSES.
1 Pertemuan 18 Template Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Pertemuan 9 Stack dengan Linked-list
Pertemuan 5 Balok Keran dan Balok Konsol
1 Pertemuan 10 PEMROGRAMAN MULTITHREADING Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
1 Pertemuan 5 PPh PASAL 21 Matakuliah: A0572/ Perpajakan Tahun: 2005 Versi: Revisi 1.
Mengambar kurva fungsi linier Pertemuan 4
Matakuliah : R0022/Pengantar Arsitektur Tahun : Sept 2005 Versi : 1/1
1 Pertemuan #11 Systems of Clock 2 Matakuliah: H0232/Sistem Waktu Nyata Tahun: 2005 Versi: 1/5.
1 Pertemuan 4 KONTROL ALUR EKSEKUSI PROGRAM Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
PROSES & THREADS Disajikan Oleh :.
PROSES DAN MANAJEMEN PROSES (1)
IV. Proses-proses Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi Proses membutuhkan sumber daya.
Thread.
Sumber : repository.binus.ac.id/content/T0454/T ppt
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
Pertemuan 6 Server dengan Multi Thread
Inheritance lanjutan Pertemuan 22
Manajemen Proses Firdaus, M.T..
OPERATING SYSTEM AND USE
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Matakuliah : A0114/ Sistem Akuntansi Tahun : 2005 Versi : Revisi 1
Tahun : <<2005>> Versi : <<1/2>>
Tim Teaching Grant Mata Kuliah Sistem Operasi
5 Thread.
KONSEP PROSES Minggu ke 5.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Transcript presentasi:

Pertemuan 5 Server dengan Multi Proses pada Linux I Made Astawa deastawa@yahoo.com

Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mendemonstrasikan program server yang bisa melayani banyak client dengan teknik multi proses

System call yang berhubungan dengan proses Outline Materi Pengertian Proses Proses hirarki System call yang berhubungan dengan proses Contoh program server dengan multi proses

Proses Adalah program yang sedang dieksekusi Setiap proses memilki: Pengertian Proses Proses Adalah program yang sedang dieksekusi Setiap proses memilki: Executable program, data, stack Program counter, stack pointer, registers Address space (core image) Dll (lihat tabel dibawah)

Proses vs Thread

Pengertian Proses System Call : manajemen Proses Hirarki proses fork(), waitpid(), execve(), exit(), getpid(), getppid(), dll Hirarki proses

Process Identifier: Pengertian Proses Process ID (PID) Parent Process ID (PPID)

Contoh-1 #include <unistd.h> #include <stdio.h> #include <stdlib.h> int main(void) { pid_t child; int i; if((child=fork())==-1){ perror("fork"); exit(EXIT_FAILURE); } else if(child==0){ for(i=0; i<10; i++){ printf("\tChild PID =%d\n",getpid()); printf("\tChild PPID=%d\n",getppid()); sleep(1); exit(EXIT_SUCCESS); else{ printf("\tParent PID=%d\n",getpid()); printf("\tParent PPID=%d\n",getppid());

Contoh-2 #include <unistd.h> #include <stdio.h> #include <stdlib.h> void childproses() { int i; for(i=0; i<10; i++){ printf("\tChild PID =%d\n",getpid()); printf("\tChild PPID=%d\n",getppid()); sleep(1); } exit(EXIT_SUCCESS);

Contoh-2 void parentproses() { int i; for(i=0; i<10; i++){ printf("\tParent PID=%d\n",getpid()); printf("\tParent PPID=%d\n",getppid()); sleep(1); }

Contoh-2 int main(void) { pid_t child; child=fork(); switch(child){ case -1: perror("fork"); exit(EXIT_FAILURE); case 0: childproses(); default: parentproses(); } exit(EXIT_SUCCESS);

Contoh-3 #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> #include <stdio.h> #include <stdlib.h> void childproses() { puts("Child process..."); printf("\tChild PID =%d\n",getpid()); printf("\tChild PPID=%d\n",getppid()); exit(EXIT_SUCCESS); } void parentproses(pid_t child, int status) waitpid(child,&status,0); puts("Parent Process..."); printf("\tParent PID=%d\n",getpid()); printf("\tParent PPID=%d\n",getppid()); printf("\tChild exited with %d\n",status);

Contoh-3 int main(void) { pid_t child; int status; child=fork(); switch(child){ case -1: perror("fork"); exit(EXIT_FAILURE); case 0: childproses(); default: parentproses(child, status); } exit(EXIT_SUCCESS);

Contoh-4 #include <unistd.h> #include <sys/types.h> #include <sys/wait.h> #include <stdio.h> #include <stdlib.h> void childproses(); void parentproses(pid_t child, int status); int GlobalVar=10;

Contoh-4 int main(void) { pid_t child; int status; child=fork(); switch(child){ case -1: perror("fork"); exit(EXIT_FAILURE); case 0: childproses(); default: parentproses(child, status); } exit(EXIT_SUCCESS);

Contoh-4 void childproses() { GlobalVar += 10; printf("Child: Globalvar=%d\n",GlobalVar); exit(EXIT_SUCCESS); } void parentproses(pid_t child, int status) GlobalVar += 20; printf("Parent: Globalvar=%d\n",GlobalVar); waitpid(child,&status,0);

DayTimeServer tanpa Fork() ………… //lihat code sebelumnya ………… for(;;){ sin_size = sizeof(struct sockaddr_in); connsd = accept(listensd, (struct sockaddr *) &cliaddr, &sin_size); if(connsd == -1){ perror("error accept"); exit(1); } ticks = time(NULL); snprintf(buff, sizeof(buff),"Date/Time: %.24s\r\n", ctime(&ticks)); write(connsd, buff, strlen(buff)); close(connsd); //sleep(10);

DayTimeServer dgn Fork() sin_size = sizeof(struct sockaddr_in); connsd = accept(listensd, (struct sockaddr *) &cliaddr, &sin_size); if(connsd == -1){ perror("error accept"); exit(1); } if(!fork()){ close(listensd); ticks = time(NULL); snprintf(buff, sizeof(buff), "Date/Time: %.24s\n", ctime(&ticks)); write(connsd, buff, strlen(buff)); close(connsd); //sleep(10); exit(EXIT_SUCCESS);

Latihan Buat program dengan menggunakan system call fork(), agar terbentuk hirarki proses sbb:

Latihan Buat Program Client – Server dengan Flow Control sbb:

Latihan Buat Program Client – Server dengan Flow Control sbb:

Latihan Buat Program Client – Server dengan Flow Control sbb: