Posted by : Unknown Kamis, 19 Desember 2013

LAPORAN PRAKTIKUM SISTEM OPERASI

MODUL 9


Nama: Dede iskandar
Nim : 3411121140
Kelas : c



INFORMATIKA
UNIVERSITAS JENDERAL ACHMAD YANI
CIMAHI
2013-2014

bab 1
§  Buat program C berikut menggunakan teks editor
/*include*/
#include <unistd.h>    /* symbolic constanta */
#include <sys/types.h>           /* primitive system data types*/
#include <errno.h>      /* errors */
#include <stdio.h>      /* input/output */
#include <stdlib.h>     /* general utilitiez */
#include <pthread.h>  /* POSIX threading */
#include <string.h>     /* string handling */
/* prototype for thread routine */
void print_message_function (void *ptr);
typedef struct str_thdata
{
            int thread_no;
            char mesaage[100];
} thdata;
int main()
{
            pthread thread1, thread2;
            thdata data1, data2;
            data1.thread_no=1;
            strcpy(data1.mesaage, "Hello!");
            data2.thread_no=2;
            strcpy(data2.mesaage, "Hey!");
            pthread_create (&thread1, NULL, (void *) &print_message_function, (void *) &data1);
            pthread_create (&thread2, NULL, (void *) &print_message_function, (void *) &data2);
            pthread_join(thread1, NULL);
            pthread_join(thread2, NULL);
            exit(0);
}
void print_message_function(void *ptr)
{
            thdata *data;
            data = (thdata *) ptr;
            printf("thread %d says %s \n", data->thread_no, data->message);
            pthread_exit(0);
}
Jalankan program yang sudah di kompilasi dengan  perintah  ./thread-ex Dan ini adalah tamilan progam hasil eksekusi program di atas

. Modipikasi sourcode sehingga thread 1 dan thread ke 2 menghasilkan output yang berbeda,dan ini adalah program  yang sudah saya edit kode programnya
Bagian yang yang saya edit terletak pada pendeklarasian program  di mana thread 1 saya rubah nama hasil outputnya dan  begitupun thread yang ke duanaya.



Gambar hasil eksekusi program yang sudah rubah kode programnya

pungsi pthread.h merupakan pengenal dari sebuah thread yang dibuat.
-. Pungsi stdio yaitu  library pada bahasa C yang digunakan untuk operasi input-output (stdio = Standar Input dan Output). Tanpa menggunakan library ini maka perintah-perintah input dan output tidak dapat dieksekusi.
Pungsi stdlibe adalah  untuk membersihkan suatu layar setelah memilih suatu menu sama saja dengan clscr pada bahasa c
                                                         BAB 11
Penutupan

Kesimpulan
sistem operasi telah mendukung time-slice dan multiprosesor threading dengan penjadwalan proses. Kernel dari suatu sistem operasi memungkinkan program untuk memanipulasi thread melalui antarmuka system call. Beberapa implementasi yang disebut thread kernel, sedangkan lightweight process (LWP) adalah jenis khusus thread kernel yang berbagi state dan informasi.
Threads berbeda dari proses multitasking sistem operasi tradisional, diantaranya :
-          Proses biasanya independen, sedangkan thread ada sebagai bagian dari sebuah proses
-          Proses membawa informasi state yang cukup besar, sedangkan beberapa thread dalam proses yang sama berbagi sumberdaya memori dan lainnya
-          Proses memiliki ruang alamat yang terpisah, sedangkan thread berbagi ruang alamt yang sama
-          Proses berinteraksi hanya melalui mekanisme yang disediakan sistem inter-proses communication
-          Context switching antara thread dalam proses yang sama biasanya lebih cepat dari konteks switching antara proses.
download file 
unjani



Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © datakuliah - Skyblue - Powered by Blogger - Designed by Johanes Djogan -