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
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 ...
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ìm kiếm theo từ khóa liên quan:
Hệ điều hành Bài giảng Hệ điều hành Mô hình multithread Multithreading trong Solaris Quá trình đa luồng Sử dụng threadGợi ý tài liệu liên quan:
-
Giáo trình Lý thuyết hệ điều hành: Phần 1 - Nguyễn Kim Tuấn
110 trang 453 0 0 -
Lecture Operating systems: Lesson 24 - Dr. Syed Mansoor Sarwar
29 trang 384 0 0 -
Lecture Operating systems: Lesson 21 - Dr. Syed Mansoor Sarwar
22 trang 331 0 0 -
173 trang 275 2 0
-
Giáo trình Nguyên lý các hệ điều hành: Phần 2
88 trang 272 0 0 -
175 trang 272 0 0
-
Lecture Operating systems: Lesson 13 - Dr. Syed Mansoor Sarwar
31 trang 272 0 0 -
Giáo trình Nguyên lý hệ điều hành (In lần thứ ba): Phần 1 - PGS.TS. Hà Quang Thụy
98 trang 248 0 0 -
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 245 0 0 -
Bài thảo luận nhóm: Tìm hiểu và phân tích kiến trúc, chức năng và hoạt động của hệ điều hành Android
39 trang 229 0 0