Tải bản đầy đủ (.pdf) (120 trang)

giáo trình hệ điều hành nghề tin học ứng dụng cao đẳng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.94 MB, 120 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

ĀY BAN NHÂN DÂN THÀNH PHà Hâ CHÍ MINH

<b>TR¯àNG CAO ĐÀNG BÁCH KHOA NAM SÀI GỊN </b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Māc Lāc </b>

<b>Ch°¡ng 1: Gißi thißu chung vÁ hß điÁu hành ... 6 </b>

<b>1.1. Khái nißm hß điÁu hành ... 6 </b>

<b>1.1.1. Các thành phần hß thống ... 6 </b>

<b>1.1.2. Chāc năng cÿa hß điÁu hành ... 6 </b>

<b>1.1.3. Quá trình phát triển cÿa HĐH ... 6 </b>

<b>1.2.1.5. HĐH Real time system ... 10 </b>

<b>1.2.1.6. HĐH Handheld system (thi¿t bß cầm tay) ... 10 </b>

<b>1.2.1.7. HĐH gaming system ... 11</b>

<b>1.2.1.8. HĐH IOS ... 11</b>

<b>1.2.2. D°ßi góc đá số ch°¡ng trình đ°ÿc sử dāng cùng lúc ... 11 </b>

<b>1.2.3. D°ßi góc đá ng°ái dùng (truy suất tài nguyên cùng lúc) ... 11 </b>

<b>1.3. S¡ l°ÿc lßch sử phát triển cÿa hß điÁu hành ... 11 </b>

<b>2.1.2.1. Khái nißm bảng phân phối vùng nhß ... 32 </b>

<b>2.1.2.2. Cài đặt bảng phân phối vùng nhß ... 32 </b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>2.2.1. Bản ghi logic và bản ghi vật lý ... 34 </b>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>3.3.3.4.4. Trang đ°ÿc chia sẻ ... 72 </b>

<b>Ch°¡ng 4: ĐiÁu khiển CPU, điÁu khiển quá trình ... 73 </b>

<b>4.1. Trạng thái cÿa quá trình ... 73 </b>

<b>4.2.1.1. Các đặc điểm cÿa ti¿n trình... 77 </b>

<b>4.2.1.2. ĐiÁu phối đác qun và khơng đác quyÁn... 78 </b>

<b>4.2.3.2. Chi¿n l°ÿc phân phối xoay vòng (Round Robin) ... 82 </b>

<b>4.2.3.3. ĐiÁu phối vßi đá °u tiên ... 83 </b>

<b>4.2.3.4. Chi¿n l°ÿc cơng vißc ngắn nhất ... 84 </b>

<b>4.2.3.5. Chi¿n l°ÿc điÁu phối vßi nhiÁu māc đá °u tiên ... 85 </b>

<b>4.2.3.6. Chi¿n l°ÿc điÁu phối xổ số... 86 </b>

<b>4.3. Bài tốn đồng bá hóa ... 86 </b>

<b>4.3.1. Giải pháp Busy – Waiting ... 86 </b>

<b>4.3.1.1. Giải pháp 2 quá trình ... 86 </b>

<b>4.3.1.2. Giải pháp nhiÁu quá trình ... 89 </b>

<b>4.3.2. Giải pháp Sleep and Wakeup ... 93 </b>

<b>5.1.2. Hß điÁu hành đa xử lý tập trung ... 112 </b>

<b>5.2. Thuật tốn song song và ngơn ngữ lập trình song song ... 113 </b>

<b>5.2.1. Thuật tốn song song ... 113 </b>

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>5.2.1.1. Khái nißm thuật tốn song song ... 113 </b>

<b>5.2.1.2. Các māc đá song song ... 113 </b>

<b>5.2.1.3. Phân loại các ki¿n trúc song song ... 114 </b>

<b>5.2.1.4. Đánh giá đá phāc tạp cÿa thuật tốn song song ... 114 </b>

<b>5.3. Hß điÁu hành đa xử lý phân tán ... 116 </b>

<b>5.3.1. Hß phân tán... 116 </b>

<b>5.3.2. Những đặc tr°ng chÿ y¿u cÿa hß phân tán ... 116 </b>

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>Ch°¡ng 1: Gißi thißu chung vÁ hß điÁu hành </b>

<b>Gißi thißu: </b>

<b>- </b> Ch°¡ng này giới thiệu lịch sử phát triển hệ điều hành, vai trò và các loại hệ điều hành.

<b>Māc tiêu cÿa bài: </b>

trong hệ điều hành.

<b>1.1. Khái nißm vÁ hß điÁu hành:</b>

HĐH (OS – Operating System) là ch°¡ng trình trung gian giữa phần cứng máy tính và ng°ßi sử dÿng.

Nhiệm vÿ cāa HĐH là quản lý tài nguyên cāa máy tính, thực thi các ch°¡ng trình ứng dÿng, hỗ trợ các chức năng mạng&

<b>1.1.2. Chāc năng cÿa hß điÁu hành: </b>

Phân chia thßi gian xử lý và định thßi CPU.

Phái hợp và đãng bộ hoạt động giữa các processes (coordination & synchronization). Quản lý tài nguyên hệ tháng (thiết bị I/O ,bộ nhớ, file chứa dữ liệu,&).

Thực hiện và kiểm soát access control, protection.

Duy trì sự nhất quán (integrity) cāa hệ tháng, kiểm soát lỗi và phÿc hãi hệ tháng khi có lỗi (error recovery).

Cung cấp giao diện làm việc cho users.

<b>1.1.3. Quá trình phát triển cÿa HĐH: - Cấu trúc đ¡n giản - MS-DOS. </b>

<b>- Cấu trúc phức tạp h¡n – UNIX. - Cấu trúc phân tầng. </b>

<b>- Cấu trúc vi nhân (client – server). - Cấu trúc máy ảo. </b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>- Hệ điều hành Handheld system. - Hệ điều hành </b>Gaming system.

<b>- Hệ điều hành IOS (Internetwork Operating System). 1.2.1.1. HĐH MainFrame: </b>

Hiện nay, mainframe đ°ợc định nghĩa là những cỗ máy tính có các thành phân bên trong độc lập nh°ng có khả năng phái hợp tát để cung cấp độ tin cậy á mức cao. Nó có khả năng lấy vào một l°ợng dữ liệu khổng lã, tính tốn, xử lí và xuất ra kết quả cũng khổng lã không kém. Mainframe địi hßi phải có một sự t°¡ng thích ng°ợc chặt chẽ với các phần mềm cũ bái những công ty, tổ chức lớn sử dÿng những phần mềm có tính chuyên biệt cao nên và rất tán kém nếu phải viết lại. Ngoài ra, mainframe đ°ợc thiết kế để có thể chạy liên tÿc (uninterrupt) trong một thßi gian rất dài. Đây cũng chính là yếu tá quan trọng nhất cāa mainframe bái nó ván đ°ợc dùng cho những mÿc đích mà chỉ cần vài phút hệ tháng bị sập là một "thảm họa" sẽ xảy ra, hoặc nếu hệ tháng ngừng chạy dù chỉ trong thßi gian ngắn thì chi phí để khơi phÿc hoạt động là cực kì đắt đß.

Việc cập nhật phần mềm trên máy mainframe th°ßng địi hßi thiết lập lại hệ điều hành hoặc một phần cāa nó. Cịn tính chất chạy khơng ngừng nghỉ cāa mainframe chỉ có đ°ợc khi sử dÿng những kiến trúc hệ điều hành ảo hóa nh° z/OS hay Parallel Sysplex cāa IBM, XPLC cāa Unisys. Các kiến trúc ảo hóa này cho phép một hệ tháng đảm đ°¡ng nhiệm vÿ cāa hệ tháng khác trong quá trình ng°ßi ta cập nhật, nâng cấp hay sửa chữa.

Đái với các dịng máy lớn nh° mini và mainframe thì hệ điều hành chā đạo vẫn là UNIX. Nh° đã nói, UNIX là sự kế thừa cāa MULTICS. Thực tế MULTICS đã thất bại vì nó có q nhiều tham vọng so với khả năng kỹ thuật đ°¡ng thßi. Có ng°ßi đã so thất bại cāa MULTICS với thất bại cāa Babbage chế tạo máy tính á đại học Cambridge đầu thế kỷ thứ 19. Ken Thompson, một trong những thành viên chā chát xây dựng MULTICS đã quyết định viết lại hệ điều hành này trên máy PDP-11. Thay vì dùng PL/1 để viết cho MULTICS, ơng đã xây dựng một ngơn ngữ lập trình thật hiệu quả - đó chính là ngơn ngữ C đ°ợc sử dÿng rộng rãi ngày nay. Tên ban đầu hệ điều hành này là UNICS cịn mang dấu ấn cāa MULTICS nh°ng tß ra khiêm tán h¡n (UNiplexed Information and Computing Servive). Từ này đ°ợc phát âm giáng nh° UNIX nên sau này mọi ng°ßi gọi ln hệ điều hành này là UNIX. Kết quả thành công h¡n mức trông đợi. Thực tế sau này UNIX thay thế hẳn MULTICS và đ°ợc sử dÿng cho rất nhiều loại máy kể từ máy vi tính đến siêu máy tính. Sau đây là một sá nét chính về hệ điều hành UNIX.

 Thừa h°áng những tính năng có từ MULTICS, ngay từ đầu UNIX đã đ°ợc thiết kế là một hệ điều hành đa nhiệm và nhiều ng°ßi dùng với c¡ chế phân chia thßi gian. Do quan niệm có nhiều ng°ßi dùng nên nó có c¡ chế kiểm sốt thẩm quyền nghiêm ngặt để đảm bảo an tồn cho mỗi ch°¡ng trình cùng chạy trên máy tính.

 Hệ tháng file cāa UNIX cũng đ°ợc phân cấp theo một cây th° mÿc có các thuộc tính để kiểm sốt thẩm quyền: quyền đọc, quyền sửa, quyền thực hiện cho bản thân ng°ßi tạo ra file, nhóm ng°ßi sử dÿng và cho những ng°ßi khác.

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

 UNIX cung cấp nhiều tiện ích d°ới dạng các lệnh. Chúng bao gãm: các lệnh thao tác với file và th° mÿc, các ph°¡ng tiện để lọc, các ph°¡ng tiện lập trình, các hệ soạn thảo băn bản, các lệnh để quản trị hệ tháng. Chuẩn POSIX (Portable Operating System Interface) 1003.2 cāa Hội đãng tiêu chuẩn cāa IEEE đã quy định cú pháp và ngữ nghĩa cāa khoảng 100 lệnh UNIX. Các phiên bản UNIX sau này mặc dù có nhiều sáng tạo riêng nh°ng nói chung đều tuân thā POSIX.

UNIX thực ra bắt đầu xuất hiện với các máy tính thế hệ 3 và có nhiều phiên bản, ngoài phiên bản đầu viết cho PDP 11, sau này cịn có những phiên bản UNIX System V cāa AT&T, phiên bản UNIX cāa Đại học Berkerley với những tính năng mới nh° tính năng mạng theo giao thức TCP/IP hay bộ nhớ ảo cho phép máy tính có thể thực hiện các ch°¡ng trình lớn h¡n bộ nhớ vật lý cāa máy . Chính vì UNIX dùng TCP/IP nên ng°ßi ta cịn coi nh° UNIX đã khai sinh ra Internet.

Ngày nay hầu hết các máy tính lớn đều sử dÿng UNIX. SOLARIS cāa SUN, AIX cāa IBM, Alpha UNIX cāa DEC. HP Unix cāa Hewlette Parkard đều là các phiên bản khác nhau cāa hệ điều hành UNIX. UNIX cũng đ°ợc dùng trên các máy tính cá nhân nh° các phiên bản SOLARIS trên PC, SCO UNIX và gần đây là LINUX. Đặc biệt LINUX là một hệ điều hành mã má, tạo điều kiện để những ng°ßi quan tâm có thể cùng tham gia phát triển UNIX. LINUX đã nhận đ°ợc sự hỗ trợ cāa rất nhiều hãng máy tính và các hãng phần mềm lớn và là một hệ điều hành trên máy tính cá nhân rất có triển vọng.

Ngồi giao diện lệnh cāa UNIX truyền tháng, ng°ßi ta cũng sử dÿng một giao diện đã hoạ là X - WINDOW.

<b>1.2.1.2. HĐH Desktop system (PC): </b>

Với máy vi tính, hệ điều hành có những h°ớng phát triển °u tiên mới: đó là tính năng thân thiện (user-friendly) vì đái t°ợng sử dÿng th°ßng là những ng°ßi khơng chun nghiệp. Một sá hệ điều hành nổi tiếng trong thßi kỳ này là DOS, WINDOWS trên các máy dòng PC với bộ xử lý Intel, MAC/OS trên các máy dòng Macintosh với bộ xử lý Motorola.

Hệ điều hành DOS (Disk Operating System) đ°ợc xây dựng từ những năm 80 cho họ máy PC và đuợc sử dÿng rộng rãi suát thập kỷ 80 và đầu thập kỷ 90 cho đến khi bị Windows thay thế. Ta tóm tắt một sá đặc điểm chính cāa hệ điều hành DOS:

 DOS là một hệ điều hành đ¡n ch°¡ng trình và cá nhân, theo đó mỗi lúc chỉ có một ch°¡ng trình cāa ng°ßi sử dÿng đ°ợc thực hiện trên máy.

 DOS tổ chức thông tin trên đĩa từ theo các đ¡n vị quản lý gọi là file. Các file đ°ợc tổ chức theo một cấu trúc phân cấp có dạng cây gọi là cấu trúc th° mÿc. Đĩa chứa th° mÿc gác, mỗi th° mÿc có quyền chứa nhiều th° mÿc khác. Các file có thể nằm á một th° mÿc cấp nào đó.

 Giao tiếp giữa ng°ßi và máy theo kiểu lệnh. Ví dÿ mn xố một file có tên là GPT.PAS trên đĩa C ta gõ vào bàn phím lệnh DEL C:GPT.PAS sau đó bấm phím ↵ (phím Enter).  Về chức năng, trên DOS ta có thể thực hiện đ°ợc những công việc nh°: tổ chức th° mÿc

(tạo mới, xoá, di chuyển từ th° mÿc này tới th° mÿc khác, xem danh mÿc các file cāa một th° mÿc), tổ chức file (tạo bản sao trong các th° mÿc khác nhau, xóa, xem nội dung), thực hiện các ch°¡ng trình, đặt chế độ làm việc (đặt cấu hình hệ tháng, đặt thßi gian), tổ chức xử lý theo lô... Các ứng dÿng trên DOS đ°ợc xem nh° một lệnh. So với các hệ điều hành tr°ớc đó thì DOS rất dễ sử dÿng.

Windows cũng là một hệ điều hành nổi tiếng cho các máy PC vì phong cách giao tiếp theo kiểu đã hoạ rất thân thiện. Nếu trong mơi tr°ßng DOS, giao diện cāa các phần mềm do chính

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

ch°¡ng trình ứng dÿng tạo ra thì trong windows, giao diện tiêu chuẩn đ°ợc hỗ trợ ngay á mức hệ điều hành. Kiểu giao tiếp với các biểu t°ợng (icon) thực đ¡n trải xuáng (pulldown menu), cửa sổ ứng dÿng (window), hộp thoại để đặt tham sá (dialog box) và c¡ chế chỉ định bằng chuột (mouse) đã trá thành chuẩn cho giao tiếp đã hoạ cho đến ngày nay.

Thực ra hệ điều hành thực hiện thành công giao tiếp theo kiểu này đầu tiên không phải là Windows cāa Microsoft mà là MAC/OS trên họ máy Macintosh cāa hãng Apple ngay từ năm 1985. Microsoft chỉ là ng°ßi đi sau, thực hiện lại và cải tiến các ý t°áng đã đ°ợc Apple sử dÿng trong dòng máy Macintosh.

<b>1.2.1.3. HĐH Multiprocessor system: </b>

Hầu hết các hệ tháng ngày nay là các hệ tháng đ¡n xử lý; nghĩa là chỉ có một CPU chính. Tuy nhiên, các hệ tháng đa xử lý (hay còn gọi là hệ song song hay hệ kết nái chặt) đ°ợc phát triển rất quan trọng. Các hệ tháng nh° thế có nhiều h¡n một bộ xử lý trong giao tiếp gần, chia sẻ bus máy tính, đãng hã, đơi khi cịn là bộ nhớ hay thiết bị ngoại vi. Hệ tháng đa xử lý có ba °u điểm chính:

 Thơng l°ợng đ°ợc gia tăng: bằng cách tăng sá l°ợng bộ xử lý, chúng ta hy vọng thực hiện nhiều công việc h¡n với thßi gian ít h¡n. Tỉ lệ giữa sự tăng tác với N bộ xử lý không là N; đúng h¡n nó nhß h¡n N. Trong khi nhiều bộ xử lý cộng tác trên một cơng việc, một l°ợng chi phí phải chịu trong việc giữ các thành phần làm việc phù hợp. Chi phí này cộng với chi phí cạnh tranh tài nguyên đ°ợc chia sẻ, làm giảm kết quả đ°ợc mong đợi từ những bộ xử lý bổ sung. T°¡ng tự nh° một nhóm gãm N lập trình viên làm việc với nhau không dẫn đến kết quả công việc đang đạt đ°ợc tăng N lần.

 Tính kinh tế cāa việc má rộng: hệ tháng đa xử lý có thể tiết kiệm nhiều chi phí h¡n hệ tháng đ¡n bộ xử lý, bái vì chúng có thể chia sẻ ngoại vi, thiết bị l°u trữ và điện. Nếu nhiều ch°¡ng trình điều hành trên cùng tập hợp dữ liệu thì l°u trữ dữ liệu đó trên một đĩa và tất cả bộ xử lý chia sẻ chúng sẽ rẻ h¡n là có nhiều máy tính với đĩa cÿc bộ và nhiều bản sao dữ liệu.

 Khả năng tin cậy đ°ợc gia tăng: nếu các chức năng đ°ợc phân bổ hợp lý giữa các bộ xử lý thì lỗi trên một bộ xử lý sẽ khơng dừng hệ tháng, chỉ năng lực bị giảm. Nếu chúng ta có 10 bộ xử lý và có 1 bộ xử lý bị sự cá thì mỗi bộ xử lý trong 9 bộ xử lý còn lại phải chia sẻ cāa công việc cāa bộ xử lý bị lỗi. Do đó, tồn bộ hệ tháng chỉ giảm 10% năng lực h¡n là dừng hoạt động. Các hệ tháng đ°ợc thiết kế nh° thế đ°ợc gọi là hệ tháng có khả năng chịu lỗi. Việc điều hành vẫn tiếp tÿc trong sự hiện diện cāa lỗi yêu cầu một c¡ chế cho phép lỗi đ°ợc phát hiện, chuẩn đoán và sửa lỗi nếu có thể. Hệ tháng Tandem sử dÿng sự nhân đôi phần cứng và phần mềm để đảm bảo sự điều hành vẫn tiếp tÿc mặc dù có lỗi xảy ra. Hệ tháng này chứa hai bộ xử lý, mỗi bộ xử lý có bộ nhớ cÿc bộ riêng. Các bộ xử lý đ°ợc nái kết bái một bus. Một bộ xử lý chính và bộ xử lý kia là dự phòng. Cả hai bản sao đ°ợc giữ á mỗi bộ xử lý: một là chính và một là dự phòng. Tại các điểm kiểm tra trong việc thực thi cāa hệ tháng, thông tin trạng thái cāa mỗi cơng việc-gãm một bản sao hình ảnh bộ nhớ-đ°ợc chép từ máy chính tới máy dự phịng. Nếu một lỗi đ°ợc phát hiện, bản sao dự phịng đ°ợc kích hoạt và đ°ợc khái động lại từ điểm kiểm tra mới nhất. Giải pháp này đắt vì nó bao gãm việc nhân đôi phần cứng.

Các hệ tháng đa xử lý thông dÿng nhất hiện nay sử dÿng đa xử lý đái xứng .Trong hệ tháng này mỗi bộ xử lý chạy bản sao cāa hệ điều hành và những bản sao này giao tiếp với các bản sao khác khi cần. Vài hệ tháng sử dÿng đa xử lý bất đái xứng .Trong hệ tháng này mỗi bộ xử lý đ°ợc gán một công việc xác định. Một bộ xử lý chā điều khiển hệ tháng; những bộ xử lý cịn lại hoặc

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

chß bộ xử lý chā ra chỉ thị hoặc có những tác vÿ đ°ợc định nghĩa tr°ớc. C¡ chế này định nghĩa mái quan hệ chā-tớ. Bộ xử lý chính lập thßi biểu và cấp phát công việc tới các bộ xử lý tớ.

<b>1.2.1.4. HĐH Distributed system: </b>

Một "hệ tháng phân tán" (Distributed Systems-từ giß xin đ°ợc phép sử dÿng từ gác tiếng Anh) đ°ợc định nghĩa là một tập hợp các tiến trình điện tốn (process) độc lập, đ°ợc kết nái với nhau bái một hệ tháng mạng (network) để các process này có thể truyền nhận thơng tin ('process' á đây đ°ợc định nghĩa là một đ¡n vị điện toán đ°ợc vận hành với một không gian bộ nhớ riêng biệt, không trùng lặp với các process khác). Các process này phái hợp hoạt động với nhau nh° một thực thể duy nhất đái với ng°ßi dùng bên ngồi nhằm thực thi một nhiệm vÿ nào đó. Dựa theo định nghĩa này thì nhiều process trên cùng 1 máy tính cũng có thể đ°ợc coi nh° Distributed Systems (DS). Dĩ nhiên trên thực tế, ng°ßi ta quan tâm đến việc vận hành nhiều máy tính cùng với nhau, cho nên chúng ta có thể ngầm hiểu là các process này chạy trên các máy tính riêng biệt.

<b>1.2.1.5. HĐH Real time system: </b>

RTOS (real-time operating system) hay hệ điều hành thßi gian thực là một hệ điều hành (OS) nhằm phÿc vÿ các ứng dÿng thßi gian thực, với khả năng xử lý dữ liệu đầu vào nhanh chóng do khơng có sự chậm trễ cāa bộ đệm (buffer).

Hệ điều hành thßi gian thực (RTOS) đ°ợc sử dÿng trong mơi tr°ßng có sá l°ợng lớn các sự kiện, tác vÿ, cần xử lý trong thßi gian ngắn hoặc trong thßi hạn nhất định. Với RTOS, thßi gian xử lý đ°ợc tính bằng phần m°ßi giây hoặc ít h¡n. Q trình xử lý trong RTOS phải diễn ra trong các ràng buộc, giới hạn thßi gian đ°ợc chỉ định, nếu khơng sẽ dẫn đến lỗi hệ tháng.

Khác với các hệ điều hành thơng th°ßng nh° Windows, Android, iOS,& chứa rất nhiều ứng dÿng và tính năng nên cần có thßi gian khái chạy khi má ứng dÿng lên, RTOS đ°ợc thiết kế cho các nhiệm vÿ đặc biệt, với thßi gian thực thi các tác vÿ trong thßi gian chính xác, các lỗi đ°ợc ô lập và xử lý nhanh chóng.

<b>1.2.1.6. HĐH Handheld system (thi¿t bß cầm tay): </b>

Hệ điều hành di động (tiếng Anh "mobile operating system") là một hệ điều hành dành cho các thiết bị điện thoại di động, máy tính bảng, đãng hã thơng minh, laptop 2 trong 1 (laptop

<i>có thể chuyển giữa chế độ máy tính và máy tính bảng), hoặc các thiết bị di động khác. Trong khi </i>

đa phần các máy tính xách tay (laptop) cũng có tính "di động", nh°ng các hệ điều hành th°ßng đ°ợc sử dÿng trên chúng khơng đ°ợc xem là hệ điều hành di động, vì các hệ điều hành này đ°ợc thiết kế ban đầu cho máy tính để bàn và khơng có hoặc khơng cần các tính năng di động cÿ thể. Ngày nay, sự phân biệt giữa hệ điều hành cho máy tính để bàn và hệ điều hành di động càng trá nên mß dần, khi một sá hệ điều hành mới hoặc các phiên bản mới cho phép hỗ trợ cả hai nền tảng di động và cá định.

Hệ điều hành di động kết hợp các tính năng cāa một hệ điều hành cho máy tính cá nhân với các tính năng khác hữu ích cho việc sử dÿng di động hoặc cầm tay; th°ßng bao gãm hầu hết các chức năng đ°ợc coi là cần thiết trong các hệ tháng di động hiện đaị nh°: màn hình cảm ứng, mạng thiết bị di động, Bluetooth, Wi-Fi Protected Access, Wi-Fi, Hệ tháng Định vị Toàn cầu (GPS), máy ảnh sá cho phép chÿp ảnh và quay video, nhận dạng tiếng nói, thu âm, ch¡i nhạc, kết nái tr°ßng gần, và đèn hãng ngoại điều khiển từ xa.

Thiết bị di động có khả năng truyền thơng di động (ví dÿ: điện thoại thơng minh) hiện nay đa sá chứa hai hệ điều hành di động - 1 là nền tảng giao diện phần mềm chính và 2 là một hệ điều hành thßi gian thực cấp thấp điều khiển sóng thu phát và các linh kiện phần cứng khác. Các nghiên

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

cứu chỉ ra rằng các hệ tháng cấp thấp có thể chứa một loạt các lỗ hổng bảo mật cho phép các tin tặc có ý đã xấu tấn cơng vào thiết bị và nắm đ°ợc quyền kiểm soát cao đái với thiết bị di động cāa ng°ßi dùng khác.

<b>1.2.1.7. HĐH gaming system: </b>

Dùng trong các dòng thiết bị ch¡i game nh° Play Station, Xbox, Nintendo và các thiết bị ch¡i game cầm tay&

<b>1.2.1.8. HĐH IOS: </b>

Hệ điều hành cāa thiết bị Cisco:

+ T°¡ng tự nh° một máy tính, một router hoặc switch hoạt động thì phải có hệ điều hành. Cisco Internetwork Operating System (IOS) là phần mềm hệ tháng trong các thiết bị cāa Cisco. Nó là cơng nghệ cát lõi đ°ợc má rộng trên hầu hết các dòng sản phẩm cāa Cisco.

+ Cisco IOS cung cấp cho các thiết bị với các dịch vÿ mạng sau đây: => Chức năng định tuyến và chuyển mạch.

=> Tin cậy và truy cập bảo mật vào tài nguyên mạng. => Khản năng má rộng hệ tháng.

+ Mạng có máy chā: LAN, WAN,&

<b>1.3. S¡ l°ÿc lßch sử phát triển cÿa hß điÁu hành:1.3.1. Lßch sử phát triển: </b>

Thế hệ 1 (1945-1955):

<b>- Thi</b>ết kế, xây dựng, lập trình, thao tác: do 1 nhóm ng°ßi, ch°a có HĐH.

Thế hệ 2 (1955-1965):

<b>- Xu</b>ất hiện sự phân công công việc.

<b>- Ho</b>ạt động d°ới sự điều khiển đặc biệt cāa 1 ch°¡ng trình.

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

Thế hệ 3 (1965-1980):

<b>- MULTICS, UNIX. </b>

Thế hệ 4 (1980):

<b>1.3.2. Cấu trúc hß thống: 1.3.2.1. Cấu trúc đ¡n giản: </b>

<b>- Khi thiết kế, do giới hạn về dung l°ợng bộ nhớ nên không phân chia thành các module </b>

(modularization) và ch°a phân chia rõ chức năng giữa các phần cāa hệ tháng. Ch°¡ng trình ứng dÿng có thể truy xuất các hàm I/O trong ROM BIOS để ghi trực tiếp lên màn hình hay hay bộ điều khiển đĩa.

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>1.3.2.4. Cấu trúc vi nhân (client – server) </b>

Phân chia module theo microkernel (CMU Mach OS, 1980). Chuyển một sá chức năng cāa OS từ kernel space sang user space.

Thu gọn kernel => microkernel, microkernel chỉ bao gãm các chức năng tái thiểu nh° quản lý tiến trình, bộ nhớ và c¡ chế giao tiếp giữa các tiến trình.

Giao tiếp giữa các module qua c¡ chế truyền thơng điệp.

Mơ hình client-server trên 1 máy

Mơ hình client-server trên hệ tháng mạng nhiều máy

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

Một sá HĐH hiện đại sử dÿng vi nhân:

<b>- </b> Tru64 UNIX (Digital UNIX tr°ớc đây): nhân Mach.

<b>- Apple MacOS Server: nhân Mach. </b>

<b>- QNX–vi nhân cung cấp: truyền thông điệp, định thßi CPU, giao tiếp mạng cấp thấp và </b>

ngắt phần cứng.

Windows NT: chạy các ứng dÿng khác nhau win32, OS/2, POSIX (Portable OS for uniX)

<b>1.3.3. Cài đặt Linux: </b>

<b>1.3.3.1. Cấu hình máy ảo Linux: </b>

Tại màn hình chính cāa VMware, bạn chọn Create a New Virtual Machine.

<b>Tạo máy ảo mßi </b>

Tiếp theo, chọn Installer disc image file (iso) vào chọn Browse để má cửa sổ chọn tệp.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Cài đặt từ file iso</b>

<b>Chọn file cài đặt đã tải về tr°ớc đó và bấm Open để tải lên. </b>

<b>Chán file iso Kali Linux </b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Chọn Next và tiếp tÿc quá trình cài đặt.

<b>Nhấp chán Next </b>

Thiết lập thông tin cho máy ảo, bao gãm:

 Hệ điều hành (Guest operating system): Linux.

 Phiên bản (Version): Other Linux 5.x kernel 64-bit hoặc Other Linux 4.x kernel 64-bit. Sau đó, chọn Next và đến b°ớc tiếp theo.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Cài đặt máy ảo </b>

Đặt tên và chọn th° mÿc l°u ổ cứng ảo. Sau đó, chọn Next.

<b>Cài đặt ổ cāng ảo</b>

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

Chỉ định dung l°ợng, cách l°u trữ cho ổ cứng ảo và bấm Next để tiếp tÿc.

<b>Chán dung l°ÿng cho ổ cāng ảo</b>

Chọn Finish để hồn tất cài đặt máy tính ảo.

<b>Hồn tất cài đặt </b>

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>1.3.3.2. Cài đặt Linux: </b>

<b>B°ớc 1: Khởi đáng máy ảo vừa tạo b¿ng cách nhấp chán Play virtual machine.</b>

Khái chạy máy ảo

<b>B°ßc 2: Chọn Graphical Install và ấn Enter. </b>

Chọn chế độ cài đặt

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<b>B°ßc 3: Chọn ngơn ngữ cho hệ tháng và bấm Continue để tiếp tÿc. </b>

Thiết lập ngơn ngữ

<b>B°ßc 4: Chọn qc gia mà bạn đang sinh sáng, sau đó bấm Continue. </b>

Chọn Quác gia

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b>B°ßc 5: Tùy chọn layout cho bàn phím mà bạn muán sử dÿng và tiếp tÿc chọn Continue. </b>

Chọn kiểu bàn phím

<b>B°ßc 6: Đặt tên cho máy chā (hostname) và chọn Continue để chuyển sang b°ớc tiếp theo. </b>

Chọn tên cho host

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>B°ßc 7: Nhập tên đầy đā cho ng°ßi dùng (full name for the new user) và tiếp tÿc bấm Continue. </b>

Nhập tên đầy đā

<b>B°ßc 8: Đặt tên ng°ßi dùng (user name) cho tài khoản cāa bạn và chọn Continue. </b>

Chọn tên ng°ßi dùng

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

<b>B°ßc 9: Tạo mật khẩu cho ng°ßi dùng và chọn Continue. Bạn cần nhớ mật khẩu để có thể đăng nhập vào Kali Linux sau khi cài đặt xong nhé. </b>

Thiết lập mật khẩu ng°ßi dùng

<b>B°ßc 10: Tiến hành chọn múi giß cho hệ điều hành và bấm Continue. </b>

Cài đặt thßi gian

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

<b>B°ßc 11: Chọn phân vùng cài đặt cho hệ điều hành Kali Linux, bạn chọn Manual và bấm Continue để phân vùng theo cách thā cơng. </b>

Phân vùng theo cách thā cơng

<b>B°ßc 12: Chọn đúng ổ cứng mà bạn đã tạo phân vùng tráng lúc đầu, sau đó chọn Continue để chuyển sang b°ớc tiếp theo. </b>

Chọn phân vùng cho ổ cứng

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>B°ßc 13: Chọn Yes để xác nhận tạo phân vùng tráng tạo và bấm Continue. </b>

Tạo phân vùng tráng

<b>B°ßc 14: Chọn phân vùng tráng vừa đ°ợc tạo (th°ßng sẽ có dịng FREE SPACE) và bấm Continue. </b>

Chọn phân vùng tráng

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>B°ßc 15: Chọn Automatically partition the free space và bấm Continue. Trình cài đặt tự </b>

động chia phân vùng cho các tập tin.

Tự động chia phân vùng

<b>B°ßc 16: Chọn All files in one partition và tiếp tÿc bấm Continue. Nếu bạn có kinh </b>

nghiệm về máy tính, bạn có thể tự động chia sá phân vùng cho các hệ tháng tập tin.

Tất cả các tập tin chung một phần vùng

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<b>B°ßc 17: Chọn Finish partitioning and write changes to disk và bấm Continue để hoàn </b>

tất việc chia phân vùng ổ cứng.

Hoàn tất việc chia phân vùng cho ổ cứng

<b>B°ßc 18: Nhấp chọn Yes và bấm Continue để ghi các thay đổi vào ổ đĩa cứng. </b>

Ghi lại các thay đổi

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<b>B°ßc 19: Lựa chọn các phần mềm mn cài đặt và bấm Continue. Nếu bạn khơng có kết </b>

nái mạng, các phầm mềm sẽ đ°ợc cài đặt sau khi q trình cài đặt hệ điều hành hồn tất.

Cài đặt các phần mềm

<b>B°ßc 20: Chọn Yes để cài đặt GRUB boot Loader và bấm Continue. </b>

Cài đặt GRUB boot Loader

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<b>B°ßc 21: Chọn ổ cứng đầu tiên cāa hệ điều hành và bấm Continue. </b>

Chọn ổ cứng chứa hệ điều hành gác

<b>B°ßc 22: Vậy là bạn đã cài đặt xong Kali Linux. Giß thì chọn Continue để khái động lại </b>

máy ảo nhé.

Kết thúc quá trình cài đặt

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

Sau khi khái động lại, bạn chỉ cần nhập tên và mật khẩu là có thể sử dÿng.

Kali Linux trên VMware

<b>Ch°¡ng 2: ĐiÁu khiển dữ lißu </b>

<b>2.1. Các ph°¡ng pháp tổ chāc và truy nhập dữ lißu: </b>

<b>2.1.1. Bản quản lý th° māc tập tin: 2.1.1.1. Khái nißm: </b>

Tr°ớc khi tập tin đ°ợc đọc, tập tin phải đ°ợc má, để má tập tin hệ tháng phải biết đ°ßng dẫn do ng°ßi sử dÿng cung cấp và đ°ợc định vị trong cấu trúc đầu vào th° mÿc (directory entry). Directory entry cung cấp các thông tin cần thiết để tìm kiếm các khái. Tùy thuộc vào mỗi hệ tháng, thơng tin là địa chỉ trên đĩa cāa tồn bộ tập tin, sá hiệu cāa khái đầu tiên, hoặc là sá I-node.

<b>2.1.1.2. Cài đặt bảng th° māc: </b>

Bảng này th°ßng đ°ợc cài đặt á phần đầu cāa đĩa. Bảng là dãy các phần tử có kích th°ớc xác định, mỗi phần tử đ°ợc gọi là 1 entry. Mỗi entry sẽ l°u thơng tin về tên, thuộc tính, vị trí l°u trữ&cāa một tập tin hay th° mÿc.

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<b>2.1.2. Bản phân phối vùng nhß </b>

<b>2.1.2.1. Khái nißm bảng phân phối vùng nhß: </b>

Bảng này th°ßng đ°ợc sử dÿng phái hợp với bảng quản lý th° mÿc tập tin, mÿc tiêu là cho biết vị trí khái vật lý cāa một tập tin hay th° mÿc nào đó, nói khác đi là l°u giữ dãy các khái trên đĩa cấp phát cho tập tin l°u dữ liệu hay th° mÿc. Có một sá ph°¡ng pháp đ°ợc cài đặt.

<b>2.1.2.2. Cài đặt bảng phân phối vùng nhß: a/ Đßnh vß liên ti¿p: </b>

L°u trữ tập tin trên các dãy khái liên tiếp. Ph°¡ng pháp này có 2 °u điểm:

+Dễ dàng cài đặt.

+Dễ dàng thao tác vì tồn bộ tập tin đ°ợc đọc từ đĩa bằng thào tác đ¡n giản không cần định vị lại.

Ph°¡ng pháp này cũng có 2 khuyết điểm:

+Khơng linh động, trừ khi biết tr°ớc kích th°ớc tái đa cāa tập tin. +Sự phân mảnh trên đĩa gây lãng phí lớn.

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

Để cài đặt đ°ợc, khái đĩa không đ°ợc liệt kê trong th° mÿc mà đ°ợc thay thế bằng một cấu trúc dữ liệu, th° mÿc sẽ trß tới cấu trúc này. Hê5 tháng tạo 1 tập tin mới có kiểu Link, tập tin mới này chỉ chứa đ°ßng dẫn cāa tập tin đ°ợc liên kết.

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

Cách thứ nhất không hiệu quả khi truy xuất những tập tin có kích th°ớc lớn, do đó hầu hết các hệ tháng tập tinđề dùng khái có kích th°ớc cá đinh.

<b>2.1.5. Đá an tồn cÿa hß thống tập tin: </b>

Một hệ thóng tập tin bị hßng cịn nguy hiểm h¡n máy tính bị hßng vì những h° hßng trên thiết bị sẽ it chi phí h¡n là hệ tháng tập tin vì nó ảnh h°áng đến các phần mềm trên đó. H¡n nữa hệ tháng tập tin khơng thể cháng lại đ°ợc những h° hßng do phần cứng gây ra, vì vậy chúng phải cài đặt một sá chức năng để bảo vệ.

<b>2.1.5.1. Quản lý khối bß hỏng: </b>

Đĩa th°ßng có những khái bị hßng trong q trình sử dÿng. Có 2 giải pháp:

+ Phần mềm: hệ tháng tập tin xây dựng 1 tập tin chứa các khái hßng. Kỹ thuật này loại trừ chúng ra khßi danh sách các khái tráng, do đó nó sẽ khơng đ°ợc cấp phát cho tập tin.

+ Phần cứng: dùng sector trên đĩa để l°u giữ danh sách các khái bị hßng. Khi bộ kiểm sốt thực hiện lần dầu tiên, nó đọc những khái bị hßng và dùng 1 khái thừa để l°u giữ. Từ đó khơng cho truy cập những khái hßng.

<b>2.1.5.2. Backup: </b>

Tập tin trên đĩa đ°ợc backup bằng cách chép lại toàn bộ qua 1 đĩa khác, hoặc trên các băng từ.

<b>2.1.5.3. Tính khơng đổi cÿa hß thống tập tin: </b>

Khi truy xuất 1 tập tin, trong quá trình thực hiện, nếu có xảy ra những sự cá làm hệ tháng ngừng hoạt động đột ngột, lúc đó hàng loạt thơng tin ch°a đ°ợc cập nhật lên đĩa. Vì vậy mỗi lần khßi động, hệ tháng sẹ thực hiện việc kiểm tra trên hai phần khái và tập tin. Việc kiểm tra thực hiện, khi phát hiện ra lỗi sẽ tiến hành sửa chữa cho các tr°ßng hợp cÿ thể.

<b>2.2. Bản ghi và khối: </b>

<b>2.2.1. Bản ghi logic và bản ghi vật lý: </b>

Một trong những h°ớng tiếp cận trung tâm nhằm tổ chức quản lý bộ nhớ 1 cách hiệu quả là đ°a ra khái niệm không gian địa chỉ đ°ợc xây dựng trên không gian nhớ vât lý. Việc tách rßi 2 khơng gian này giúp HĐH dễ dàng xây dựng các c¡ chế và chiến l°ợc quản lý bộ nhớ hữu hiệu.

+ Địa chỉ logic: còn gọi là địa chỉ ảo, tất cả các địa chỉ do bộ xử lý tạo ra.

+ Địa chỉ vật lý: là địa chỉ thực tế mà trình quản lý bộ nhớ nhìn thấy và thao tác. + Không gian địa chỉ: là tập hợo tất cả các địa chỉ ảo phát sinh bái 1 ch°¡ng trình. + Không gian vật lý: là tập hợp tất cả các địa chỉ vật lý t°¡ng ứng với các địa chỉ ảo. Địa chỉ ảo và vật lý là nh° nhau trong ph°¡ng thức kết buộc địa chỉ vào thßi điểm biên dịch cũng nh° vào thßi điểm nạp. Tuy nhiên có sự khác biệt giữa địa chỉ ảo và vật lý trong ph°¡ng thức kết buộc vào thßi điểm xử lý.

MMU (memory-management unit) là một c¡ chế phần cứng đ°ợc sử dÿng để thực hiện chuyển đổi địa chỉ ảo thành địa chỉ vật lý vào thßi điểm xử lý.

Ch°¡ng trình cāa ng°ßi sử dÿng chỉ thao tác trên các địa chỉ ảo, khơng bao giß nhìn thấy các địa chỉ vật lý. Địa chỉ thực sự ứng với vị trí cāa dữ liệu trong bộ nhớ chỉ đ°ợc xác định khi thực hiện truy xuất đến dữ liệu.

</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35">

<b>2.2.2. Khối (block): </b>

Thơng th°ßng mỗi tập tin th°ßng đ°ợc l°u trên 1 sá khái. VD: 1 đĩa có 32768 byte trên 1 track, thßi gian quay là 16.67 msec, thßi gian tìm kiếm trung bình là 30msec thì thßi gian tính bằng msec để đọc 1 khái kích th°ớc kbyte là:

30 + 8.3 + (k/32768) x 16.67 Từ đó tháng kê đ°ợc kích th°ớc khái thích hợp phải < 2k. Thơng th°ßng kích th°ớc khái là 512, 1k hay 2k.

</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">

<b>2.3. ĐiÁu khiển buffer(điÁu khiển phịng đßm): </b>

Buffer đ°ợc biết đến là vùng đệm dữ liệu đ°ợc l°u trữ tạm thßi trong bộ nhớ RAM trong thßi gian dữ liệu chß đ°ợc chuyển tới vị trí khác. Có 3 loại buffer: trung chuyển, xử lý và vòng tròn.

Để giảm thßi gian chß đợi, hệ tháng có thể tổ chức nhiều phịng đệm vào, khi hết thơng tin á 1 phòng đệm, hệ tháng sẽ chuyển sang phòng đệm khác.

+ Phịng đệm ra chỉ ghi thơng tin. Trong hệ tháng có lệnh để giải phóng phịng đệm (ghi vật lý). Khi có chỉ thị ghi (write), thơng tin đ°ợc đ°a vào phòng đệm. Khi phòng đệm ra đầy, hệ tháng sẽ đ°a thông tin ra thiết bị ngoại vi. Hệ tháng cũng có thể tổ chức nhiều phịng đệm ra.

¯u điểm: + Đ¡n giản.

+ Có hệ tháng song song cao vì tác độ giải phịng vùng đệm lớn. + Có tính chất đa năng, thích ứng với mọi ph°¡ng pháp truy cập. Nh°ợc điểm:

</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">

+ Khơng mất thßi gian chuyển thơng tin trong bộ nhớ trong, thích hợp khi cần kích th°ớc bản ghi dữ liệu lớn.

+ Buffer địa chỉ cāa hệ tháng Đọc - Ghi – Xử lý.

+ Có sự đãng bộ cāa Đọc – Ghi - Xừ lý (thực hiện song song)

+ Th°ßng áp dÿng cho hệ c¡ sá dữ liệu và hữu dÿng nhất khi l°ợng thông tin vào bằng l°ợng thông tin ra.

<b>2.4. Quy trình chung điÁu khiển nhập-xuất: </b>

Thiết bị nhập xuất đa đạng, nhiều loại thiết bị, mỗi loại có nhiều kiểu khác nhau theo: + Quan điểm kỹ thuật (phần cứng): là các thiết bị với bộ vi xử lý, motor, cac linh kiện khác.

+ Quan điểm lập trình (phần mềm): giao diện nh° phần mềm để nhận lệnh, thực hiện và trả về kết quả.

Vai trò cāa hệ điều hành trong nhập/xuất máy tính là quản lý và điều khiển các thao tác nhập/xuất và các thiết bị nhập/xuất.

Điều khiển các thiết bị đ°ợc nái kết tới máy tính là mái quan tâm chā yếu cāa ng°ßi thiết kế hệ điều hành. Vì các thiết bị nhập/xuất rất khác nhau về chức năng và tác độ (xem xét chuột, đĩa cứng, và CD-ROM) nên sự đa dạng về ph°¡ng pháp là cần thiết để điều khiển chúng. Các ph°¡ng pháp này hình thành một hệ tháng nhập/xuất con (I/O subsystem) cāa nhân, tách rßi phần còn lại cāa nhân từ sự phức tạp cāa việc quản lý các 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 nhau. Xu h°ớng thứ nhất, chúng ta tăng sự chuẩn hoá phần mềm và giao diện phần cứng. Xu h°ớng này giúp chúng ta hợp tác những thế hệ thiết bị đ°ợc cải tiến vào các máy tính và hệ điều hành đã có. Xu h°ớng thứ hai, chúng ta tăng sự đa dạng cāa các thiết bị nhập/xuất. Thiết bị mới là rất khác với các thiết bị tr°ớc đó đã tạo ra một trá ngại để hợp nhất chúng vào máy tính và hệ điều hành cāa chúng ta. Trá ngại này đ°ợc giải quyết bái sự kết hợp kỹ thuật phần cứng và 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 và bộ điều khiển thiết bị chứa trong một dãy rộng các thiết bị nhập/xuất. Để đóng gói các chi tiết và sự khác biệt cāa các thiết bị khác nhau, nhân cāa hệ điều hành đ°ợc chỉ dẫn để dùng các 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 con nhập/xuất, nh° các lßi gọi hệ tháng cung cấp một giao diện chuẩn giữa ứng dÿng và hệ điều hành.

<b>2.4.1. Phần cāng nhập/xuất: </b>

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 cá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) và thiết bị giao diện ng°ßi dùng (màn hình, bàn phím, chuột),....

</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38">

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 các 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 là bus. Một bus là một tập hợp dây dẫn và 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ử, các thông điệp đ°ợc truyền bái các mẫu điện thế điện tử đ°ợc áp dÿng tới các 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 và thiết bị C gán vào một cổng máy tính, sự sắp xếp này đ°ợc gọi là chuỗi nái tiếp. Một chuỗi nái tiếp th°ßng điều hành nh° một bus.

<b>2.4.1.1. Thăm dị: </b>

Giao thức hồn chỉnh cho việc giao tiếp giữa máy tính và bộ điều khiển rất phức tạp nh°ng ký hiệu bắt tay (handshaking) là đ¡n giản. Giả sử rằng 2 bits đ°ợc dùng để hợp tác trong mái quan hệ ng°ßi sản xuất-ng°ßi tiêu thÿ giữa bộ điều khiển và máy chā. Bộ điều khiển hiển thị trạng thái cāa nó thơng qua bit bận (busy bit) trong thanh ghi trạng thái. Bộ điều khiển đặt bit bận khi nó đang làm việc và xố bit bận khi nó sẳn sàng nhận lệnh tiếp theo. Máy tính ra tín hiệu mong muán bằng bit sẳn sàng nhận lệnh (command-ready bit) trong thanh ghi lệnh. Máy tính thiết lập bit sẳn sàng nhận lệnh khi 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:

1. Máy tính lặp lại việc đọc bit bận cho tới khi bit này bị xố

2. Máy tính thiết lập bit viết trong thanh ghi lệnh và viết một byte vào thanh ghi dữ liệu xuất 3. Máy tính đặt bit sẳn sàng nhận lệnh

4. Khi bộ điều khiển nhận thấy rằng bit sẳn sàng nhận lệnh đ°ợc đặt, nó đặt bit bận

5. Bộ điều khiển đọc thanh ghi lệnh và thấy lệnh viết. Nó đọc thanh ghi xuất dữ liệu để lấy một byte và thực hiện nhập/xuất tới thiết bị.

6. Bộ điều khiển xoá bit sẳn sàng nhận lệnh, xoá bit lỗi trong thanh ghi trạng thái để hiển thị rằng thiết bị nhập/xuất thành cơng, và xố bit bận để hiển thị rằng nó đ°ợc kết thúc. Vịng lặp này đ°ợc lặp cho mỗi byte.

Trong b°ớc 1, máy tính là chß đợi bận hay thăm dị. Nó á trong một vòng lặp, đọc thanh ghi trạng thái cho đến khi bit bận đ°ợc xoá. Nếu bộ điều khiển và thiết bị nhanh thì ph°¡ng pháp này là 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ế nào để biết khi nào 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 dữ liệu sẽ bị mất. Thí dÿ, khi dữ liệu đang truyền vào cổng tuần tự từ bàn phím, một vùng đệm nhß trên bộ điều khiển sẽ tràn và dữ liệu sẽ bị mất nếu máy tính chß q lâu tr°ớc khi trả về các bytes đ°ợc đọc.

Trong nhiều kiến trúc máy tính, 3 chu kỳ lệnh CPU đā để thăm dò một thiết bị: read một thanh ghi thi<i><b>ết bị, thực hiện phép tính luận lý and để lấy bit trạng thái và tách ra (branch) nếu khác </b></i>

0. Rõ ràng, thao tác thăm dò c¡ bản là đā. Nh°ng thăm dị trá nên khơng đā khi đ°ợc lặp lại nhiều lần, hiếm khi tìm một thiết bị sẳn sàng phÿc vÿ trong lần thăm dò đầu tiên, trong khi cần dùng CPU để xử lý cho các 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 khi nào thiết bị sẳn sàng phÿc vÿ h¡n là yêu cầu CPU lặp lại việc thăm dị cho việc hồ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 là ngắt (interrupt).

</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">

<i>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 </i>

thi tr°ớc khi ngắt. Chúng ta nói rằng bộ điều khiển thiết bị sinh ra một ngắt bằng cách xác định tín hiệu trên dịng u cầu ngắt và 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).

<b>2.4.1.3. Truy xuất bá nhß trực ti¿p: </b>

Đái với một thiết bị thực hiện việc truyền lớn nh° ổ đĩa, nó sẽ lãng phí khi dùng bộ vi xử lý để theo dõi các bit trạng thái và đẩy dữ liệu vào thanh 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 này tới một bộ điều khiển có mÿc

<i><b>đích đặc biệt đ°ợc gọi là bộ điều khiển truy xuất bộ nhớ trực tiếp (direct memory-access-DMA). </b></i>

</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40">

Để 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 này chứa một con trß chỉ tới nguãn chuyển, một con trß chỉ tới đích chuyển và đếm sá l°ợng byte đ°ợc chuyển. CPU viết địa chỉ cāa khái lệnh này 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 các địa chỉ trên bus để thực hiện việc chuyển mà khơng có sự trợ giúp cāa CPU. Một bộ điều khiển DMA

<i>đ¡n giản là một thành phần chuẩn trong PCs, và bảng nhập/xuất bus chính (bus-mastering I/O </i>

boards) để PC th°ßng chứa phần cứng DMA tác độ cao. Q trình này đ°ợc mơ tả trong hình.

<b>2.4.2. Phần mÁm nhập/xuất: </b>

Mÿc tiêu chung cāa thiết bị logic là dể biểu diễn. Thiết bị logic đ°ợc tổ chức thành nhiều lớp. Lớp d°ới cùng giao tiếp với phần cứng, lớp trên cùng giao tiếp tát, thân thiện với ng°ßi sử dÿng. Khái niệm then chát cāa thiết bị logic là độc lập thiết bị, ví dÿ : có thể viết ch°¡ng trình truy xuất file trên đĩa mềm hay đĩa cứng mà không cần phải mô tả lại ch°¡ng trình cho từng loại thiết bị. Ngồi ra, thiết bị logic phải có khả năng kiểm sốt lỗi. Thiết bị logic đ°ợc tổ chức thành bán lớp:

+ Kiểm soát lỗi. + Điều khiển thiết bị.

+ Phần mềm hệ điều hành độc lập thiết bị. + Phần mềm mức ng°ßi sử dÿng.

<b>2.4.2.1. Kiểm sốt ngắt: </b>

Ngắt là một hiện t°ợng phức tạp. Nó phải cần đ°ợc che dấu sâu trong hệ điều hành, và một phần ít cāa hệ tháng biết về chúng. Cách tát nhất để che dấu chúng là hệ điều hành có mọi tiến trình thực hiện thao tác nhập xuất cho tới khi hoàn tất mới tạo ra một ngắt. Tiến trình có thể tự khóa lại bằng cách thực hiện lệnh WAIT theo một biến điều kiện hoặc RECEIVE theo một thông điệp.

</div>

×