Danh mục

Bài giảng Hệ điều hành: Chương 2B - Thread

Số trang: 26      Loại file: ppt      Dung lượng: 712.00 KB      Lượt xem: 32      Lượt tải: 0    
Jamona

Phí tải xuống: 15,000 VND Tải xuống file đầy đủ (26 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mời các bạn tham khảo bài giảng Hệ điều hành: Chương 2B - Thread sau đây để nắm bắt được những kiến thức về các khái niệm tổng quan; các mô hình multithread; Pthread (POSIX thread); Multithreading trong Solaris. Với các bạn chuyên ngành Công nghệ thông tin thì đây là tài liệu hữu ích.
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ điều hành: Chương 2B - Thread Chương2.BThread Kháiniệmtổngquan Cácmôhìnhmultithread Pthread(POSIXthread) MultithreadingtrongSolaris 1 Xemxétlạikháiniệmquátrình Nhìnlạivàphântíchkháiniệmquátrìnhtruyềnthống:quátrình gồm ● 1.Khônggianđịachỉ  chứacode,data,heap(Unix:text,data,heapsection) ● 2.Mộtluồngthựcthiduynhất(singlethreadofexecution)  programcounter  cácregister  stack(Unix:stacksection) ● 3.Cáctàinguyênkhác(cácopenfile,cácquátrìnhcon,…) 2 Mởrộngkháiniệmquátrình Mởrộngkháiniệmquátrìnhtruyềnthốngbằngcáchhiệnthực nhiềuluồngthựcthitrongcùngmộtmôitrườngcủaquátrình. Quátrìnhgồm ● 1.Khônggianđịachỉ ● 2’.Mộthaynhiềuluồngthựcthi,mỗiluồngthựcthi(thread)córiêng  programcounter  cácregister  stack ● 3.Cáctàinguyênkhác(cácopenfile,cácquátrìnhcon,…) 3 Quátrìnhđaluồng(Multithreadedprocess) Khiquátrìnhkhởiđầuchỉcómain(hayinitial)threadthựcthi ● Mainthreadsẽtạocácthreadkhác. Cácthreadtrongcùngmộtprocesschiasẻcode,datavàtài nguyênkhác(cácfileđangmở,...)củaprocess. Quátrìnhđaluồng(multithreadedprocess)làquátrìnhcónhiều luồng. 4 Sửdụngthread formatting backupmouse Trìnhsoạnthảovănbảnvớibathread 5 Process&threadinformation Per process items Address space Open files Child processes Signals & handlers Accounting info Global variablesPer thread items Per thread items Per thread itemsProgram counter Program counter Program counterRegisters Registers RegistersStack & stack pointer Stack & stack pointer Stack & stack pointerState State State Quátrìnhcóbathread 6 ChiasẻCPUgiữacácthread(1/2) time CPU CPU baquátrìnhsinglethreaded 7 ChiasẻCPUgiữacácthread(2/2) time CPU CPUhaiquátrìnhmultithreaded 8 VídụchươngtrìnhsửdụngPthread#include Stackvoid* thread1(){ int i; for (i = 0; i < 10; i++){ printf(“Thread 1 ”); sleep(1); Heap } SP1 thread1}void* thread2(){ stack SP2 int i; thread2 for (i = 0; i < 10; i++){ stack printf(“Thread 2 ”); sleep(1); Static data} PC1int main(){ pthread_t th1, th2; Text PC2 pthread_create(&th1, NULL, thread1, NULL); pthread_create(&th2, NULL, thread2, NULL); sleep(20); return 0; Sơđồbộnhớ} Chươngtrìnhnàykhichạycóbaonhiêuthread? 9 Ưuđiểmcủathread Tínhđápứngcaochocácứngdụngtươngtác Chiasẻtàinguyêngiữacácthread:vdmemory Tiếtkiệmchiphíhệthống ● Chiphítạo/quảnlýthreadnhỏhơnsovớiquátrình ● Chiphíchuyểnngữcảnhgiữacácthreadnhỏhơnsovớiquátrình Tậndụngđượcđaxửlý(multiprocessor) ● Mỗithreadchạytrênmộtprocessorriêng,dođótăngmứcđộsongsong c ...

Tài liệu được xem nhiều: