Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 237 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
237
Dung lượng
2,59 MB
Nội dung
Ĉӄ CѬѪNG MÔN HӐC MÔN: Hӊ ĈIӄU HÀNH MÃ MÔN HӐC: TH338 SӔ ĈVHT: HӐC KÌ: GIҦNG VIÊN: NGUYӈN PHÚ TRѬӠNG MӨC ĈÍCH YÊU CҪU I Giúp sinh viên hiӇu ÿѭӧc vai trò cӫa hӋ ÿiӅu hành cѫ chӃ hoҥt ÿӝng cӫa hӋ ÿiӅu hành Cách thiӃt kӃ hӋ ÿiӅu hành Cách ӭng dөng cѫ chӃ viӋc thiӃt kӃ hӋ ÿiӅu hành hiӋn ÿҥi II KIӂN THӬC NӄN CҪN THIӂT STT Nӝi dung kiӃn thӭc nӅn KiӃn trúc máy tính Tiên quyӃt Mӭc ÿӝ yêu cҫu Vұn dөng khái Vұn dөng kӻ năng/ niӋm/ mô hình phѭѫng pháp x III KIӂN THӬC TOÁN CҪN THIӂT STT Nӝi dung kiӃn thӭc HiӇu Khái niӋm Giҧi thuұt Ngôn ngӳ Pascal C Mӭc ÿӝ yêu cҫu Vұn dөng Chӭng minh Công thӭc/ Công thӭc/ ÿӏnh lý ÿӏnh lý x Vұn dөng Phѭѫng pháp x IV TÓM TҲT NӜI DUNG MÔN HӐC Mô tҧ ÿiӇm yӃu cӫa hӋ ÿiӅu hành Vai trò lӵc cӫa hӋ ÿiӅu hành hӋ thӕng máy tính Nhӳng vҩn ÿӅ phát sinh trình thiӃt kӃ hӋ ÿiӅu hành cNJng nhѭ nhӳng tiӃp cұn khác ÿѭӧc dùng ÿӇ phân tích giҧi quyӃt nhӳng vҩn ÿӅ ÿó Xem xét nhӳng chiӃn lѭӧc hӋ ÿiӅu hành phә biӃn cách chúng tác ÿӝng ÿӃn nhӳng dӏch vө cӫa hӋ ÿiӅu hành hiӋn ÿҥi V Ĉӄ CѬѪNG CHI TIӂT CÁC CHѬѪNG CHѬѪNG I - TӘNG QUAN Vӄ Hӊ ĈIӄU HÀNH1 I.1 Mөc tiêu I.2 Giӟi thiӋu I.3 HӋ ÿiӅu hành gì? I.4 HӋ thӕng mainframe I.5 HӋ ÿӇ bàn (Desktop system) I.6 HӋ ÿa xӱ lý I.7 HӋ phân tán I.8 HӋ thӕng nhóm (Clustered Systems) I.9 HӋ thӡi thӵc I.10 HӋ xách tay I.11 Tóm tҳt CHѬѪNG II - CҨU TRÚC Hӊ ĈIӄU HÀNH II.1 Mөc ÿích II.2 Giӟi thiӋu II.3 Các thành phҫn hӋ thӕng II.4 Các dӏch vө hӋ ÿiӅu hành II.5 Lӡi gӑi hӋ thӕng II.6 Các chѭѫng trình hӋ thӕng II.7 Cҩu trúc hӋ thӕng II.8 Máy ҧo II.9 Tóm tҳt CHѬѪNG III - QUÁ TRÌNH III.1 Mөc ÿích III.2 Giӟi thiӋu III.3 Khái niӋm trình III.4 Lұp thӡi biӇu trình III.5 Thao tác trình III.6 Giao tiӃp liên trình III.7 Tóm tҳt CHѬѪNG IV - ĈӎNH THӠI BIӆU CPU IV.1 Mөc tiêu IV.2 Giӟi thiӋu IV.3 Các khái niӋm cѫ bҧn IV.4 Các tiêu chuҭn ÿӏnh thӡi IV.5 Các giҧi thuұt ÿӏnh thӡi IV.6 Ĉӏnh thӡi biӇu ÿa bӝ xӱ lý IV.7 Ĉӏnh thӡi thӡi gian thӵc IV.8 Ĉánh giá giҧi thuұt IV.9 Tóm tҳt CHѬѪNG V - ĈӖNG BӜ HOÁ QUÁ TRÌNH V.1 Mөc tiêu V.2 Giӟi thiӋu V.3 Tәng quan V.4 Vҩn ÿӅ vùng tѭѫng trөc V.5 Giҧi pháp V.6 Các toán ÿӗng bӝ hoá nguyên thuӹ V.7 Tóm tҳt CHѬѪNG VI - DEADLOCK VI.1 Mөc ÿích VI.2 Giӟi thiӋu VI.3 Mô hình hӋ thӕng VI.4 Ĉһc ÿiӇm deadlock VI.5 Các phѭѫng pháp xӱ lý deadlock VI.6 Ngăn chһn deadlock VI.7 Tránh deadlock VI.8 Phát hiӋn Deadlock VI.9 Phөc hӗi deadlock VI.10 Tóm tҳt CHѬѪNG VII - QUҦN LÝ BӜ NHӞ VII.1 Mөc ÿích VII.2 Giӟi thiӋu VII.3 Ĉһt vҩn ÿӅ VII.4 Hoán vӏ VII.5 Cҩp phát bӝ nhӟ liên tөc VII.6 Cҩp phát không liên tөc VII.7 Tóm tҳt CHѬѪNG VIII - BӜ NHӞ ҦO VIII.1 Mөc ÿích VIII.2 Giӟi thiӋu VIII.3 KiӃn thӭc nӅn VIII.4 Phân trang theo yêu cҫu VIII.5 Thay thӃ trang VIII.6 Cҩp phát khung trang VIII.7 Trì trӋ toàn hӋ thӕng VIII.8 Các vҩn ÿӅ khác VIII.9 Tóm tҳt CHѬѪNG IX - Hӊ THӔNG TҰP TIN IX.1 Mөc ÿích IX.2 Giӟi thiӋu IX.3 Khái niӋm tұp tin IX.4 Các phѭѫng pháp truy xuҩt IX.5 Cҩu trúc thѭ mөc IX.6 Gҳn hӋ thӕng tұp tin IX.7 Chia sҿ tұp tin IX.8 Bҧo vӋ IX.9 Tóm tҳt CHѬѪNG X - CÀI ĈҺT Hӊ THӔNG TҰP TIN X.1 Mөc ÿích X.2 Giӟi thiӋu X.3 Cҩu trúc hӋ thӕng tұp tin X.4 Cài ÿһt hӋ thӕng tұp tin X.5 Cài ÿһt thѭ mөc X.6 Các phѭѫng pháp cҩp phát X.7 Quҧn lý không gian trӕng X.8 Tóm tҳt CHѬѪNG XI - QUҦN LÝ Hӊ THӔNG NHҰP/XUҨT XI.1 Mөc ÿích XI.2 Giӟi thiӋu XI.3 Các khái niӋm cѫ bҧn XI.4 Phҫn cӭng nhұp/xuҩt XI.5 Giao diӋn nhұp/xuҩt ӭng dөng T XI.6 HӋ thӕng nhұp/xuҩt cӫa nhân (kernel I/O subsytem) XI.7 ChuyӇn nhұp/xuҩt tӟi hoҥt ÿӝng phҫn cӭng XI.8 Năng lӵc XI.9 Tóm tҳt VI TÀI LIӊU THAM KHҦO [Jean Bacon & Tim Harris], Operating Systems, Addison-Wesley, 2003 [NguyӉn Hoàng ViӋt], Bài gi̫ng H͏ Ĉi͉u Hành, Khoa CNTT-ĈH Cҫn Thѫ, 1998 [Silberschatz, Galvin, Gagne], Operating System Concepts, John Wiley & Sons, 2003 [Lê Khҳc Nhiên Ân, Hoàng KiӃm], Giáo trình Nh̵p môn h͏ ÿi͉u hành, Ĉҥi hӑc Khoa hӑc Tӵ nhiên, 2003 [Trҫn Hҥnh Nhi, Hoàng KiӃm], Giáo trình h͏ ÿi͉u hành nâng cao, Ĉҥi hӑc Khoa hӑc Tӵ nhiên,1999 VI.1.1 DUYӊT BӜ MÔN Ngày 23 tháng 04 năm 2004 CÁN BӜ BIÊN SOҤN NguyӉn Phú Trѭӡng Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 TӘNG QUAN Vӄ Hӊ ĈIӄU HÀNH I Mөc tiêu Sau hӑc xong chѭѫng này, ngѭӡi hӑc nҳm ÿѭӧc nhӳng kiӃn thӭc sau: o HiӇu vai trò cӫa hӋ ÿiӅu hành hӋ thӕng máy tính o BiӃt giai ÿoҥn phát triӇn cӫa hӋ ÿiӅu hành o HiӇu sӵ khác biӋt cӫa hӋ ÿiӅu hành qua tӯng giai ÿoҥn o HiӇu cách giҧi quyӃt vҩn ÿӅ phát sinh tӯng hӋ ÿiӅu hành II Giӟi thiӋu HӋ ÿiӅu hành mӝt chѭѫng trình quҧn lý phҫn cӭng máy tính Nó cung cҩp nӅn tҧng cho chѭѫng trình ӭng dөng ÿóng vai trò trung gian giao tiӃp giӳa ngѭӡi dùng máy tính phҫn cӭng cӫa máy tính ÿó HӋ ÿiӅu hành thiӃt lұp cho tác vө rҩt ÿa dҥng Mӝt vài hӋ ÿiӅu hành thiӃt kӃ tiӋn dөng mӝt sӕ khác thiӃt kӃ hiӋu quҧ hoһc kӃt hӧp cҧ hai ĈӇ hiӇu hӋ ÿiӅu hành gì, trѭӟc hӃt phҧi hiӇu chúng ÿѭӧc phát triӇn nhѭ thӃ Trong chѭѫng ÿiӇm lҥi sӵ phát triӇn cӫa hӋ ÿiӅu hành tӯ nhӳng hӋ thӱ nghiӋm ÿҫu tiên tӟi nhӳng hӋ ÿa chѭѫng chia thӡi Thông qua nhӳng giai ÿoҥn khác sӁ thҩy cách thӭc mà nhӳng thành phҫn cӫa hӋ ÿiӅu hành ÿѭӧc cҧi tiӃn nhѭ nhӳng giҧi pháp tӵ nhiên cho nhӳng vҩn ÿӅ nhӳng hӋ thӕng máy tính ban ÿҫu Xem xét nhӳng lý phía sau sӵ phát triӇn cӫa hӋ ÿiӅu hành cho mӝt ÿánh giá vӅ nhӳng tác vө hӋ ÿiӅu hành làm cách hӋ ÿiӅu hành thӵc hiӋn chúng III HӋ ÿiӅu hành gì? Mӝt hӋ ÿiӅu hành mӝt thành phҫn quan trӑng cӫa mӑi hӋ thӕng máy tính Mӝt hӋ thӕng máy tính có thӇ ÿѭӧc chia thành bӕn thành phҫn: phҫn cӭng, hӋ ÿiӅu hành, chѭѫng trình ӭng dөng ngѭӡi dùng o Phҫn cӭng (Hardware): bao gӗm bӝ xӱ lý trung tâm (CPU), bӝ nhӟ, thiӃt bӏ xuҩt/nhұp, cung cҩp tài nguyên cѫ bҧn cho hӋ thӕng o Các chѭѫng trình ӭng dөng (application programs): trình biên dӏch (compiler), trình soҥn thҧo văn bҧn (text editor), hӋ cѫ sӣ dӳ liӋu (database system), trình duyӋt Web, ÿӏnh nghƭa cách mà ÿó tài nguyên ÿѭӧc sӱ dөng ÿӇ giҧi quyӃt yêu cҫu cӫa ngѭӡi dùng o Ngѭӡi dùng (user): có nhiӅu loҥi ngѭӡi dùng khác nhau, thӵc hiӋn nhӳng yêu cҫu khác nhau, ÿó sӁ có nhiӅu ӭng dөng khác o HӋ ÿiӅu hành (operating system): hay gӑi chѭѫng trình hӋ thӕng, ÿiӅu khiӇn hӧp tác viӋc sӱ dөng phҫn cӭng giӳa nhӳng chѭѫng trình ӭng dөng khác cho nhӳng ngѭӡi dùng khác HӋ ÿiӅu hành có thӇ ÿѭӧc khám phá tӯ hai phía: ngѭӡi dùng hӋ thӕng Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 User1 User2 compliler text editor UserN database t System and Application Programs Operating System Hardware Hình 0-1 Tҫm nhìn trӯu tѭӧng thành phҫn cӫa mӝt hӋ thӕng máy tính III.1 Tҫm nhìn ngѭӡi dùng Tҫm nhìn ngѭӡi dùng cӫa máy tính rҩt ÿa dҥng bӣi giao diӋn ÿѭӧc dùng Hҫu hӃt nhӳng ngѭӡi dùng máy tính ngӗi trѭӟc máy tính cá nhân gӗm có hình, bàn phím, chuӝt bӝ xӱ lý hӋ thӕng (system unit) Mӝt hӋ thӕng nhѭ thӃ ÿѭӧc thiӃt kӃ cho mӝt ngѭӡi dùng ÿӝc quyӅn sӱ dөng tài nguyên cӫa ÿӇ tӕi ѭu hoá công viӋc mà ngѭӡi dùng ÿang thӵc hiӋn Trong trѭӡng hӧp này, hӋ ÿiӅu hành ÿѭӧc thiӃt kӃ dӉ dàng cho viӋc sӱ dөng vӟi sӵ quan tâm vӅ lӵc nhѭng không quan tӟi viӋc sӱ dөng tài nguyên Năng lӵc thӵc hiӋn quan trӑng vӟi ngѭӡi dùng nhѭng không vҩn ÿӅ nӃu hҫu hӃt hӋ thӕng ÿang rãnh, chӡ tӕc ÿӝ xuҩt/nhұp chұm tӯ phía ngѭӡi dùng Vài ngѭӡi dùng ngӗi tҥi thiӃt bӏ ÿҫu cuӕi (terminal) ÿѭӧc nӕi kӃt tӟi máy tính lӟn (mainframe) hay máy tính tҫm trung (minicomputer) Nhӳng ngѭӡi khác ÿang truy xuҩt máy tính thông qua thiӃt bӏ ÿҫu cuӕi khác Nhӳng ngѭӡi dùng chia sҿ tài nguyên có thӇ trao ÿәi thông tin HӋ ÿiӅu hành ÿѭӧc thiӃt kӃ ÿӇ tӕi ѭu hoá viӋc sӱ dөng tài nguyên-ÿӇ ÿҧm bҧo rҵng tҩt cҧ thӡi gian sҷn dùng cӫa CPU, bӝ nhӟ thiӃt bӏ xuҩt nhұp ÿѭӧc sӱ dөng hӳu hiӋu không cá nhân ngѭӡi dùng sӱ dөng ÿӝc quyӅn tài nguyên hѫn chia sҿ công bҵng Nhӳng ngѭӡi dùng khác ngӗi tҥi trҥm làm viӋc, ÿѭӧc nӕi kӃt tӟi mҥng cӫa trҥm làm viӋc khác máy chӫ Nhӳng ngѭӡi dùng có tài nguyên tұn hiӃn trҥm làm viӋc cӫa nhѭng hӑ cNJng chia sҿ tài nguyên mҥng máy chӫtұp tin, tính toán máy phөc vө in Do ÿó, hӋ ÿiӅu hành cӫa hӑ ÿѭӧc thiӃt kӃ ÿӇ thoҧ hiӋp giӳa khҧ sӱ dөng cá nhân viӋc tұn dөng tài nguyên Gҫn ÿây, sӵ ÿa dҥng cӫa máy tính xách tay trӣ thành thӡi trang cho nhӳng ngѭӡi làm viӋc lãnh vӵc công nghӋ thông tin Các thiӃt bӏ ÿѭӧc sӱ dөng chӍ bӣi cá nhân ngѭӡi dùng Mӝt vài máy tính ÿѭӧc nӕi mҥng hoһc nӕi trӵc tiӃp bҵng dây hay thông qua modem không dây Do sӵ giӟi hҥn vӅ lѭӧng (ÿiӋn) giao diӋn, chúng thӵc hiӋn tѭѫng ÿӕi thao tác ӣ xa HӋ ÿiӅu hành ÿѭӧc thiӃt kӃ chӫ yӃu cho viӋc sӱ dөng cá nhân nhѭng lӵc thӵc hiӋn thӡi gian sӕng cӫa pin cNJng yӃu tӕ quan trӑng Mӝt sӕ máy tính có rҩt hay tҫm nhìn ngѭӡi dùng Thí dө, máy tính ÿѭӧc nhúng vào thiӃt bӏ gia ÿình xe ôtô có thӇ có mӝt bҧng sӕ ÿèn hiӇn thӏ trҥng thái mӣ, tҳt nhѭng hҫu hӃt chúng hӋ ÿiӅu hành ÿѭӧc thiӃt kӃ ÿӇ chҥy mà không cҫn giao tiӃp Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 III.2 Tҫm nhìn hӋ thӕng Tӯ quan ÿiӇm cӫa máy tính, hӋ ÿiӅu hành chѭѫng trình gҫn gӫi vӟi phҫn cӭng Chúng ta có thӇ thҩy mӝt hӋ ÿiӅu hành nhѭ bӝ cҩp phát tài nguyên HӋ thӕng máy tính có nhiӅu tài nguyên - phҫn cӭng phҫn mӅm - mà có thӇ ÿѭӧc yêu cҫu ÿӇ giҧi quyӃt mӝt vҩn ÿӅ: thӡi gian CPU, không gian bӝ nhӟ, không gian lѭu trӳ tұp tin, thiӃt bӏ xuҩt/nhұp, HӋ ÿiӅu hành hoҥt ÿӝng nhѭ bӝ quҧn lý tài nguyên Ĉѭѫng ÿҫu vӟi mӝt lѭӧng lӟn yêu cҫu có thӇ xung ÿӝt vӅ tài nguyên, hӋ ÿiӅu hành phҧi quyӃt ÿӏnh cách cҩp phát tài nguyên tӟi nhӳng chѭѫng trình cө thӇ ngѭӡi dùng ÿӇ có thӇ ÿiӅu hành hӋ thӕng máy tính hӳu hiӋu công bҵng Mӝt tҫm nhìn khác cӫa hӋ ÿiӅu hành nhҩn mҥnh sӵ cҫn thiӃt ÿӇ ÿiӅu khiӇn thiӃt bӏ xuҩt/nhұp khác chѭѫng trình ngѭӡi dùng Mӝt hӋ ÿiӅu hành mӝt chѭѫng trình ÿiӅu khiӇn Chѭѫng trình ÿiӅu khiӇn quҧn lý sӵ thӵc thi cӫa chѭѫng trình ngѭӡi dùng ÿӇ ngăn chһn lӛi viӋc sӱ dөng không hӧp lý máy tính Nó ÿһc biӋt quan tâm vӟi nhӳng thao tác ÿiӅu khiӇn thiӃt bӏ nhұp/xuҩt Nhìn chung, ÿӏnh nghƭa hoàn toàn ÿҫy ÿӫ vӅ hӋ ÿiӅu hành Các hӋ ÿiӅu hành tӗn tҥi chúng cách hӧp lý ÿӇ giҧi quyӃt vҩn ÿӅ tҥo mӝt hӋ thӕng máy tính có thӇ sӱ dөng Mөc tiêu cѫ bҧn cӫa hӋ thӕng máy tính thӵc thi chѭѫng trình ngѭӡi dùng giҧi quyӃt vҩn ÿӅ ngѭӡi dùng dӉ dàng hѫn Hѭӟng ÿӃn mөc tiêu này, phҫn cӭng máy tính ÿѭӧc xây dӵng Tuy nhiên, chӍ ÿѫn thuҫn phҫn cӭng không dӉ sӱ dөng phát triӇn chѭѫng trình ӭng dөng Các chѭѫng trình khác ÿòi hӓi nhӳng thao tác chung ÿó, chҷng hҥn nhѭ ÿiӅu khiӇn thiӃt bӏ xuҩt/nhұp Sau ÿó, nhӳng chӭc chung vӅ ÿiӅu khiӇn cҩp phát tài nguyên ÿѭӧc ÿһt lҥi vӟi vào mӝt bӝ phұn phҫn mӅm gӑi hӋ ÿiӅu hành CNJng ÿӏnh nghƭa bao quát ÿѭӧc chҩp nhұn ÿӇ xác ÿӏnh phҫn thuӝc vӅ hӋ ÿiӅu hành, phҫn không Mӝt quan ÿiӇm ÿѫn giҧn mӑi thӭ liên quan lӋnh hӋ ÿiӅu hành nên ÿѭӧc xem xét Tuy nhiên, nhӳng yêu cҫu vӅ bӝ nhӟ nhӳng ÿһc ÿiӇm bên rҩt khác tӯng hӋ thӕng Mӝt ÿӏnh nghƭa bao quát hѫn vӅ hӋ ÿiӅu hành mӝt chѭѫng trình chҥy liên tөc máy tính (thѭӡng gӑi nhân kernel), nhӳng chѭѫng trình lҥi thuӝc vӅ chѭѫng trình ӭng dөng III.3 Mөc tiêu hӋ thӕng Ĉӏnh nghƭa nhӳng hӋ ÿiӅu hành làm dӉ hѫn xác ÿӏnh hӋ ÿiӅu hành Mөc ÿích cӫa hӋ ÿiӅu hành dӉ dàng sӱ dөng Vì sӵ tӗn tҥi cӫa hӋ ÿiӅu hành hӛ trӧ nhiӅu cho máy tính viӋc ÿáp ӭng ӭng dөng cӫa ngѭӡi dùng Tҫm nhìn ÿһc biӋt rõ ràng hѫn nhìn hӋ ÿiӅu hành máy tính cá nhân Mөc tiêu thӭ hai cӫa hӋ ÿiӅu hành ÿiӅu hành hӳu hiӋn hӋ thӕng máy tính Mөc tiêu ÿһc biӋt quan trӑng cho hӋ thӕng lӟn, ÿѭӧc chia sҿ, nhiӅu ngѭӡi dùng Nhӳng hӋ thӕng tiêu biӇu ÿҳt, khai thác hiӋu quҧ nhҩt hӋ thӕng ÿiӅu mong muӕn Tuy nhiên, hai mөc tiêu tiӋn dөng hӳu hiӋu ÿôi mâu thuүn Trong khӭ, xem xét tính hӳu hiӋu thѭӡng quan trӑng hѫn tính tiӋn dөng Do ÿó, lý thuyӃt hӋ ÿiӅu hành tұp trung nhiӅu vào viӋc tӕi ѭu hoá sӱ dөng tài nguyên tính toán HӋ ÿiӅu hành cNJng phát triӇn dҫn theo thӡi gian Thí dө, UNIX bҳt ÿҫu vӟi bàn phím máy in nhѭ giao diӋn cӫa giӟi hҥn tính tiӋn dөng ÿӕi vӟi ngѭӡi dùng Qua thӡi gian, phҫn cӭng thay ÿәi UNIX ÿѭӧc gҳn vào phҫn cӭng mӟi vӟi giao diӋn thân thiӋn vӟi ngѭӡi dùng hѫn NhiӅu giao diӋn ngѭӡi dùng ÿӗ hoҥ GUIs (graphical user interfaces) ÿѭӧc bә sung cho phép tiӋn dөng hѫn vӟi ngѭӡi dùng vүn quan tâm tính hiӋu quҧ Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 ThiӃt kӃ hӋ ÿiӅu hành mӝt công viӋc phӭc tҥp Ngѭӡi thiӃt kӃ gһp phҧi nhiӅu sӵ thoҧ hiӋp thiӃt kӃ cài ÿһt NhiӅu ngѭӡi tham gia không chӍ mang ÿӃn hӋ ÿiӅu hành nhӳng lӧi ÿiӇm mà liên tөc xem xét nâng cҩp ĈӇ thҩy rõ nhӳng hӋ ÿiӅu hành nhӳng hӋ ÿiӅu hành làm, xem xét cách chúng phát triӇn bӕn mѭѫi lăm năm qua Bҵng cách lҫn theo sӵ tiӃn triӇn, có thӇ xác ÿӏnh nhӳng thành phҫn cӫa hӋ ÿiӅu hành thҩy cách thӭc lý hӋ ÿiӅu hành phát triӇn nhѭ chúng có HӋ ÿiӅu hành kiӃn trúc máy tính có mӕi quan hӋ khăng khít ĈӇ dӉ dàng sӱ dөng phҫn cӭng, hӋ ÿiӅu hành ÿѭӧc phát triӇn Sau ÿó, ngѭӡi dùng hӋ ÿiӅu hành ÿӅ nghӏ nhӳng chuyӇn ÿәi thiӃt kӃ phҫn cӭng ÿӇ ÿѫn giҧn chúng Nhìn lҥi lӏch sӱ ngҳn ngӫi này, trӑng cách giҧi quyӃt nhӳng vҩn ÿӅ vӅ hӋ ÿiӅu hành ÿӇ giӟi thiӋu nhӳng ÿһc ÿiӇm phҫn cӭng IV HӋ thӕng mainframe Nhӳng hӋ thӕng máy tính mainframe nhӳng máy tính ÿҫu tiên ÿѭӧc dùng ÿӇ xӱ lý ӭng dөng thѭѫng mҥi khoa hӑc Trong phҫn này, lҫn theo sӵ phát triӇn cӫa hӋ thӕng mainframe tӯ hӋ thӕng bó (batch systems), ӣ ÿó máy tính chӍ chҥy mӝt-và chӍ mӝt -ӭng dөng, tӟi hӋ chia sҿ thӡi gian (time-shared systems), mà cho phép ngѭӡi dùng giao tiӃp vӟi hӋ thӕng máy tính IV.1 HӋ thӕng bó Nhӳng máy tính thӡi kǤ ÿҫu nhӳng máy cӵc lӟn chҥy tӯ mӝt thiӃt bӏ cuӕi (console) Nhӳng thiӃt bӏ nhұp thѭӡng nhӳng bӝ ÿӑc thҿ ә ÿƭa băng tӯ Các thiӃt bӏ xuҩt thông thѭӡng thѭӡng nhӳng máy in dòng (line printers), ә ÿƭa tӯ phiӃu ÿөc lӛ Ngѭӡi dùng không giao tiӃp trӵc tiӃp vӟi hӋ thӕng máy tính Thay vào ÿó, ngѭӡi dùng chuҭn bӏ mӝt công viӋc- chӭa chѭѫng trình, dӳ liӋu thông tin ÿiӅu khiӇn vӅ tính tӵ nhiên cӫa công viӋc-và gӣi ÿӃn ngѭӡi ÿiӅu hành máy tính Công viӋc thѭӡng ÿѭӧc thӵc hiӋn phiӃu ÿөc lӛ Tҥi nhӳng thӡi ÿiӇm sau ÿó (sau vài phút, giӡ hay ngày), dӳ liӋu xuҩt xuҩt hiӋn Dӳ liӋu xuҩt chӭa kӃt quҧ chѭѫng trình cNJng nhѭ kӃt xuҩt bӝ nhӟ cuӕi nӝi dung ghi cho viӋc gӣ rӕi HӋ ÿiӅu hành máy tính thӡi kǤ ÿҫu tѭѫng ÿӕi ÿѫn giҧn Tác vө chuyӇn ÿiӅu khiӇn tӵ ÿӝng tӯ mӝt công viӋc sang công viӋc khác HӋ ÿiӅu hành ÿѭӧc thѭӡng trú bӝ nhӟ HӋ ÿiӅu hành Vùng chѭѫng trình ngѭӡi dùng Hình 0-2 Sҳp xӃp bӝ nhӟ cho mӝt hӋ thӕng bó ÿѫn giҧn Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 ĈӇ tăng tӕc viӋc xӱ lý, ngѭӡi ÿiӅu hành bó công viӋc có yêu cҫu chҥy chúng thông qua máy tính nhѭ mӝt nhóm Do ÿó, lұp trình viên sӁ ÿѭa chѭѫng trình cӫa hӑ cho ngѭӡi ÿiӅu hành Ngѭӡi ÿiӅu hành sӁ sҳp xӃp chѭѫng trình thành nhӳng bó vӟi yêu cҫu máy tính sҷn dùng sӁ chҥy mӛi bó Dӳ liӋu xuҩt tӯ mӛi công viӋc sӁ gӣi lҥi cho lұp trình viên tѭѫng ӭng Trong môi trѭӡng thӵc thi này, CPU rҧnh tӕc ÿӝ cӫa thiӃt bӏ xuҩt/nhұp dҥng cѫ thӵc chҩt chұm hѫn tӕc ÿӝ cӫa thiӃt bӏ ÿiӋn Ngay cҧ mӝt CPU chұm (vӟi hàng ngàn chӍ thӏ lӋnh ÿѭӧc thӵc thi giây) cNJng chӍ làm viӋc vài phҫn trăm giây Thêm vào ÿó, mӝt bӝ ÿӑc thҿ nhanh có thӇ ÿӑc 1200 thҿ thӡi gian phút (hay 20 thҿ giây) Do ÿó, sӵ khác biӋt giӳa tӕc ÿӝ CPU thiӃt bӏ xuҩt/nhұp cӫa có thӇ lҫn hay nhiӅu hѫn Dƭ nhiên theo thӡi gian, sӵ tiӃn bӝ công nghӋ dүn ÿӃn sӵ ÿӡi nhӳng thiӃt bӏ nhұp/xuҩt nhanh hѫn Tuy nhiên, tӕc ÿӝ CPU tăng tӟi mӝt tӹ lӋ lӟn hѫn thӃ vҩn ÿӅ không nhӳng không ÿѭӧc giҧi quyӃt mà làm tăng Giӟi thiӋu công nghӋ ÿƭa cho phép hӋ ÿiӅu hành giӳ tҩt cҧ công viӋc mӝt ÿƭa hѫn mӝt bӝ ÿӑc thҿ tuҫn tӵ Vӟi viӋc truy xuҩt trӵc tiӃp tӟi nhiӅu công viӋc, hӋ ÿiӅu hành có thӇ thӵc hiӋn ÿӏnh thӡi công viӋc, ÿӇ sӱ dөng tài nguyên thӵc hiӋn tác vө hӳu hiӋu IV.2 HӋ ÿa chѭѫng Mӝt khía cҥnh quan trӑng nhҩt cӫa ÿӏnh thӡi công viӋc khҧ ÿa chѭѫng Thông thѭӡng, mӝt ngѭӡi dùng giӳ CPU hay thiӃt bӏ xuҩt/nhұp bұn Ĉa chѭѫng gia tăng khҧ sӱ dөng CPU bҵng cách tә chӭc công viӋc ÿӇ CPU có mӝt công viӋc ÿӇ thӵc thi Ý tѭӣng cӫa kӻ thuұt ÿa chѭѫng có thӇ minh hoҥ nhѭ sau: HӋ ÿiӅu hành giӳ nhiӅu công viӋc bӝ nhӟ tҥi mӝt thӡi ÿiӇm Tұp hӧp công viӋc tұp cӫa công viӋc ÿѭӧc giӳ vùng công viӋc-bӣi sӕ lѭӧng công viӋc có thӇ ÿѭӧc giӳ lúc bӝ nhӟ thѭӡng nhӓ hѫn sӕ công viӋc có thӇ có vùng ÿӋm HӋ ÿiӅu hành sӁ lҩy bҳt ÿҫu thӵc thi mӝt công viӋc có bӝ nhӟ Cuӕi cùng, công viӋc phҧi chӡ mӝt vài tác vө nhѭ mӝt thao tác xuҩt/nhұp ÿӇ hoàn thành Trong hӋ thӕng ÿѫn chѭѫng, CPU sӁ chӡ ӣ trҥng thái rӛi Trong hӋ thӕng ÿa chѭѫng, hӋ ÿiӅu hành sӁ chuyӇn sang thӵc thi công viӋc khác Cuӕi cùng, công viӋc ÿҫu tiên kӃt thúc viӋc chӡ nhұn CPU trӣ lҥi ChӍ cҫn nhҩt mӝt công viӋc cҫn thӵc thi, CPU sӁ không bao giӡ ӣ trҥng thái rӛi HӋ ÿiӅu hành Công viӋc Công viӋc Công viӋc 512K Công viӋc Hình 0-3 Sҳp xӃp bӝ nhӟ cho hӋ ÿa chѭѫng Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 Ĉa chѭѫng mӝt trѭӡng hӧp ÿҫu tiên hӋ ÿiӅu hành phҧi thӵc hiӋn quyӃt ÿӏnh cho nhӳng ngѭӡi dùng Do ÿó, hӋ ÿiӅu hành ÿa chѭѫng tѭѫng ÿӕi tinh vi Tҩt cҧ công viӋc ÿѭa vào hӋ thӕng ÿѭӧc giӳ vùng công viӋc Vùng chӭa tҩt cҧ trình ÿӏnh vӏ ÿƭa chӡ ÿѭӧc cҩp phát bӝ nhӟ NӃu nhiӅu công viӋc sҷn sàng ÿѭӧc mang vào bӝ nhӟ nӃu không ÿӫ không gian cho tҩt cҧ hӋ ÿiӅu hành phҧi chӑn mӝt chúng Khi hӋ ÿiӅu hành chӑn mӝt công viӋc tӯ vùng công viӋc, nҥp công viӋc ÿó vào bӝ nhӟ ÿӇ thӵc thi Có nhiӅu chѭѫng trình bӝ nhӟ tҥi thӡi ÿiӇm yêu cҫu phҧi có sӵ quҧn lý bӝ nhӟ Ngoài ra, nӃu nhiӅu công viӋc sҷn sàng chҥy thӡi ÿiӇm, hӋ thӕng phҧi chӑn mӝt chúng Thӵc hiӋn quyӃt ÿӏnh ÿӏnh thӡi CPU Cuӕi cùng, nhiӅu công viӋc chҥy ÿӗng hành ÿòi hӓi hoҥt ÿӝng cӫa chúng có thӇ ҧnh hѭӣng tӟi mӝt công viӋc khác bӏ hҥn chӃ tҩt cҧ giai ÿoҥn cӫa hӋ ÿiӅu hành bao gӗm ÿӏnh thӡi trình, lѭu trӳ ÿƭa, quҧn lý bӝ nhӟ IV.3 HӋ chia thӡi HӋ thӕng bó-ÿa chѭѫng cung cҩp mӝt môi trѭӡng nѫi mà nhiӅu tài nguyên khác (chҷng hҥn nhѭ CPU, bӝ nhӟ, thiӃt bӏ ngoҥi vi) ÿѭӧc sӱ dөng hiӋu quҧ Tuy nhiên, không cung cҩp giao tiӃp ngѭӡi dùng vӟi hӋ thӕng máy tính Chia thӡi (hay ÿa nhiӋm) sӵ mӣ rӝng luұn lý cӫa ÿa chѭѫng CPU thӵc thi nhiӅu công viӋc bҵng cách chuyӇn ÿәi qua lҥi giӳa chúng, nhѭng nhӳng chuyӇn ÿәi xҧy thѭӡng xuyên ÿӇ ngѭӡi dùng có thӇ giao tiӃp vӟi mӛi chѭѫng trình chҥy Mӝt hӋ thӕng máy tính giao tiӃp (interactive computer) hay thӵc hành (handson computer system) cung cҩp giao tiӃp trӵc tuyӃn giӳa ngѭӡi dùng hӋ thӕng Ngѭӡi dùng cho nhӳng chӍ thӏ tӟi hӋ ÿiӅu hành hay trӵc tiӃp tӟi mӝt chѭѫng trình, sӱ dөng bàn phím hay chuӝt chӡ nhұn kӃt quҧ tӭc Do ÿó, thӡi gian ÿáp ӭng nên ngҳn-ÿiӇn hình phҥm vi giây hay hѫn Mӝt hӋ thӕng chia thӡi cho phép nhiӅu ngѭӡi dùng chia sҿ máy tính mӝt thӡi ÿiӇm Vì mӛi hoҥt ÿӝng hay lӋnh hӋ chia thӡi ÿѭӧc phөc vө ngҳn, chӍ mӝt thӡi gian CPU ÿѭӧc yêu cҫu cho mӛi ngѭӡi dùng Khi hӋ thӕng nhanh chóng chuyӇn tӯ mӝt ngѭӡi dùng sang ngѭӡi dùng kӃ, mӛi ngѭӡi dùng ÿѭӧc cho cҧm giác rҵng toàn bӝ hӋ thӕng máy tính ÿѭӧc tұn hiӃn cho mình, nhѭng thұt sӵ máy tính ÿó ÿang ÿѭӧc chia sҿ cho nhiӅu ngѭӡi dùng Mӝt hӋ ÿiӅu hành chia thӡi sӱ dөng ÿӏnh thӡi CPU ÿa chѭѫng ÿӇ cung cҩp mӛi ngѭӡi dùng vӟi mӝt phҫn nhӓ cӫa máy tính chia thӡi Mӛi ngѭӡi dùng có nhҩt mӝt chѭѫng trình riêng bӝ nhӟ Mӝt chѭѫng trình ÿѭӧc nҥp vào bӝ nhӟ thӵc thi thѭӡng ÿѭӧc gӑi mӝt trình Khi mӝt trình thӵc thi, ÿiӇn hình thӵc thi chӍ tҥi mӝt thӡi ÿiӇm ngҳn trѭӟc kӃt thúc hay cҫn thӵc hiӋn xuҩt/nhұp Xuҩt/nhұp có thӇ ÿѭӧc giao tiӃp; nghƭa dӳ liӋu xuҩt hiӇn thӏ hình cho ngѭӡi dùng dӳ liӋu nhұp tӯ bàn phím, chuӝt hay thiӃt bӏ khác Vì giao tiӃp xuҩt/nhұp chӫ yӃu chҥy ӣ “tӕc ÿӝ ngѭӡi dùng”, có thӇ mҩt mӝt khoҧng thӡi gian dài ÿӇ hoàn thành Thí dө, dӳ liӋu nhұp có thӇ bӏ giӟi hҥn bӣi tӕc ÿӝ nhұp cӫa ngѭӡi dùng; ký tӵ giây nhanh ÿӕi vӟi ngѭӡi dùng, nhѭng chұm so vӟi máy tính Thay ÿӇ CPU rҧnh ngѭӡi dùng nhұp liӋu, hӋ ÿiӅu hành sӁ nhanh chóng chuyӇn CPU tӟi mӝt chѭѫng trình khác HӋ ÿiӅu hành chia thӡi phӭc tҥp hѫn nhiӅu so vӟi hӋ ÿiӅu hành ÿa chѭѫng Trong cҧ hai dҥng, nhiӅu công viӋc ÿѭӧc giӳ lúc bӝ nhӟ thӃ hӋ thӕng phҧi có cѫ chӃ quҧn lý bӝ nhӟ bҧo vӋ ĈӇ ÿҥt ÿѭӧc thӡi gian ÿáp ӭng hӧp lý, công viӋc có thӇ ÿѭӧc hoán vӏ vào bӝ nhӟ Mӝt phѭѫng pháp chung ÿӇ ÿҥt mөc tiêu bӝ nhӟ ҧo, kӻ thuұt cho phép viӋc thӵc thi cӫa mӝt công viӋc có thӇ không hoàn toàn ӣ bӝ nhӟ Ѭu ÿiӇm cӫa cѫ chӃ bӝ nhӟ ҧo chѭѫng Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 ÿѭӧc tҥo Trong trѭӡng hӧp này, hӋ ÿiӅu hành phҧi có cҩu trúc dӳ liӋu hӧp lý giҧi thuұt ÿӇ hӛ trӧ cҧ hai phѭѫng pháp cҩp phát Các tұp tin có thӇ ÿѭӧc chuyӇn tӯ mӝt kiӇu sang mӝt kiӇu khác bҵng cách tҥo mӝt tұp tin mӟi cӫa loҥi mong muӕn nӝi dung cӫa tұp tin cNJ ÿѭӧc chép vào tұp tin mӟi Sau ÿó, tұp tin cNJ có thӇ bӏ xoá tұp tin mӟi ÿѭӧc ÿәi tên Cҩp phát dҥng chӍ mөc phӭc tҥp hѫn NӃu khӕi chӍ mөc ÿã ӣ bӝ nhӟ rӗi truy xuҩt có thӇ ÿѭӧc thӵc hiӋn trӵc tiӃp Tuy nhiên, giӳ khӕi chӍ mөc bӝ nhӟ yêu cҫu không gian có thӇ xem xét NӃu không gian bӝ nhӟ không sҷn dùng phҧi ÿӑc trѭӟc khӕi chӍ mөc sau ÿó khӕi dӳ liӋu mong muӕn Ĉӕi vӟi chӍ mөc hai cҩp, ÿӑc hai khӕi chӍ mөc cҫn thiӃt Ĉӕi vӟi tұp tin rҩt lӟn, truy xuҩt mӝt khӕi gҫn cuӕi tұp tin yêu cҫu ÿӑc tҩt cҧ khӕi chӍ mөc ÿӇ lҫn theo chuӛi trӓ trѭӟc khӕi dӳ liӋu ÿѭӧc yêu cҫu cuӕi ÿѭӧc ÿӑc Do ÿó, lӵc cӫa cҩp phát chӍ mөc phө thuӝc cҩu trúc chӍ mөc kích thѭӟc tұp tin vӏ trí cӫa khӕi mong muӕn Mӝt sӕ hӋ thӕng kӃt hӧp cҩp phát kӅ cҩp phát chӍ mөc bҵng cách dùng cҩp phát kӅ cho tұp tin nhӓ (ba hay bӕn khӕi) tӵ ÿӝng chuyӇn tӟi cҩp phát chӍ mөc nӃu tұp tin lӟn lên Vì hҫu hӃt tұp tin nhӓ cҩp phát kӅ hiӋu quҧ cho tұp tin nhӓ, lӵc trung bình rҩt tӕt NhiӅu tӕi ѭu khác có thӇ ÿang ÿѭӧc dùng Vӟi sӵ chênh lӋch tӕc ÿӝ giӳa CPU ÿƭa, không hӧp lý ÿӇ thêm hàng ngàn chӍ thӏ tӟi hӋ ÿiӅu hành ÿӇ tiӃt kiӋm chӍ mӝt vài di chuyӇn cӫa ÿҫu ÿӑc Ngoài ra, sӵ chênh lӋch tăng theo thӡi gian, tӟi ÿiӇm nѫi mà hàng trăm cӫa hàng ngàn chӍ thӏ phù hӧp có thӇ ÿѭӧc dùng ÿӇ tӕi ѭu sӵ di chuyӇn cӫa ÿҫu ÿӑc VIIQuҧn lý không gian trӕng Vì không gian trӕng giӟi hҥn nên cҫn dùng lҥi không gian tӯ tұp tin bӏ xoá cho tұp tin mӟi nӃu có thӇ ĈӇ giӳ vӃt cӫa không gian ÿƭa trӕng, hӋ thӕng trì mӝt danh sách không gian trӕng Danh sách không gian trӕng ghi lҥi tҩt cҧ khӕi ÿƭa trӕng ĈӇ tҥo tұp tin, tìm danh sách không gian trӕng lѭӧng không gian ÿѭӧc yêu cҫu cҩp phát không gian ÿó tӟi tұp tin mӟi Sau ÿó, không gian ÿѭӧc xoá tӯ danh sách không gian trӕng Khi mӝt tұp tin bӏ xoá, không gian ÿƭa cӫa ÿѭӧc thêm vào danh sách không gian trӕng Mһc dù tên cӫa danh sách nhѭng danh sách không gian trӕng có thӇ không ÿѭӧc cài nhѭ mӝt danh sách VII.1 Bit vector Thѭӡng danh sách không gian trӕng ÿѭӧc cài ÿһt nhѭ mӝt bҧn ÿӗ bit (bit map) hay mӝt vector bit (bit vector) Mӛi khӕi ÿѭӧc biӇu diӉn bӣi bit NӃu khӕi trӕng, bit cӫa ÿѭӧc ÿһt 1, nӃu khӕi ÿѭӧc cҩp phát bit cӫa ÿѭӧc ÿһt Thí dө, xét mӝt ÿƭa khӕi 2, 3, 4, 5, 8, 9, 10, 11, 12, 13, 17, 18, 25, 26, 27 trӕng khӕi lҥi ÿѭӧc cҩp phát Bҧn ÿӗ bit không gian trӕng sӁ là: 001111001111110001100000011100000… Lӧi ÿiӇm cӫa tiӃp cұn tính tѭѫng ÿӕi ÿѫn giҧn hiӋu quҧ cӫa viӋc tìm khӕi trӕng ÿҫu tiên, hay n khӕi trӕng tiӃp theo ÿƭa Mӝt lҫn nӳa, thҩy ÿһc ÿiӇm phҫn cӭng ÿӏnh hѭӟng chӭc phҫn mӅm Tuy nhiên, vector bit không ÿӫ trӯ toàn bӝ vector ÿѭӧc giӳ bӝ nhӟ Giӳ bӝ nhӟ có thӇ cho ÿƭa nhӓ hѫn, nhѭ máy vi tính nhѭng không thӇ cho máy lӟn hѫn Mӝt ÿƭa 1.3 GB vӟi khӕi 512 Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 237 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 bytes sӁ cҫn mӝt bҧn ÿӗ bit 332 KB ÿӇ ghi lҥi khӕi trӕng Gom bӕn khӕi vào mӝt nhóm có thӇ giҧm sӕ xuӕng 83 KB ÿƭa VII.2 Danh sách liên kӃt Hình 0-10 danh sách không gian trӕng ÿѭӧc liên kӃt ÿƭa Mӝt tiӃp cұn khác ÿӇ quҧn lý bӝ nhӟ trӕng liên kӃt tҩt cҧ khӕi trӕng, giӳ mӝt trӓ tӟi khӕi trӕng ÿҫu tiên mӝt vӏ trí ÿһc biӋt ÿƭa lѭu bӝ nhӟ Khӕi ÿҫu tiên chӭa trӓ chӍ tӟi khӕi ÿƭa trӕng tiӃp theo, Trong thí dө trên, có thӇ giӳ mӝt trӓ chӍ tӟi khӕi nhѭ khӕi trӕng ÿҫu tiên Khӕi sӁ chӭa mӝt trӓ chӍ tӟi khӕi 3, khӕi sӁ chӍ tӟi khӕi 4,…(nhѭ hình X-10) Tuy nhiên, cѫ chӃ không hiӋu quҧ ÿӇ duyӋt danh sách, phҧi ÿӑc mӛi khӕi, yêu cҫu thӡi gian nhұp/xuҩt ÿáng kӇ Tuy nhiên, duyӋt danh sách trӕng không hoҥt ÿӝng thѭӡng xuyên Thѭӡng thì, hӋ ÿiӅu hành cҫn mӝt khӕi trӕng ÿӇ mà có thӇ cҩp phát khӕi ÿó tӟi mӝt tұp tin, thӃ khӕi ÿҫu tiên danh sách trӕng ÿѭӧc dùng Phѭѫng pháp FAT kӃt hӧp vӟi ÿӃm khӕi trӕng thành cҩu trúc dӳ liӋu cҩp phát VII.3 Nhóm Thay ÿәi tiӃp cұn danh sách trӕng ÿӇ lѭu ÿӏa chӍ cӫa n khӕi trӕng khӕi trӕng ÿҫu tiên n-1 khӕi ÿҫu tiên thұt sӵ khӕi trӕng Khӕi cuӕi chӭa ÿӏa chӍ cӫa n khӕi trӕng khác, …Sӵ quan trӑng cӫa viӋc cài ÿһt ÿӏa chӍ cӫa mӝt sӕ lѭӧng lӟn khӕi trӕng có thӇ ÿѭӧc tìm thҩy nhanh chóng, không giӕng nhѭ tiӃp cұn danh sách liên kӃt chuҭn VII.4 Bӝ ÿӃm Mӝt tiӃp cұn khác ÿҥt ÿѭӧc lӧi ÿiӇm thӵc tӃ nhiӅu khӕi kӅ có thӇ ÿѭӧc cҩp phát giҧi phóng lúc, ÿһc biӋt không gian ÿѭӧc cҩp phát vӟi giҧi thuұt cҩp phát kӅ hay thông qua nhóm Do ÿó, thay giӳ mӝt danh sách n ÿӏa chӍ ÿƭa trӕng, có thӇ giӳ ÿӏa chӍ cӫa khӕi trӕng ÿҫu tiên sӕ n khӕi kӅ trӕng theo sau khӕi ÿҫu tiên Mӛi mөc tӯ danh sách không gian trӕng sau ÿó chӭa mӝt ÿӏa chӍ ÿƭa bӝ ÿӃm Mһc dù mӛi mөc tӯ yêu cҫu nhiӅu không gian hѫn mӝt ÿӏa chӍ ÿƭa ÿѫn, nhѭng toàn bӝ danh sách sӁ ngҳn hѫn vӟi ÿiӅu kiӋn bӝ ÿӃm lӟn hѫn Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 238 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 VIII Tóm tҳt HӋ thӕng tұp tin ÿӏnh vӏ không ÿәi thiӃt bӏ lѭu trӳ phө ÿѭӧc thiӃt kӃ ÿӇ quҧn lý mӝt lѭӧng lӟn dӳ liӋu không ÿәi Phѭѫng tiӋn lѭu trӳ phө phә biӃn nhҩt ÿƭa Ĉƭa vұt lý có thӇ ÿѭӧc chia thành nhiӅu phân khu ÿӇ ÿiӅu khiӇn viӋc sӱ dөng phѭѫng tiӋn cho phép nhiӅu hӋ thӕng tұp tin (có thӇ khác nhau) ÿƭa Các hӋ thӕng tұp tin ÿѭӧc gҳn vào kiӃn trúc hӋ thӕng tұp tin luұn lý ÿӇ làm cho chúng sҷn dùng Các hӋ thӕng tұp tin thѭӡng ÿѭӧc cài ÿһt mӝt kiӃn trúc phân tҫng hay module Nhӳng cҩp thҩp hѫn giҧi quyӃt thuӝc tính vұt lý cӫa thiӃt bӏ lѭu trӳ Cҩp cao hѫn giҧi quyӃt tên tұp tin biӇu tѭӧng thuӝc tính luұn lý cӫa tұp tin Các cҩp trung gian ánh xҥ khái niӋm tұp tin luұn lý thành thuӝc tính thiӃt bӏ vұt lý Mӛi kiӇu hӋ thӕng tұp tin có cҩu trúc giҧi thuұt khác Mӝt tҫng VFS cho phép tҫng cao hѫn giҧi quyӃt mӛi kiӇu hӋ thӕng tұp tin khác mӝt cách Ngay cҧ hӋ thӕng tұp tin ӣ xa có thӇ ÿѭӧc tích hӧp vào cҩu trúc thѭ mөc cӫa hӋ thӕng ÿѭӧc hoҥt ÿӝng lӡi gӑi hӋ thӕng chuҭn bҵng giao diӋn VFS Nhӳng tұp tin khác có thӇ ÿѭӧc cҩp phát không gian ÿƭa cách: kӅ, liên kӃt hay chӍ mөc Cҩp phát kӅ có thӇ gһp phҧi sӵ phân mãnh Truy xuҩt trӵc tiӃp hiӋu quҧ vӟi cҩp phát liên kӃt Cҩp phát chӍ mөc yêu cҫu chi phí ÿáng kӇ cho khӕi chӍ mөc cӫa Các giҧi thuұt có thӇ tӕi ѭu nhiӅu cách Không gian kӅ có thӇ lӟn lên thông qua ÿoҥn mӣ rӝng ÿӇ tăng khҧ linh hoҥt giҧm phân mãnh Cҩp phát chӍ mөc có thӇ ÿѭӧc thӵc hiӋn viӋc nhóm nhiӅu khӕi ÿӇ tăng thông lѭӧng giҧm sӕ lѭӧng mөc tӯ chӍ mөc ÿѭӧc yêu cҫu Lұp chӍ mөc nhóm tѭѫng tӵ nhѭ cҩp phát kӅ vӟi ÿoҥn mӣ rӝng Các phѭѫng pháp cҩp phát không gian trӕng cNJng ҧnh hѭӣng tӟi tính hiӋu quҧ cӫa không gian ÿƭa, lӵc hӋ thӕng tұp tin khҧ tin cұy cӫa thiӃt bӏ lѭu trӳ phө Các phѭѫng pháp ÿѭӧc dùng gӗm vector bit danh sách liên kӃt Các tӕi ѭu gӗm nhóm, ÿӃm FAT, mà ÿһt danh sách liên kӃt mӝt vùng kӅ Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 239 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 QUҦN LÝ Hӊ THӔNG NHҰP/XUҨT Mөc ÿích I Sau hӑc xong chѭѫng này, ngѭӡi hӑc nҳm ÿѭӧc nhӳng kiӃn thӭc sau: x x x x HiӇu cѫ sӣ cӫa phҫn cӭng nhұp/xuҩt HiӇu dӏch vө nhұp/xuҩt ÿѭӧc cung cҩp bӣi hӋ ÿiӅu hành HiӇu cách hӋ ÿiӅu hành làm cҫu nӕi giӳa giao diӋn phҫn cӭng giao diӋn ӭng dөng BiӃt khía cҥnh lӵc cӫa nhұp/xuҩt nguyên lý thiӃt kӃ hӋ ÿiӅu hành ÿӇ cҧi tiӃn lӵc nhұp/xuҩt II Giӟi thiӋu Vai trò cӫa hӋ ÿiӅu hành nhұp/xuҩt máy tính quҧn lý ÿiӅu khiӇn thao tác nhұp/xuҩt thiӃt bӏ nhұp/xuҩt Trong chѭѫng sӁ mô tҧ khái niӋm cѫ bҧn cӫa phҫn cӭng nhұp/xuҩt KӃ ÿӃn sӁ thҧo luұn dӏch vө nhұp/xuҩt ÿѭӧc cung cҩp bӣi hӋ ÿiӅu hành hiӋn thân cӫa dӏch vө giao diӋn ӭng dөng nhұp/xuҩt Sau ÿó, giҧi thích hӋ ÿiӅu hành làm cҫu nӕi giӳa giao diӋn phҫn cӭng giao diӋn ӭng dөng nhѭ thӃ Cuӕi cùng, thҧo luұn khía cҥnh lӵc cӫa nhұp/xuҩt nguyên lý thiӃt kӃ hӋ ÿiӅu hành ÿӇ cҧi tiӃn lӵc nhұp/xuҩt III Các khái niӋm cѫ bҧn ĈiӅu khiӇn thiӃt bӏ ÿѭӧc nӕi kӃt tӟi máy tính mӕi quan tâm chӫ yӃu cӫa ngѭӡi thiӃt kӃ hӋ ÿiӅu hành Vì thiӃt bӏ nhұp/xuҩt rҩt khác vӅ chӭc tӕc ÿӝ (xem xét chuӝt, ÿƭa cӭng, CD-ROM) nên sӵ ÿa dҥng vӅ phѭѫng pháp cҫn thiӃt ÿӇ ÿiӅu khiӇn chúng Các phѭѫng pháp hình thành mӝt hӋ thӕng nhұp/xuҩt (I/O subsystem) cӫa nhân, tách rӡi phҫn lҥi cӫa nhân tӯ sӵ phӭc tҥp cӫa viӋc quҧn lý thiӃt bӏ nhұp/xuҩt Công nghӋ thiӃt bӏ nhұp/xuҩt thӇ hiӋn hai xu hѭӟng trái ngѭӧc Xu hѭӟng thӭ nhҩt, tăng sӵ chuҭn hoá phҫn mӅm giao diӋn phҫn cӭng Xu hѭӟng giúp hӧp tác nhӳng thӃ hӋ thiӃt bӏ ÿѭӧc cҧi tiӃn vào máy tính hӋ ÿiӅu hành ÿã có Xu hѭӟng thӭ hai, tăng sӵ ÿa dҥng cӫa thiӃt bӏ nhұp/xuҩt ThiӃt bӏ mӟi rҩt khác vӟi thiӃt bӏ trѭӟc ÿó ÿã tҥo mӝt trӣ ngҥi ÿӇ hӧp nhҩt chúng vào máy tính hӋ ÿiӅu hành cӫa Trӣ ngҥi ÿѭӧc giҧi quyӃt bӣi sӵ kӃt hӧp kӻ thuұt phҫn cӭng phҫn mӅm Các thành phҫn phҫn cӭng nhұp/xuҩt cѫ bҧn nhѭ cәng, bus bӝ ÿiӅu khiӇn thiӃt bӏ chӭa mӝt dãy rӝng thiӃt bӏ nhұp/xuҩt ĈӇ ÿóng gói chi tiӃt sӵ khác biӋt cӫa thiӃt bӏ khác nhau, nhân cӫa hӋ ÿiӅu hành ÿѭӧc chӍ dүn ÿӇ dùng modules trình ÿiӅu khiӇn thiӃt bӏ Các trình ÿiӅu khiӇn thiӃt bӏ (device driver) hiӋn diӋn mӝt giao diӋn truy xuҩt thiӃt bӏ ÿӗng nhҩt tӟi hӋ thӕng nhұp/xuҩt, nhѭ lӡi gӑi hӋ thӕng cung cҩp mӝt giao diӋn chuҭn giӳa ӭng dөng hӋ ÿiӅu hành Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 242 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 IV Phҫn cӭng nhұp/xuҩt Các máy tính ÿiӅu hành nhiӅu loҥi thiӃt bӏ Hҫu hӃt chúng thuӝc chӫng loҥi phә biӃn nhѭ thiӃt bӏ lѭu trӳ (ÿƭa, băng tӯ), thiӃt bӏ truyӅn (card mҥng, modem) thiӃt bӏ giao diӋn ngѭӡi dùng (màn hình, bàn phím, chuӝt), Mһc dù có sӵ ÿa dҥng vӅ thiӃt bӏ nhұp/xuҩt, nhѭng chӍ cҫn hiӇu mӝt vài khái niӋm nhѭ thiӃt bӏ ÿѭӧc gán nhѭ thӃ phҫn mӅm có thӇ ÿiӅu khiӇn phҫn cӭng nhѭ thӃ Mӝt thiӃt bӏ giao tiӃp vӟi mӝt hӋ thӕng máy tính bҵng cách gӣi tín hiӋu qua dây cáp hay thұm chí qua không khí Các thiӃt bӏ giao tiӃp vӟi máy bҵng mӝt ÿiӇm nӕi kӃt (cәng-port) nhѭ cәng tuҫn tӵ NӃu mӝt hay nhiӅu thiӃt bӏ dùng mӝt tұp hӧp dây dүn, nӕi kӃt ÿѭӧc gӑi bus Mӝt bus mӝt tұp hӧp dây dүn giao thӭc ÿѭӧc ÿӏnh nghƭa chһt chӁ ÿӇ xác ÿӏnh tұp hӧp thông ÿiӋp có thӇ ÿѭӧc gӣi qua dây Trong thuұt ngӳ ÿiӋn tӱ, thông ÿiӋp ÿѭӧc truyӅn bӣi mүu ÿiӋn thӃ ÿiӋn tӱ ÿѭӧc áp dөng tӟi dây dүn vӟi thӡi gian ÿѭӧc xác ÿӏnh Khi thiӃt bӏ A có mӝt cáp gán vào thiӃt bӏ B, thiӃt bӏ B có mӝt cáp gán vào thiӃt bӏ C thiӃt bӏ C gán vào mӝt cәng máy tính, sӵ sҳp xӃp ÿѭӧc gӑi chuӛi nӕi tiӃp Mӝt chuӛi nӕi tiӃp thѭӡng ÿiӅu hành nhѭ mӝt bus IV.1 Thăm dò Giao thӭc hoàn chӍnh cho viӋc giao tiӃp giӳa máy tính bӝ ÿiӅu khiӇn rҩt phӭc tҥp nhѭng ký hiӋu bҳt tay (handshaking) ÿѫn giҧn Chúng ta giҧi thích bҳt tay bҵng thí dө sau Chúng ta giҧ sӱ rҵng bits ÿѭӧc dùng ÿӇ hӧp tác mӕi quan hӋ ngѭӡi sҧn xuҩt-ngѭӡi tiêu thө giӳa bӝ ÿiӅu khiӇn máy chӫ Bӝ ÿiӅu khiӇn hiӇn thӏ trҥng thái cӫa thông qua bit bұn (busy bit) ghi trҥng thái Bӝ ÿiӅu khiӇn ÿһt bit bұn ÿang làm viӋc xoá bit bұn sҷn sàng nhұn lӋnh tiӃp theo Máy tính tín hiӋu mong muӕn bҵng bit sҷn sàng nhұn lӋnh (command-ready bit) ghi lӋnh Máy tính thiӃt lұp bit sҷn sàng nhұn lӋnh mӝt lӋnh sҷn dùng cho bӝ ÿiӅu khiӇn thӵc thi Thí dө, máy tính viӃt dӳ liӋu xuҩt thông qua mӝt cәng, hӧp tác vӟi bӝ ÿiӅu khiӇn bҵng cách bҳt tay nhѭ sau: Máy tính lһp lҥi viӋc ÿӑc bit bұn cho tӟi bit bӏ xoá Máy tính thiӃt lұp bit viӃt ghi lӋnh viӃt mӝt byte vào ghi dӳ liӋu xuҩt Máy tính ÿһt bit sҷn sàng nhұn lӋnh Khi bӝ ÿiӅu khiӇn nhұn thҩy rҵng bit sҷn sàng nhұn lӋnh ÿѭӧc ÿһt, ÿһt bit bұn Bӝ ÿiӅu khiӇn ÿӑc ghi lӋnh thҩy lӋnh viӃt Nó ÿӑc ghi xuҩt dӳ liӋu ÿӇ lҩy mӝt byte thӵc hiӋn nhұp/xuҩt tӟi thiӃt bӏ Bӝ ÿiӅu khiӇn xoá bit sҷn sàng nhұn lӋnh, xoá bit lӛi ghi trҥng thái ÿӇ hiӇn thӏ rҵng thiӃt bӏ nhұp/xuҩt thành công, xoá bit bұn ÿӇ hiӇn thӏ rҵng ÿѭӧc kӃt thúc Vòng lһp ÿѭӧc lһp cho mӛi byte Trong bѭӟc 1, máy tính chӡ ÿӧi bұn hay thăm dò Nó ӣ mӝt vòng lһp, ÿӑc ghi trҥng thái cho ÿӃn bit bұn ÿѭӧc xoá NӃu bӝ ÿiӅu khiӇn thiӃt bӏ nhanh phѭѫng pháp mӝt phѭѫng pháp phù hӧp Nhѭng nӃu chӡ lâu máy chӫ chuyӇn sang mӝt tác vө khác Sau ÿó, máy tính làm thӃ ÿӇ biӃt bӝ ÿiӅu khiӇn rҧnh? Ĉӕi vӟi mӝt sӕ thiӃt bӏ, máy tính phҧi phөc vө thiӃt bӏ nhanh chóng hoһc Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 243 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 dӳ liӋu sӁ bӏ mҩt Thí dө, dӳ liӋu ÿang truyӅn vào cәng tuҫn tӵ tӯ bàn phím, mӝt vùng ÿӋm nhӓ bӝ ÿiӅu khiӇn sӁ tràn dӳ liӋu sӁ bӏ mҩt nӃu máy tính chӡ lâu trѭӟc trҧ vӅ bytes ÿѭӧc ÿӑc Trong nhiӅu kiӃn trúc máy tính, chu kǤ lӋnh CPU ÿӫ ÿӇ thăm dò mӝt thiӃt bӏ: read mӝt ghi thiӃt bӏ, thӵc hiӋn phép tính luұn lý and ÿӇ lҩy bit trҥng thái tách (branch) nӃu khác Rõ ràng, thao tác thăm dò cѫ bҧn ÿӫ Nhѭng thăm dò trӣ nên không ÿӫ ÿѭӧc lһp lҥi nhiӅu lҫn, hiӃm tìm mӝt thiӃt bӏ sҷn sàng phөc vө lҫn thăm dò ÿҫu tiên, cҫn dùng CPU ÿӇ xӱ lý cho công viӋc khác Trong trѭӡng hӧp nhѭ thӃ, sӁ hiӋu quҧ hѫn ÿӇ sҳp xӃp bӝ ÿiӅu khiӇn phҫn cӭng thông báo cho CPU thiӃt bӏ sҷn sàng phөc vө hѫn yêu cҫu CPU lһp lҥi viӋc thăm dò cho viӋc hoàn thành nhұp/xuҩt Cѫ chӃ phҫn cӭng cho phép mӝt thiӃt bӏ thông báo tӟi CPU ÿѭӧc gӑi ngҳt (interrupt) IV.2 Ngҳt Hình 0-1 Chu kǤ nhұp/xuҩt hѭӟng ngҳt Cѫ chӃ ngҳt cѫ bҧn làm viӋc nhѭ sau: phҫn cӭng CPU có mӝt dây dүn ÿѭӧc gӑi dòng yêu c̯u ng̷t (interrup-request line) mà CPU cҧm ӭng sau thӵc thi mӛi chӍ thӏ Khi mӝt CPU phát hiӋn mӝt bӝ ÿiӅu khiӇn xác nhұn mӝt tín hiӋu dòng yêu cҫu ngҳt CPU lѭu mӝt lѭӧng nhӓ trҥng thái nhѭ giá trӏ hiӋn hành cӫa trӓ lӋnh, nhҧy tӟi thӫ tөc cӫa bӝ quҧn lý ngҳt (interrupt-handler) tҥi ÿӏa chӍ cӕ ÿӏnh bӝ nhӟ Bӝ quҧn lý ngҳt xác ÿӏnh nguyên nhân gây ngҳt, thӵc hiӋn xӱ lý cҫn thiӃt, thӵc thi chӍ thӏ return from interrupt ÿӇ trҧ vӅ CPU trҥng thái thӵc thi trѭӟc ngҳt Chúng ta nói rҵng bӝ ÿiӅu khiӇn thiӃt bӏ sinh mӝt ngҳt bҵng cách xác ÿӏnh tín hiӋu dòng yêu cҫu ngҳt bӝ quҧn lý xoá ngҳt bҵng cách phөc vө thiӃt bӏ Hình XI-1 tóm tҳt chu kǤ nhұp/xuҩt hѭӟng ngҳt (interrupt-driven I/O cycle) IV.3 Truy xuҩt bӝ nhӟ trӵc tiӃp Ĉӕi vӟi mӝt thiӃt bӏ thӵc hiӋn viӋc truyӅn lӟn nhѭ ә ÿƭa, sӁ lãng phí dùng bӝ vi xӱ lý ÿӇ theo dõi bit trҥng thái ÿҭy dӳ liӋu vào ghi ÿiӅu khiӇn tӯng byte mӝt NhiӅu máy tính muӕn giҧm ÿi gánh nһng cho CPU bҵng cách chuyӇn mӝt sӕ công viӋc tӟi mӝt bӝ ÿiӅu khiӇn có mөc ÿích ÿһc biӋt ÿѭӧc gӑi b͡ ÿi͉u khi͋n truy xṷt b͡ nhͣ trc ti͇p (direct memory-access-DMA) Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 244 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 Hình 0-2 Các bѭӟc viӋc truyӅn dӳ liӋu cӫa DMA ĈӇ khӣi tҥo mӝt thao tác chuyӇn DMA, máy tính viӃt mӝt khӕi lӋnh DMA vào bӝ nhӟ Khӕi chӭa mӝt trӓ chӍ tӟi nguӗn chuyӇn, mӝt trӓ chӍ tӟi ÿích chuyӇn ÿӃm sӕ lѭӧng byte ÿѭӧc chuyӇn CPU viӃt ÿӏa chӍ cӫa khӕi lӋnh tӟi bӝ ÿiӅu khiӇn DMA, sau ÿó CPU tiӃp tөc làm công viӋc khác Bӝ ÿiӅu khiӇn DMA xӱ lý ÿӇ ÿiӅu hành bus bӝ nhӟ trӵc tiӃp, ÿһt ÿӏa chӍ bus ÿӇ thӵc hiӋn viӋc chuyӇn mà sӵ trӧ giúp cӫa CPU Mӝt bӝ ÿiӅu khiӇn DMA ÿѫn giҧn mӝt thành phҫn chuҭn PCs, b̫ng nh̵p/xṷt bus (bus-mastering I/O boards) ÿӇ PC thѭӡng chӭa phҫn cӭng DMA tӕc ÿӝ cao Quá trình ÿѭӧc mô tҧ hình XI-2 V Giao diӋn nhұp/xuҩt ӭng dөng Trong phҫn này, thҧo luұn kӻ thuұt cҩu trúc giao diӋn cho hӋ ÿiӅu hành cho phép thiӃt bӏ nhұp/xuҩt ÿѭӧc ÿӕi xӱ cách chuҭn, không ÿәi Thí dө, giҧi thích mӝt ӭng dөng có thӇ mӣ mӝt tұp tin ÿƭa mà không biӃt loҥi ÿƭa ÿó ÿƭa mӟi thiӃt bӏ khác có thӇ ÿѭӧc thêm tӟi máy tính nhѭ thӃ mà không làm hӋ ÿiӅu hành bӏ gián ÿoҥn Nhѭ nhӳng vҩn ÿӅ công nghӋ phҫn mӅm phӭc tҥp khác, tiӃp cұn ӣ ÿây liên quan ÿӃn tính trӯu tѭӧng, bao gói phân tҫng phҫn mӅm Ĉһc biӋt, có thӇ trӯu tѭӧng sӵ khác chi tiӃt thiӃt bӏ nhұp/xuҩt bҵng cách xác ÿӏnh mӝt vài loҥi thông dөng Mӛi loҥi thông dөng ÿѭӧc truy xuҩt thông qua mӝt tұp hӧp hàm chuҭn-mӝt giao diӋn Sӵ khác biӋt ÿѭӧc bao gói module nhân ÿѭӧc gӑi trình ÿi͉u khi͋n thi͇t b͓ (device driver) mà qui ÿӏnh bên ÿѭӧc áp ÿһt cho mӛi thiӃt bӏ, nhѭng ÿѭӧc nhұp vào mӝt nhӳng giao diӋn chuҭn Hình XI-3 hiӇn thӏ cách thành phҫn liên quan nhұp/xuҩt cӫa nhân ÿѭӧc cҩu trúc tҫng phҫn mӅm Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 245 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 Hình 0-3 Cҩu trúc cӫa nhân nhұp/xuҩt Mөc ÿích cӫa tҫng chӭa trình ÿiӅu khiӇn thiӃt bӏ che ÿұy sӵ khác biӋt giӳa bӝ ÿiӅu khiӇn thiӃt bӏ tӯ hӋ nhұp/xuҩt cӫa nhân, nhiӅu lӡi gӑi hӋ thӕng nhұp/xuҩt ÿóng gói hành vi cӫa thiӃt bӏ mӝt vài lӟp phát sinh ÿӇ che ÿұy sӵ khác biӋt tӯ ӭng dөng Thӵc hiӋn hӋ thӕng nhұp/xuҩt ÿӝc lұp vӟi phҫn cӭng ÿѫn giҧn hóa công viӋc cӫa ngѭӡi phát triӇn hӋ ÿiӅu hành Nó cNJng ÿem lҥi sӵ thuұn lӧi cho nhà sҧn xuҩt phҫn cӭng Hӑ thiӃt kӃ thiӃt bӏ mӟi tѭѫng thích vӟi giao diӋn bӝ ÿiӅu khiӇn chӫ ÿã có (nhѭ SCSI-2) hay hӑ viӃt trình ÿiӅu khiӇn thiӃt bӏ ÿӇ giao tiӃp phҫn cӭng mӟi ÿӕi vӟi hӋ ÿiӅu hành phә biӃn Do ÿó, thiӃt bӏ ngoҥi vi mӟi có thӇ ÿѭӧc gán tӟi mӝt máy tính mà không phҧi chӡ nhà cung cҩp hӋ ÿiӅu hành phát triӇn thêm mã Tuy nhiên, ÿӕi vӟi mӝt sӕ nhà sҧn xuҩt thiӃt bӏ phҫn cӭng, mӛi loҥi hӋ ÿiӅu hành có chuҭn riêng cӫa cho giao diӋn trình ÿiӅu khiӇn thiӃt bӏ Mӝt thiӃt bӏ ÿѭӧc cho có thӇ mang nhiӅu trình ÿiӅu khiӇn-thí dө, trình ÿiӅu khiӇn cho MS-DOS, Windows 95/98, Windows NT/2000 Solaris Các thiӃt bӏ khác nhiӅu hѭӟng nhѭ ÿѭӧc hiӇn thӏ hình XI-4 Hình 0-4 Các ÿһc ÿiӇm cӫa thiӃt bӏ nhұp/xuҩt Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 246 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 x x x x x x Dòng ký tӵ hay khӕi: thiӃt bӏ dòng ký tӵ chuyӇn tӯng byte mӝt, ngѭӧc lҥi mӝt thiӃt bӏ khӕi chuyӇn ÿѫn vӏ khӕi byte Truy xuҩt tuҫn tӵ ngүu nhiên: thiӃt bӏ tuҫn tӵ chuyӇn dӳ liӋu theo mӝt thӭ tӵ cӕ ÿӏnh ÿѭӧc ÿӏnh nghƭa bӣi thiӃt bӏ, ngѭӧc lҥi ngѭӡi dùng cӫa mӝt thiӃt bӏ truy xuҩt ngүu nhiên có thӇ chӍ dүn thiӃt bӏ ÿӇ tìm bҩt cӭ vӏ trí lѭu trӳ dӳ liӋu sҷn có Ĉӗng bӝ bҩt ÿӗng bӝ: mӝt thiӃt bӏ ÿӗng bӝ mӝt thiӃt bӏ thӵc hiӋn viӋc chuyӇn dӳ liӋu vӟi sӕ lҫn ÿáp ӭng có thӇ ÿoán trѭӟc Mӝt thiӃt bӏ bҩt ÿӗng bӝ hiӇn thӏ sӕ lҫn ÿáp ӭng không ÿӅu ÿһn hay không thӇ ÿoán trѭӟc Có thӇ chia sҿ hay tұn hiӃn: mӝt thiӃt bӏ có thӇ chia sҿ ÿѭӧc dùng ÿӗng hành bӣi nhiӅu trình hay luӗng; mӝt thiӃt bӏ tұn hiӃn không thӇ Tӕc ÿӝ thao tác: tӕc ÿӝ thiӃt bӏ trҧi dài tӯ mӝt vài byte giây tӟi mӝt vài gigabyte giây Ĉӑc-viӃt, chӍ ÿӑc, hay chӍ viӃt: mӝt sӕ thiӃt bӏ thӵc hiӋn cҧ hai nhұp, xuҩt, nhѭng mӝt sӕ thiӃt bӏ khác hӛ trӧ chӍ mӝt hѭӟng dӳ liӋu VI HӋ thӕng nhұp/xuҩt cӫa nhân (kernel I/O subsytem) Nhân cung cҩp nhiӅu dӏch vө liên quan ÿӃn nhұp/xuҩt Mӝt vài dӏch vө-ÿӏnh thӡi biӇu, vùng ÿӋm (buffering), vùng lѭu trӳ (cache), ÿһt trѭӟc thiӃt bӏ, quҧn lý lӛiÿѭӧc cung cҩp bӣi hӋ thӕng nhұp/xuҩt cӫa nhân xây dӵng phҫn cӭng cѫ sӣ hҥ tҫng trình ÿiӅu khiӇn thiӃt bӏ VI.1 Ĉӏnh thӡi biӇu nhұp/xuҩt Ĉӏnh thӡi biӇu cho tұp hӧp yêu cҫu nhұp xuҩt có nghƭa xác ÿӏnh mӝt thӭ tӵ tӕt ÿӇ thӵc thi chúng Thӭ tӵ ӭng dөng phát lӡi gӑi hӋ thӕng rҩt hiӃm mӝt chӑn lӵa tӕt nhҩt Ĉӏnh thӡi biӇu có thӇ cҧi tiӃn toàn bӝ lӵc hӋ thӕng, có thӇ chia sҿ truy xuҩt thiӃt bӏ ÿӗng ÿӅu giӳa trình có thӇ giҧm thӡi gian chӡ ÿӧi trung bình cho nhұp/xuҩt hoàn thành Ngѭӡi phát triӇn hӋ ÿiӅu hành cài ÿһt bӝ ÿӏnh thӡi biӇu bҵng cách trì mӝt hàng ÿӧi cho mӛi thiӃt bӏ Khi mӝt ӭng dөng phát mӝt lӡi gӑi hӋ thӕng nhұp/xuҩt nghӁn, yêu cҫu ÿѭӧc ÿһt vào hàng ÿӧi cho thiӃt bӏ ÿó Bӝ ÿӏnh thӡi biӇu nhұp/xuҩt sҳp xӃp lҥi thӭ tӵ cӫa hàng ÿӧi ÿӇ cҧi tiӃn toàn bӝ tính hiӋu quҧ hӋ thӕng thӡi gian ÿáp ӭng trung bình dӵa theo kinh nghiӋm bӣi ӭng dөng HӋ ÿiӅu hành cNJng cӕ gҳng giӳ bình ÿҷng ÿӇ mà không ӭng dөng nhұn ÿѭӧc dӏch vө nghèo nàn hay cho dӏch vө ѭu tiên ÿӕi vӟi yêu cҫu trì hoãn nhҥy cҧm Thí dө, yêu cҫu tӯ hӋ thӕng bӝ nhӟ ҧo có thӇ lҩy ÿӝ ѭu tiên qua yêu cҫu cӫa ӭng dөng Mӝt cách mà hӋ thӕng nhұp/xuҩt cҧi tiӃn tính hiӋu quҧ cӫa máy tính bҵng cách ÿӏnh thӡi biӇu hoҥt ÿӝng nhұp/xuҩt Mӝt cách khác dùng không gian lѭu trӳ bӝ nhӟ hay ÿƭa, vӟi kӻ thuұt ÿѭӧc gӑi vùng ÿӋm, vùng lѭu trӳ vùng chӭa VI.2 Vùng ÿӋm Vùng ÿ͏m mӝt vùng bӝ nhӟ lѭu trӳ dӳ liӋu chúng ÿѭӧc chuyӇn giӳa hai thiӃt bӏ hay giӳa thiӃt bӏ ӭng dөng Vùng ÿӋm ÿѭӧc thӵc hiӋn vӟi lý Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 247 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 x x x Lý thӭ nhҩt ÿӕi phó vӟi viӋc không tѭѫng thích vӅ tӕc ÿӝ giӳa ngѭӡi sҧn xuҩt ngѭӡi tiêu dùng cӫa dòng dӳ liӋu Lý thӭ hai cho viӋc sӱ dөng vùng làm thích ӭng giӳa thiӃt bӏ có kích thѭӟc truyӅn dӳ liӋu khác Lý thӭ ba cho viӋc dùng vùng ÿӋm hӛ trӧ ngӳ nghƭa chép cho nhұp/xuҩt ӭng dөng VI.3 Vùng lѭu trӳ Vùng l˱u trͷ (cache) mӝt vùng bӝ nhӟ nhanh quҧn lý bҧn dӳ liӋu Truy xuҩt tӟi mӝt bҧn ÿѭӧc lѭu trӳ hiӋu quҧ hѫn truy xuҩt tӟi bҧn gӕc Thí dө, chӍ thӏ cӫa trình hiӋn ÿang chҥy ÿѭӧc lѭu ÿƭa, ÿѭӧc lѭu trӳ bӝ nhӟ vұt lý ÿѭӧc chép mӝt lҫn nӳa vùng lѭu trӳ phө Sӵ khác giӳa vùng ÿӋm vùng lѭu trӳ vùng ÿӋm có thӇ giӳ chӍ bҧn cӫa thành phҫn dӳ liӋu ÿã có, ngѭӧc lҥi mӝt vùng lѭu trӳ giӳ vӯa ÿӫ mӝt bҧn thiӃt bӏ lѭu trӳ nhanh hѫn cӫa mӝt thành phҫn nҵm ӣ mӝt nѫi khác.Vùng lѭu trӳ vùng ÿӋm có chӭc khác nhѭng ÿôi mӝt vùng bӝ nhӟ có thӇ ÿѭӧc dùng cho cҧ hai mөc ÿích VI.4 Vùng chӭa ÿһt trѭӟc thiӃt bӏ M͡t vùng chͱa (spool) mӝt vùng ÿӋm giӳ dӳ liӋu xuҩt cho mӝt thiӃt bӏ nhѭ máy in mà không thӇ chҩp nhұn dòng dӳ liӋu ÿan xen Mһc dù mӝt máy in có thӇ phөc vө chӍ mӝt công viӋc tҥi mӝt thӡi ÿiӇm, nhѭng nhiӅu ӭng dөng muӕn in ÿӗng thӡi mà dӳ liӋu xuҩt cӫa chúng ÿan xen vӟi HӋ ÿiӅu hành giҧi quyӃt vҩn ÿӅ bҵng cách ngăn chһn tҩt cҧ dӳ liӋu xuҩt tӟi máy in Dӳ liӋu xuҩt cӫa mӛi ӭng dөng ÿѭӧc chӭa mӝt tұp tin riêng Khi mӝt ӭng dөng kӃt thúc viӋc in, hӋ thӕng vùng chӭa xӃp tұp tin chӭa tѭѫng ӭng cho dӳ liӋu xuҩt tӟi máy in HӋ thӕng vùng chӭa chép tұp tin ÿѭӧc xӃp hàng tӟi máy in mӝt tұp tin tҥi mӝt thӡi ÿiӇm Trong mӝt hӋ ÿiӅu hành, vùng chӭa ÿѭӧc quҧn lý bӣi mӝt trình hӋ thӕng chҥy ӣ chӃ ÿӝ nӅn Trong mӝt sӕ hӋ ÿiӅu hành khác, ÿѭӧc quҧn lý bӣi luӗng nhân Trong mӛi trѭӡng hӧp, hӋ ÿiӅu hành cung cҩp mӝt giao diӋn ÿiӅu khiӇn cho phép ngѭӡi dùng ngѭӡi quҧn trӏ hӋ thӕng hiӇn thӏ hàng ÿӧi ÿӇ xóa công viӋc không mong muӕn trѭӟc công viӋc ÿó in, ÿӇ tҥm dӯng viӋc in máy in ÿѭӧc phөc vө, VI.5 Quҧn lý lӛi Mӝt hӋ ÿiӅu hành sӱ dөng bӝ nhӟ bҧo vӋ có thӇ chӕng lҥi nhiӅu lӛi phҫn cӭng ӭng dөng thӃ mӝt lӛi toàn hӋ thӕng không kӃt quҧ cӫa mӛi sӵ trөc trһc cѫ hӑc thӭ yӃu Các thiӃt bӏ truyӅn nhұp/xuҩt có thӇ bӏ lӛi nhiӅu cách, có thӇ lý tҥm thӡi nhѭ mҥng trӣ nên tҧi, hay lý thѭӡng xuyên nhѭ trình ÿiӅu khiӇn ÿƭa bӏ lӛi Các hӋ ÿiӅu hành thѭӡng trҧ giá cho tính hiӋu quҧ lӛi tҥm thӡi Thí dө, lӛi ÿӑc ÿƭa read() dүn ÿӃn cӕ gҳng làm lҥi read() lӛi gӣi dӳ liӋu mҥng send() dүn tӟi viӋc gӣi lҥi resend() nӃu giao thӭc ÿѭӧc xác ÿӏnh rõ Tuy nhiên, nӃu mӝt thành phҫn quan trӑng bӏ lӛi thѭӡng xuyên hӋ ÿiӅu hành không nghƭ ÿӃn viӋc phөc hӗi Nhѭ mӝt qui tҳc thông thѭӡng, mӝt lӡi gӑi hӋ thӕng nhұp/xuҩt trҧ vӅ bit cӫa thông tin vӅ trҥng thái cӫa lӡi gӑi, biӇu thӏ thành công hay thҩt bҥi Trong hӋ ÿiӅu hành UNIX, mӝt biӃn nguyên có tên errno ÿѭӧc dùng ÿӇ trҧ vӅ mӝt mã lӛi- mӝt Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 248 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 100 giá trӏ-hiӇn thӏ tính tӵ nhiên cӫa lӛi (thí dө: ÿӕi sӕ vѭӧt giӟi hҥn, lӛi trӓ, tұp tin không thӇ mӣ, ) Ngѭӧc lҥi, mӝt sӕ phҫn cӭng cung cҩp thông tin lӛi ÿѭӧc mô tҧ chi tiӃt mһc dù nhiӅu hӋ ÿiӅu hành hiӋn tҥi không ÿѭӧc thiӃt kӃ ÿӇ truyӅn ÿҥt thông tin tӟi ӭng dөng VI.6 Cҩu trúc dӳ liӋu nhân Nhân cҫn giӳ thông tin trҥng thái vӅ viӋc dùng thành phҫn nhұp/xuҩt Nó thӵc hiӋn nhѭ thӃ thông qua mӝt dãy cҩu trúc dӳ liӋu nhân nhѭ bҧng tұp tin ÿang mӣ Nhân dùng nhiӅu cҩu trúc tѭѫng tӵ ÿӇ ghi vӃt nӕi kӃt mҥng, giao tiӃp thiӃt bӏ dҥng ký tӵ hoҥt ÿӝng nhұp/xuҩt khác Tóm lҥi, hӋ thӕng nhұp/xuҩt ÿiӅu phӕi tұp hӧp dӏch vө mӣ rӝng sҷn có ÿӕi vӟi ӭng dөng nhӳng phҫn khác cӫa nhân HӋ thӕng nhұp/xuҩt ÿiӅu khiӇn x Quҧn lý không gian tên cho tұp tin thiӃt bӏ x ĈiӅu khiӇn truy xuҩt tӟi tұp tin thiӃt bӏ x ĈiӅu khiӇn hoҥt ÿӝng (thí dө, mӝt modem không thӇ tìm seek()) x Cҩp phát không gian hӋ thӕng tұp tin x Cҩp phát thiӃt bӏ x Vùng ÿӋm, vùng lѭu trӳ vùng chӭa x Ĉӏnh thӡi biӇu nhұp/xuҩt x ĈiӅu khiӇn trҥng thái thiӃt bӏ, quҧn lý lӛi, phөc hӗi lӛi x Cҩu hình khӣi tҥo trình ÿiӅu khiӇn thiӃt bӏ Cҩp cao hѫn cӫa hӋ thӕng nhұp/xuҩt truy xuҩt thiӃt bӏ qua giao diӋn ÿӗng nhҩt ÿѭӧc cung cҩp bӣi trình ÿiӅu khiӇn thiӃt bӏ VIIChuyӇn nhұp/xuҩt tӟi hoҥt ÿӝng phҫn cӭng Phҫn trѭӟc mô tҧ viӋc bҳt tay giӳa mӝt trình ÿiӅu khiӇn thiӃt bӏ bӝ ÿiӅu khiӇn thiӃt bӏ, nhѭng không giҧi thích cách hӋ ÿiӅu hành nӕi kӃt yêu cҫu ӭng dөng tӟi tұp hӧp dây mҥng hay mӝt sector ÿƭa xác ÿӏnh nhѭ thӃ Chúng ta xem xét mӝt thí dө ÿӑc mӝt tұp tin tӯ ÿƭa Ӭng dөng tham chiӃu tӟi dӳ liӋu bҵng tên tұp tin Trong mӝt ÿƭa, hӋ thӕng tұp tin ánh xҥ tӯ tên tұp tin thông qua thѭ mөc hӋ thӕng tұp tin ÿӇ lҩy không gian cҩp phát cӫa tұp tin Các hӋ ÿiӅu hành hiӋn ÿҥi ÿҥt ÿѭӧc khҧ linh hoҥt cao tӯ nhiӅu giai ÿoҥn cӫa bҧng tra cӭu ÿѭӡng dүn giӳa yêu cҫu bӝ ÿiӅu khiӇn thiӃt bӏ vұt lý Các cѫ chӃ truyӅn yêu cҫu giӳa ӭng dөng trình ÿiӅu khiӇn phә biӃn Do ÿó, có thӇ giӟi thiӋu thiӃt bӏ mӟi trình ÿiӅu khiӇn vào máy tính mà không biên dӏch lҥi nhân Thұt vұy, mӝt sӕ hӋ ÿiӅu hành có khҧ nҥp trình ÿiӅu khiӇn thiӃt bӏ theo yêu cҫu Tҥi thӡi ÿiӇm khӣi ÿӝng, hӋ thӕng ÿҫu tiên thăm dò bus phҫn cӭng ÿӇ xác ÿӏnh thiӃt bӏ hiӋn diӋn sau ÿó hӋ thӕng nҥp trình ÿiӅu khiӇn cҫn thiӃt lұp tӭc hay ÿѭӧc yêu cҫu bӣi mӝt yêu cҫu nhұp/xuҩt ÿҫu tiên Bây giӡ mô tҧ chu trình sӕng ÿiӇn hình cӫa mӝt yêu cҫu ÿӑc bӏ nghӁn, nhѭ hình XI-5 Hình ÿӅ nghӏ rҵng mӝt thao tác nhұp/xuҩt yêu cҫu nhiӅu bѭӟc tiêu tӕn sӕ lѭӧng lӟn chu kǤ CPU 1) Mӝt trình phát mӝt lӡi gӑi hӋ thӕng read() tӟi bӝ mô tҧ tұp tin ÿã ÿѭӧc mӣ trѭӟc ÿó Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 249 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 2) Mã lӡi gӑi hӋ thӕng nhân kiӇm tra tính ÿúng ÿҳn cӫa tham sӕ Trong trѭӡng hӧp nhұp, nӃu dӳ liӋu ÿã có sҷn vùng ÿӋm dӳ liӋu ÿѭӧc trҧ vӅ tӟi trình yêu cҫu nhұp/xuҩt ÿѭӧc hoàn thành 3) Ngѭӧc lҥi, nhұp/xuҩt vұt lý cҫn ÿѭӧc thӵc hiӋn ÿӇ mà trình ÿѭӧc xóa tӯ hàng ÿӧi thӵc thi ÿѭӧc ÿһt vào hàng ÿӧi chӡ cho thiӃt bӏ, yêu cҫu nhұp/xuҩt ÿѭӧc lұp thӡi biӇu Cuӕi cùng, hӋ nhұp/xuҩt gӣi yêu cҫu tӟi trình ÿiӅu khiӇn thiӃt bӏ Phө thuӝc vào hӋ ÿiӅu hành, yêu cҫu ÿѭӧc gӣi bҵng lӡi gӑi thӫ tөc hay bҵng thông ÿiӋp nhân 4) Trình ÿiӅu khiӇn thiӃt bӏ cҩp phát vùng ÿӋm nhân ÿӇ nhұn dӳ liӋu lұp thӡi biӇu nhұp/xuҩt Cuӕi cùng, trình ÿiӅu khiӇn gӣi lӋnh tӟi bӝ ÿiӅu khiӇn thiӃt bӏ bҵng cách viӃt vào ghi ÿiӅu khiӇn cӫa thiӃt bӏ 5) Trình ÿiӅu khiӇn thiӃt bӏ thao tác phҫn cӭng thiӃt bӏ ÿӇ thӵc hiӋn truyӅn dӳ liӋu 6) Trình ÿiӅu khiӇn có thӇ thăm dò trҥng thái dӳ liӋu hay thiӃt lұp truyӅn DMA vào bӝ nhӟ nhân Chúng ta thӯa nhұn rҵng truyӅn ÿѭӧc quҧn lý bӣi bӝ ÿiӅu khiӇn DMA sinh mӝt ngҳt viӋc truyӅn hoàn thành 7) Bӝ quҧn lý ngҳt tѭѫng ӭng nhұn ngҳt bҵng bҵng vector ngҳt, lѭu bҩt cӭ dӳ liӋu cҫn thiӃt, báo hiӋu trình ÿiӅu khiӇn thiӃt bӏ trҧ vӅ tӯ ngҳt 8) Trình ÿiӅu khiӇn thiӃt bӏ nhұn tín hiӋu, xác ÿӏnh yêu cҫu nhұp/xuҩt hoàn thành, xác ÿӏnh trҥng thái yêu cҫu báo hiӋu cho hӋ nhұp/xuҩt nhân rҵng yêu cҫu ÿã hoàn thành 9) Nhân truyӅn dӳ liӋu hay trҧ vӅ mã tӟi không gian ÿӏa chӍ cӫa trình ÿѭӧc yêu cҫu di chuyӇn trình tӯ hàng ÿӧi chӡ tӟi hàng ÿӧi sҷn sàng 10) Di chuyӇn trình tӟi hàng ÿӧi sҷn sàng không làm nghӁn trình Khi bӝ ÿӏnh thӡi biӇu gán trình tӟi CPU, trình tiӃp tөc thӵc thi tҥi thӡi ÿiӇm hoàn thành cӫa lӡi gӑi hӋ thӕng Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 250 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 Hình 0-5 Chu trình sӕng cӫa yêu cҫu nhұp/xuҩt VIII Năng lӵc Nhұp/xuҩt mӝt yӃu tӕ quan trӑng lӵc hӋ thӕng Nó ÿһt nhiӅu yêu cҫu CPU ÿӇ thӵc thi mã trình ÿiӅu khiӇn thiӃt bӏ ÿӏnh thӡi biӇu trình công bҵng hiӋu quҧ trình nghӁn không nghӁn ChuyӇn ÿәi ngӳ cҧnh trӑng ÿӃn CPU vùng lѭu trӳ phҫn cӭng Nhұp/xuҩt cNJng hiӇn thӏ tính không hiӋu quҧ cѫ chӃ quҧn lý ngҳt nhân, nhұp/xuҩt tҧi xuӕng bus bӝ nhӟ suӕt thӡi gian chép giӳa vùng ÿӋm nhân không gian dӳ liӋu ӭng dөng Chép mӝt cách hӧp lý tҩt cҧ yêu cҫu mӝt nhӳng quan tâm cӫa kiӃn trúc máy tính Mһc dù máy tính hiӋn ÿҥi có thӇ quҧn lý hàng ngàn ngҳt giây, quҧn lý ngҳt mӝt tác vө tѭѫng ÿӕi ÿҳt: mӛi ngҳt gây cho hӋ thӕng thӵc hiӋn mӝt thay ÿәi trҥng thái, ÿӇ thӵc thi bӝ quҧn lý ngҳt sau ÿó phөc hӗi trҥng thái Nhұp/xuҩt ÿѭӧc lұp trình có thӇ hiӋu quҧ hѫn nhұp/xuҩt hѭӟng ngҳt (interrupt-driven I/O) nӃu sӕ chu kǤ tiêu tӕn cho viӋc chӡ ÿӧi bұn không mӭc Hoàn thành mӝt thao tác nhұp/xuҩt không nghӁn mӝt trình dүn ÿӃn toàn bӝ chi phí cӫa viӋc chuyӇn ÿәi ngӳ cҧnh Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 251 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 Chúng ta có thӇ tұn dөng nhiӅu nguyên tҳc ÿӇ cҧi tiӃn tính hiӋu quҧ cӫa nhұp/xuҩt: x Cҳt giҧm sӕ lѭӧng chuyӇn ngӳ cҧnh x Cҳt giҧm sӕ lҫn dӳ liӋu phҧi ÿѭӧc chép vào bӝ nhӟ truyӅn giӳa thiӃt bӏ ӭng dөng x Cҳt giҧm tҫn sӕ xuҩt hiӋn ngҳt bҵng cách dùng sӵ truyӅn lӟn, bӝ ÿiӅu khiӇn thông tin vùng chӭa (nӃu chӡ ÿӧi bұn có thӇ nhӓ nhҩt) x Gia tăng tính ÿӗng hành dùng bӝ ÿiӅu khiӇn tri thӭc DMA (DMAknowledgeable controllers) hay kênh ÿӇ giҧm gánh nһng chép dӳ liӋu ÿѫn giҧn tӯ CPU x Di chuyӇn hàm xӱ lý cѫ bҧn vào phҫn cӭng, ÿӇ cho phép hӑat ÿӝng cӫa chúng bӝ ÿiӅu khiӇn thiӃt bӏ ÿӗng hành vӟi thao tác CPU bus x Cân bҵng CPU, hӋ bӝ nhӟ, bus lӵc nhұp/xuҩt tҧi mӝt vùng bҩt kǤ sӁ gây rҧnh rӛi vùng khác Ӣ ÿây chӭc nhұp/xuҩt nên ÿѭӧc cài ÿһt-trong phҫn cӭng thiӃt bӏ, trình ÿiӅu khiӇn thiӃt bӏ hay phҫn mӅm ӭng dөng? Chúng ta quan sát tiӃn trình ÿѭӧc mô tҧ hình XI-6 Hình 0-6 TiӃn trình mô tҧ chӭc thiӃt bӏ x x x Khӣi ÿҫu, cài ÿһt giҧi thuұt nhұp/xuҩt thӱ nghiӋm tҥi cҩp ӭng dөng mã ӭng dөng linh hӑat nhӳng lӛi ӭng dөng không chҳc gây sӵ sөp ÿә hӋ thӕng Ngoài ra, bҵng phát triӇn mã tҥi cҩp ӭng dөng, tránh yêu cҫu khӣi ÿӝng hay nҥp lҥi trình ÿiӅu khiӇn thiӃt bӏ sau mӑi thay ÿәi tӟi mã Tuy nhiên, cài ÿһt cҩp ӭng dөng có thӇ không ÿӫ chi phí chuyӇn ngӳ cҧnh ӭng dөng không thӇ lҩy lӧi ÿiӇm cӫa nhӳng cҩu trúc dӳ liӋu nhân bên chӭc nhân (nhѭ truyӅn thông ÿiӋp hӳu hiӋu nhân, luӗng khóa) Khi mӝt giҧi thuұt cҩp ӭng dөng chӭng minh tính giá trӏ cӫa nó, có thӇ cài ÿһt lҥi nhân ĈiӅu có thӇ cҧi tiӃn lӵc nhѭng nӛ lӵc phát triӇn có thӱ thách nhiӅu hѫn nhân hӋ ÿiӅu hành lӟn, phҫn mӅm hӋ thӕng phӭc tҥp Ngoài ra, viӋc cài ÿһt nhân phҧi ÿѭӧc gӥ rӕi toàn bӝ ÿӇ tránh hѭ hӓng dӳ liӋu sөp ÿә hӋ thӕng Năng lӵc cao nhҩt có thӇ ÿҥt ÿѭӧc bӣi cài ÿһt chuyên dөng phҫn cӭng, thiӃt bӏ hay bӝ ÿiӅu khiӇn Sӵ bҩt lӧi cӫa viӋc cài ÿһt phҫn cӭng Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 252 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 gӗm khó khăn chi phí cӫa viӋc tҥo nhӳng cҧi tiӃn xa hѫn hay sӱa lӛi, thӡi gian phát triӇn tăng (tháng hѫn ngày) khҧ linh hoҥt giҧm IX Tóm tҳt Các thành phҫn phҫn cӭng cѫ bҧn ÿѭӧc nҥp vào nhұp/xuҩt bus, bӝ ÿiӅu khiӇn thiӃt bӏ, thiӃt bӏ Công viӋc chuyӇn dӳ liӋu giӳa thiӃt bӏ bӝ nhӟ ÿѭӧc thӵc hiӋn bӣi CPU nhұp/xuҩt ÿѭӧc lұp trình, hay ÿѭӧc chuyӇn tҧi tӟi bӝ ÿiӅu khiӇn DMA Module nhân ÿiӅu khiӇn mӝt thiӃt bӏ mӝt trình ÿiӅu khiӇn thiӃt bӏ Giao diӋn lӡi gӑi hӋ thӕng cung cҩp tӟi ӭng dөng ÿѭӧc thiӃt kӃ ÿӇ quҧn lý nhiӅu chӫng loҥi cѫ bҧn cӫa phҫn cӭng, sockets mҥng bӝ ÿӃm thӡi gian ÿӃn ÿѭӧc lұp trình HӋ nhұp/xuҩt cӫa nhân cung cҩp nhiӅu dӏch vө Các dӏch vө ÿӏnh thӡi biӇu nhұp/xuҩt, vùng ÿӋm, vùng chӭa, quҧn lý lӛi ÿһt trѭӟc thiӃt bӏ Mӝt dӏch vө khác dӏch tên, ÿӇ tҥo nӕi kӃt giӳa thiӃt bӏ phҫn cӭng tên tұp tin tѭӧng trѭng ÿѭӧc dùng bӣi ӭng dөng Nó liên quan nhiӅu cҩp ánh xҥ mà dӏch tӯ tên chuӛi ký tӵ tӟi mӝt trình ÿiӅu khiӇn thiӃt bӏ xác ÿӏnh ÿӏa chӍ thiӃt bӏ sau ÿó tӟi ÿӏa chӍ vұt lý cӫa cәng nhұp/xuҩt hay bӝ ÿiӅu khiӇn bus Các lӡi gӑi hӋ thӕng nhұp/xuҩt tính chi phí theo thuұt ngӳ tiêu tӕn CPU nhiӅu lӟp phҫn mӅm giӳa thiӃt bӏ vұt lý ӭng dөng Các lӟp ngө ý chi phí chuyӇn ngӳ cҧnh ÿӇ ÿi qua phҥm vi bҧo vӋ cӫa nhân, cӫa tín hiӋu bӝ quҧn lý ngҳt ÿӇ phөc vө thiӃt bӏ nhұp/xuҩt, cӫa tҧi CPU hӋ thӕng bӝ nhӟ ÿӇ chép dӳ liӋu giӳa vùng ÿӋm nhân không gian ӭng dөng Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 253 [...]... dҥng vӅ giao thӭc ÿѭӧc dùng, kho ng cách giӳa các nút và phѭѫng tiӋn truyӅn TCP/IP là giao thӭc mҥng phә biӃn nhҩt mһc dù ATM và các giao thӭc khác ÿѭӧc sӱ dөng rӝng rãi Tѭѫng tӵ, hӋ ÿiӅu hành hӛ trӧ sӵ ÿa dҥng vӅ giao thӭc Hҫu hӃt các hӋ ÿiӅu hành hӛ trӧ TCP/IP, gӗm Windows và UNIX Mӝt sӕ hӋ ÿiӅu hành khác hӛ trӧ các giao thӭc riêng phù hӧp vӟi yêu cҫu cӫa chúng Ĉӕi vӟi mӝt hӋ ÿiӅu hành, mӝt giao thӭc... giao thӭc mҥng chӍ cҫn mӝt thiӃt bӏ giao diӋn – thí dө: mӝt Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 9 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 card mҥng-vӟi mӝt trình ÿiӅu khiӇn thiӃt bӏ ÿӇ quҧn lý nó và mӝt phҫn mӅm ÿӇ ÿóng gói dӳ liӋu trong giao thӭc giao tiӃp ÿӇ gӣi nó và mӣ gói ÿӇ nhұn nó Mҥng thѭӡng dӵa trên các kho ng cách giӳa các nút Mӝt mҥng cөc... ÿӇ nӕi kӃt tӟi các văn phòng cӫa nó Các mҥng này có thӇ chҥy vӟi mӝt hay nhiӅu giao thӭc Sӵ tiӃn bӝ liên tөc cӫa công nghӋ mӟi hình thành nhiӅu dҥng mҥng khác nhau Thí dө, mҥng ÿô thӏ (MAN-Metropolitan Area Network) cNJng liên kӃt các toà nhà trong cùng mӝt thành phӕ Các thiӃt bӏ BlueTooth giao tiӃp qua mӝt kho ng cách ngҳn kho ng vài bӝ (feet), chӫ yӃu tҥo ra mӝt mҥng phҥm vi nhӓ (small-area network)... dishes) và sóng radio Khi các thiӃt bӏ tính toán ÿѭӧc nӕi kӃt tӟi các ÿiӋn thoҥi di ÿӝng, chúng tҥo ra mӝt mҥng Thұm chí rҩt nhiӅu giao tiӃp hӗng ngoҥi dãy ngҳn có thӇ ÿѭӧc dùng cho mҥng Tҥi cҩp ÿӝ cѫ bҧn, bҩt cӭ khi nào các máy tính giao tiӃp chúng sӱ dөng hay tҥo ra mӝt mҥng Các mҥng này cNJng rҩt khác nhau vӅ năng lӵc và khҧ năng tin cұy VII.1 HӋ khách hàng-máy phөc vө Mӝt PC có thӇ trӣ nên nhanh... vө tính toán (Compute-server systems): cung cҩp giao diӋn mà khách hàng có thӇ gӣi các yêu cҫu ÿӇ thӵc hiӋn hoҥt ÿӝng Chúng thӵc thi hoҥt ÿӝng và gӣi kӃt quҧ cho khách hàng o HӋ máy phөc vө tұp tin (File-server systems ): cung cҩp mӝt giao diӋn hӋ thӕng tұp tin nѫi khách hàng có thӇ tҥo, cұp nhұt, ÿӑc và xoá tұp tin Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 10 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ... vӟi nӕi kӃt tӟi mҥng nhѭ Internet Nhӳng ngѭӡi phát triӇn hӋ xách tay và ӭng dөng gһp phҧi nhiӅu thӱ thách, nhҩt là sӵ giӟi hҥn vӅ kích thѭӟc cӫa thiӃt bӏ Thí dө, mӝt PDA ÿiӇn hình cao kho ng 5 inches và rӝng kho ng 3 inches và trӑng lѭӧng cӫa nó ít hѫn 0.5 pound Do sӵ giӟi hҥn vӅ kích thѭӟc này, hҫu hӃt các thiӃt bӏ xách tay có bӝ nhӟ nhӓ gӗm các bӝ xӱ lý thҩp và màn hình hiӇn thӏ nhӓ Bây giӡ chúng ta... khi ngѭӡi dùng ÿó ÿѭӧc phép dùng tài nguyên ӣ xa Ĉӏnh nghƭa mӝt giao thӭc mӟi, giao thӭc truyӅn siêu văn bҧn (hypertext transfer protocol-http), dùng trong giao tiӃp giӳa mӝt trình phөc vө web và trình duyӋt web Trình duyӋt web chӍ cҫn gӣi yêu cҫu thông tin tӟi mӝt trình Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 21 Ĉҥi Hӑc Cҫn Thѫ - Khoa Công NghӋ Thông Tin - Giáo Trình HӋ ĈiӅu Hành – V1.0 phөc... (control-card interpreter) hay trình thông dӏch dòng lӋnh và thѭӡng ÿѭӧc biӃt nhѭ shell Chӭc năng cӫa nó ÿѫn giҧn là: lҩy câu lӋnh tiӃp theo và thӵc thi nó Các hӋ ÿiӅu hành thѭӡng khác nhau trong vùng shell, vӟi mӝt trình thông dӏch lӋnh thân thiӋn vӟi ngѭӡi dùng làm cho hӋ thӕng có thӇ chҩp nhұp nhiӅu hѫn ÿӕi vӟi ngѭӡi dùng Mӝt dҥng giao diӋn thân thiӋn ngѭӡi dùng là hӋ thӕng trình ÿѫn-cӱa sә trên cѫ sӣ chuӝt... cҩp quá trình và quҧn lý bӝ nhӟ tӕi thiӇu ngoài phѭѫng tiӋn giao tiӃp Chӭc năng chính cӫa vi nhân là cung cҩp tiӋn nghi giao tiӃp giӳa chѭѫng trình khách hàng và các dӏch vө khác mà chúng ÿang chҥy trong không gian ngѭӡi dùng Giao tiӃp ÿѭӧc cung cҩp bҵng truyӅn thông ÿiӋp Thí dө, nӃu chѭѫng trình khách hàng muӕn truy xuҩt mӝt tұp tin, nó phҧi giao tiӃp vӟi trình phөc vө tұp tin (file server) Biên soҥn:... là che giҩu sӵ khác biӋt cӫa các thiӃt bӏ phҫn cӭng tӯ ngѭӡi dùng Thí dө, trong UNIX sӵ khác biӋt cӫa các thiӃt bӏ xuҩt/nhұp bӏ che giҩu tӯ phҫn chính cӫa hӋ ÿiӅu hành bӣi các hӋ thӕng con xuҩt/nhұp HӋ thӕng con xuҩt/nhұp chӭa: o Thành phҫn quҧn lý bӝ nhӟ chӭa vùng ÿӋm (buffering), lѭu trӳ (caching) và spooling (vùng chӭa) Biên soҥn: Th.s NguyӉn Phú Trѭӡng - 09/2005 Trang 20 Ĉҥi Hӑc Cҫn Thѫ - Khoa ... xuyên ÿӇ ngѭӡi dùng có thӇ giao tiӃp vӟi mӛi chѭѫng trình chҥy Mӝt hӋ thӕng máy tính giao tiӃp (interactive computer) hay thӵc hành (handson computer system) cung cҩp giao tiӃp trӵc tuyӃn giӳa... vӅ giao thӭc ÿѭӧc dùng, kho ng cách giӳa nút phѭѫng tiӋn truyӅn TCP/IP giao thӭc mҥng phә biӃn nhҩt mһc dù ATM giao thӭc khác ÿѭӧc sӱ dөng rӝng rãi Tѭѫng tӵ, hӋ ÿiӅu hành hӛ trӧ sӵ ÿa dҥng vӅ giao. .. thách, nhҩt sӵ giӟi hҥn vӅ kích thѭӟc cӫa thiӃt bӏ Thí dө, mӝt PDA ÿiӇn hình cao kho ng inches rӝng kho ng inches trӑng lѭӧng cӫa hѫn 0.5 pound Do sӵ giӟi hҥn vӅ kích thѭӟc này, hҫu hӃt thiӃt