Danh mục

Bài giảng Hệ thống máy tính - Chương 6: Quản lý quá trình

Số trang: 17      Loại file: pdf      Dung lượng: 437.08 KB      Lượt xem: 27      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 20,000 VND Tải xuống file đầy đủ (17 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Hệ thống máy tính - Chương 6 "Quản lý quá trình" gồm có những nội dung cụ thể sau: Khái niệm cơ bản, định thời CPU, các tác vụ cơ bản: tạo/kết thúc quá trình, sự cộng tác giữa các quá trình, giao tiếp giữa các quá trình. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Hệ thống máy tính - Chương 6: Quản lý quá trình10/01/2017Chapter 6. Quaûn lyù quaù trìnhKhaùi nieäm cô baûnÑònh thôøi CPU Caùc taùc vuï cô baûn: taïo/keát thuùc quaù trình Söï coäng taùc giöõa caùc quaù trình Giao tieáp giöõa caùc quaù trình1Khaùi nieäm cô baûnHeä thoáng maùy tính thöïc thi nhieàu chöông trình khaùc nhau● Batch system: job● Time-shared system: user program, taskQuaù trình (process)● moät chöông trình ñang thöïc thiMoät quaù trình ñöôïc ñònh nghóa bôûi● Traïng thaùi CPU (trò cuûa caùc thanh ghi)● Khoâng gian ñòa chæ (noäi dung boä nhôù)● Moâi tröôøng (environment, xaùc ñònh thoâng qua caùc baûng cuûa heäñieàu haønh)2Khaùi nieäm cô baûn (tt)Traïng thaùi CPU●●●●●Khoâng gian ñòa chæ●●●●Processor Status Word (PSW)Instruction Register (IR)Program Counter (PC)Stack Pointer (SP)Caùc general purpose registerText (code)DataHeapStackMoâi tröôøng● Vd: terminal ñang duøng, caùc open file, caùc keânh giao tieáp vôùi caùcquaù trình khaùc● Ñöôïc lieät keâ trong caùc baûng cuûa heä ñieàu haønh3110/01/2017Process control blockHeä ñieàu haønh löu thoâng tin veà quaù trình trong processcontrol block (PCB)D.Feitelson4Caùc böôùc naïp chöông trình vaøo boä nhôù5Töø chöông trình ñeán quaù trìnhChöông trình thöïc thi coù ñònh daïng load module maø trìnhnaïp (loader) “hieåu” ñöôïcLayout luaän lyù cuûa process image● Vd ñònh daïng elf trong LinuxExecutable binary file(load module)Process imagetrong main memoryprogramcodeprogramcodedatadatastart addressheapstack6210/01/2017Khôûi taïo quaù trìnhCaùc böôùc heä ñieàu haønh khôûi taïo quaù trình● Caáp phaùt moät ñònh danh duy nhaát (process number hay processidentifier, pid) cho quaù trình● Caáp phaùt khoâng gian nhôù ñeå naïp quaù trình● Khôûi taïo khoái döõ lieäu Process Control Block (PCB) cho quaù trình● Thieát laäp caùc moái lieân heä caàn thieát (vd: saép PCB vaøo haøng ñôïiñònh thôøi,…)7Caùc traïng thaùi cuûa quaù trình (1/2)Caùc traïng thaùi cuûa quaù trình:●●●●●new: quaù trình vöøa ñöôïc taïoready: quaù trình ñaõ coù ñuû taøi nguyeân, chæ coøn caàn CPUrunning: caùc leänh cuûa quaù trình ñang ñöôïc thöïc thiwaiting: hay laø blocked, quaù trình ñôïi I/O hoaøn taát, hay ñôïi tín hieäuterminated: quaù trình ñaõ keát thuùc8Caùc traïng thaùi cuûa quaù trình (2/2)Chuyeån ñoåi giöõa caùc traïng thaùi cuûa quaù trìnhnewadmitdispatchreadyexitterminatedrunninginterruptI/O or eventwaitI/O or eventcompletionwaiting9310/01/2017Ví duï veà traïng thaùi quaù trình/* test.c */int main(int argc, char** argv){printf(“Hello world );exit(0);}Chuoãi traïng thaùi cuûa quaùtrình test nhö sau (tröôønghôïp toát nhaát):newreadyrunningwaiting (do chôø I/O khi goïiprintf)● ready● running● terminated●●●●Bieân dòch chöông trình trong Linuxgcc test.c –o testThöïc thi chöông trình test./testTrong heä thoáng seõ coù moät quaù trìnhtest ñöôïc taïo ra, thöïc thi vaø keátthuùc.10Process Control BlockÑaõ thaáy laø moãi quaù trình trong heä thoáng ñeàu ñöôïc caápphaùt moät Process Control Block (PCB)PCB laø moät trong caùc caáu truùc döõ lieäuquan troïng nhaát cuûa heä ñieàu haønhVí duï layout cuûa moät PCB:(tröôøng pointer duøng ñeå lieânkeát caùc PCB thaønh moätlinked list)Moâi tröôøng11Caùc tröôøng tieâu bieåu cuûa PCBTanenbaum12410/01/2017Chuyeån ngöõ caûnh (1/2)Laøm theá naøo ñeå chia seû CPU giöõa caùc quaù trình?Ngöõ caûnh (context) cuûa moät quaù trình laø tình traïng hoaïtñoäng cuûa quaù trìnhNgöõ caûnh cuûa quaù trình ñöôïc löu trong PCB cuûa noùChuyeån ngöõ caûnh (context switch) laø coâng vieäc ngöngquaù trình ñang thöïc thi vaø chaïy moät quaù trình khaùc. Khiñoù caàn:● Trò cuûa caùc thanh ghi, trò cuûa program counter, boä nhôù,…● löu ngöõ caûnh cuûa quaù trình vaøo PCB cuûa noù● naïp ngöõ caûnh töø PCB cuûa quaù trình môùi ñeå quaù trình môùi thöïc thi13Chuyeån ngöõ caûnh (2/2)14Yeâu caàu ñoái vôùi heä ñieàu haønh veà quaûn lyù quaù trìnhHoã trôï söï thöïc thi luaân phieân giöõa nhieàu quaù trình● Khi naøo choïn vaø choïn quaù trình naøo ñeå thöïc thi coù theå tuøy thuoäcvaøo tieâu chí nhö Hieäu suaát söû duïng CPU Thôøi gian ñaùp öùng…Phaân phoái taøi nguyeân heä thoáng hôïp lyùCung caáp cô cheá hoã trôï user taïo/keát thuùc quaù trìnhCung caáp cô cheá ñoàng boä vaø giao tieáp giöõa caùc quaù trình● Vaán ñeà deadlock, trì hoaõn voâ haïn ñònh,…155 ...

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