Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 46 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
46
Dung lượng
403 KB
Nội dung
Khái niệm và kỹ thuật Hệ điều hành M. Naghibzadeh 1 Nội dung Lời Tựa Chương 1 Tổ Chức Phần Cứng Máy Tính 1 Chu Trình Tìm Nạp – Thi Hành2 Tổ Chức Phần Cứng Máy Tính 3 Tóm Tắt 4 Các Vấn Đề 5 Chương 2 Tiến Trình Khởi Động và BIOS 6 2.1 Các Hoạt Động BIOS 7 2.1.1 Tự Kiểm Tra Nguồn 7 2.1.2 Logo của Nhà Sản Xuất BIOS 7 2.2 Tiến Trình Khởi Động Hệ Điều Hành 8 2.3 Các Cơ Chế Bảo Vệ 9 2 Lời Tựa Máy tính được sử dụng rộng rãi trong hầu hết tất cả các hoạt động của người hiện đại ngày nay. Chúng được sử dụng bởi người dân ở mọi lứa tuổi trong nhiều môi trường. Chúng ta nhận thấy máy tính như là một tập hợp của các thiết bị như vỏ máy, màn hình, bàn phím, chuột,… được gọi chung là phần cứng. Trong một phiên làm việc với máy tính, chúng ta bật nó, chờ một vài phút cho đến khi nó sẵn sàng để sử dụng và sau đó bắt đầu yêu cầu hệ điều hành chạy chương trình mà chúng ta đã chọn. Vì vậy, nó là chính xác để giả thiết rằng mỗi máy tính có một hệ điều hành. Hệ điều hành (OS) là chương trình thiết yếu nhất của tất cả mà không có nó thì trở trên hết sức cồng kềnh để làm việc với máy tính. Nó là giao diện giữa phần cứng và chúng ta (tức là người dùng máy tính), nó làm cho việc sử dụng phần cứng dễ dàng và dễ chịu hơn nhiều. Chúng ta tự mình làm quen với hệ điều hành và các dịch vụ của nó giúp chúng ta dùng máy tính hiệu quả hơn và làm tốt những công việc của chúng ta. Với điều này trong tâm trí, chúng ta cần biết các dịch vụ của hệ điều hành và làm thế nào để sử dụng chúng. Bản thân hệ điều hành phải được viết sao cho nó có thể khai thác phần cứng hiệu quả nhất có thể. Nhiều nỗ lực đã được đặt vào vấn đề này. Từ khi máy tính được phát minh vào những năm 1940, nhiều nhà khoa học đã cố gắng để làm cho phần mềm này thân thiện người dùng và hiệu quả cho hoạt động của phần cứng. Kết quả cuối cùng thực sự là một kiệt tác sử dụng vô số sáng kiến và thành quả của nhiều công việc khó khăn. Có hàng chục hệ điều hành với kích thước và thương hiệu khác nhau, và hàng trăm cuốn sách hướng dẫn chúng ta cách sử dụng chúng. Hơn nữa, nhiều nhà cải cách và nhiều tác giả đã viết sách về giải thích các khái niệm thiết kế hệ điều hành. Những độc giả dự kiến sau đó là các chuyên gia hệ điều hành và sinh viên đại học đang tham gia các khoá học về các chủ đề tương tự. Trong cuốn sách này, chúng tôi lần đầu tiên thảo luận về một khía cạnh ít làm rõ của hệ điều hành, cụ thể là cách hệ điều hành tiếp quản phần cứng và trở thành chủ sở hữu nội bộ thực sự của máy tính. Kiến thức này cộng với một cái nhìn vĩ mô của những gì hệ điều hành làm và cách nó làm điều đó, cung cấp một cái nhìn sâu sắc và ưu việt để làm cho sử dụng tốt hơn các phương tiện tổng thể của máy tính. Nó cũng cung cấp nền tảng cho một sự hiểu biết toàn diện hơn trong các khía cạnh phức tạp của hệ điều hành. Sau đó, chúng ta chi tiết hoá các khái niệm, phương pháp và kỹ thuật được sử dụng trong thiết kế hệ điều hành. Cuốn sách này dành cho những ai đang sử dụng máy tính nhưng vẫn chưa thoải mái với cách hệ điều hành quản lý các chương trình và các tài nguyên hiện có để thực hiện các yêu cầu một cách chính xác và nhanh chóng. Các sinh viên đại học sẽ được hưởng lợi nhiều nhất khi họ là những người bắt đầu sử dụng máy tính cho tất cả các loại hoạt động, bao gồm cả thư 3 điện tử, internet, chat, giáo dục, lập trình, nghiên cứu, chơi game,…. Các sinh viên muốn biết thêm về chương trình ( được xem là chương trình nền) mà giúp để làm cho mọi thứ diễn ra tự nhiên. Nó đặc biệt mang lại lợi ích cho sinh viên đại học Công Nghệ Thông Tin, khoa Học Máy Tính, Kỹ Thuật Máy Tính. Theo quan điểm của tôi, cuốn sách này chắc chắc phải được đọc bởi các sinh viên tham gia một khoá học hệ điều hành. Nó cho một mô tả rõ ràng về các khái niệm tiên tiến lần đầu tiên được phát minh và cách chúng thực hiện trong những hệ điều hành hiện đại. So với các sách giáo khoa đại học khác về chủ đề tương tự, cuốn sách này được cắt giảm bằng cách loại bỏ các cuộc thảo luận dài dòng về các chủ đề chỉ có giá trị lịch sử. Trong chương 1, một mô hình đơn giản của phần cứng máy tính được trình bày. Chúng ta cố gắng không bao gồm bất kỳ chi tiết nào mà không liên quan trực tiếp tới mục tiêu của chúng ta. Chu trình tìm nạp-thi hành của các lệnh thực hiện được mô tả trong chương này. Trong chương 2, vai trò của BIOS trong kiểm tra hệ thống ban đầu và tiến trình khởi động hệ điều hành được giải thích. Góc nhìn theo lớp của hệ điều hành được chi tiết hoá. Phần Nhân (phần thiết yếu của mầm mống hệ điều hành) và vai trò của nó trong việc giúp đáp ứng nhu cầu của các lớp khác của hệ điều hành và người dùng máy tính được nói đến. Một vấn đề quan trọng khác gọi là bảo mật và bảo vệ máy tính được giải thích. Chương 3 mô tả các lý do đằng sau đa lập trình, đa nhiệm, đa xử lý và đa luồng. Các yêu cầu cơ bản nhất để tạo điều kiện thuận lợi cho các kỹ thuật này cũng được thảo luận trong chương này. Một cuộc thảo luận ngắn gọn về các trạng thái tiến trình, sơ đồ chuyển trạng thái và truy cập bộ nhớ trực tiếp được cung cấp. Các nền tảng cơ bản của phương pháp đa luồng và điểm giống và khác nhau của nó để đa lập trình được tô sáng. Chương 4 nói về các tiến trình. Các câu hỏi quan trọng được trả lời trong chương này như là: tiến trình là gì? Tại sao và làm thế nào một tiến trình được tạo ra? Những thông tin gì chúng ta cần giữ cho quản lý mỗi tiến trình? Một tiến trình chấm dứt như thế nào? Mối quan hệ giữa một tiến trình con và tiến trình bố mẹ của nó là gì? Khi nào một tiến trình chấm dứt? Một cuộc thảo luận ngắn gọn được bao gồm trên các thuộc tính của hệ điều hành dựa trên tiến trình. Các kịch bản cuộc sống thực của chương này được dựa trên hệ điều hành UNIX là một hệ điều hành dựa trên tiến trình. Chương này nhấn mạnh tiến trình như thực thể sống duy nhất của hệ điều hành dựa trên tiến trình. Chuyển tiếp trạng thái có thể của các tiến trình được thảo luận và vai trò của hệ điều hành trong mỗi chuyển tiếp được giải thích. Chương 5 tập trung vào các luồng. Mặc dù tồn tại các tiến trình, lý do cho việc sử dụng các luồng được giải thích cùng với mối quan hệ của nó tới các tiến trình. Một số hệ điều hành dựa trên luồng. Các chức năng Nhân của kiểu hệ điều hành này được thực hiện bởi tập hợp các luồng. Ngoài ra, một luồng sơ cấp được sinh ra ngay khi tiến trình được tạo ra. Các câu hỏi khác được nghiên cứu trong chương trình này như: luồng là gì? Tại sao và làm thế nào 4 một luồng được tạo ra? Những thông tin gì chúng ta cần giữ cho quản lý mỗi luồng? Một luồng chấm dứt như thế nào? Mối quan hệ giữa một luồng con và luồng bố mẹ của nó là gì? Khi nào một luồng chấm dứt? Ví dụ được lấy từ hệ điều hành Windows, các chuyển tiếp trạng thái có thể của các luồng được thảo luận và vai trò của hệ điều hành trong mỗi chuyển tiếp được giải thích. Lập kế hoạch là chủ đề của chương 6. Đây là một trong những khái niệm có ảnh hưởng nhất trong việc thiết kế các hệ điều hành hiệu quả. Đầu tiên, các thuật ngữ liên quan: thời gian yêu cầu, thời gian xử lý, ưu tiên, thời hạn, thời gian chờ và preemptability được định nghĩa ở đây. Tiếp theo, các mục tiêu lập kế hoạch được thảo luận: tối đa hoá thông lượng, thời hạn đáp ứng, giảm thời gian chu kỳ quay trung bình, giảm thời gian đáp ứng trung bình, tôn trọng các ưu tiên, tối ưu hoá sử dụng tiến trình, cân bằng hệ thống, và công bằng. Bốn hạng mục lập lịch biểu là: mức cao, mức trung bình, mức thấp, và mức I/O được phân biệt rõ ràng. Nhiều thuật toán được dùng trong các tiến trình lập lịch biểu trong môi trường đơn bộ xử lý được khảo sát. Chúng bao gồm: đến trước được phục vụ trước (FIFS), công việc ngắn nhât (SJF), tỉ lệ đáp ứng cao nhất, chia sẻ ngang hàng, và xoay tua (RR). Hầu hết các thuật toán lập lịch biểu này cũng có thể được dùng trong môi trường đa xử lý. Lập lịch biểu theo nhóm cũng được kiểm tra cho các hệ thống đa xử lý. Các thuật toán “Intelligent rate-monotonic” và “thời hạn sớm nhất đầu tiên” được sử dụng rộng rãi trong lập lịch biểu của các hệ thống thời gian thực. Các trình lập lịch biểu được giới thệu trong chương này. Biểu diễn các nghiên cứu trường hợp được dựa trên Linux. Chương 7 khảo sát các chính sách quản lý bộ nhớ. Giới thiệu ngắn gọn các chính sách cũ hơn như phân vùng liên kết đơn, phân vùng tĩnh, phân vùng động, và quản lý bộ nhớ phân đoạn. Chính sách quản lý bộ nhớ ảo được thảo luận kế tiếp. Quản lý bộ nhớ phân vùng tái định vị được và quản lý bộ nhớ trang cũng là hai đối tượng khác được bao gồm. Trọng tâm của chương này là trên các chính sách quản lý bộ nhớ ảo. Tất cả chúng đều là chính sách quản lý bộ nhớ ảo dựa trên trang được tuân theo bởi hầu hết các hệ điều hành hiện đại. Một phần tốt của phần này được dành cho các thuật toán gỡ bỏ trang. Bảng trang của các chương trình lớn chiếm một lượng lớn không gian bộ nhớ. Chúng ta đã trình bày tổ chức bảng trang nhiều cấp như là một phương pháp để tận dụng ứng dụng của kỹ thuật bộ nhớ ảo tới các bảng trang khả dĩ. Windows sử dụng một bảng trang 2 cấp và mô hình này được khảo sát chi tiết, như nghiên cứu trường hợp của chính sách bảng trang nhiều cấp. Chúng ta cẩn thận nghiên cứu các kỹ thuật phiên dịch địa chỉ - đây là bộ phận thiết yếu của bất kỳ quản lý bộ nhớ trang nào cũng như các chính sách quản lý bộ nhớ yêu cầu trang. Cả sự phân mảnh bên trong cũng như bên ngoài được nhìn vào. Vào cuối chương, một phần bổ sung trong quản lý bộ nhớ đệm là đặc trưng. Thực tế kỹ thuật trình bày trong chương này được dựa trên UNIX. Các tiến trình chạy đồng thời cạnh tranh cho các tài nguyên máy tính. Mỗi tiến trình thích chộp các tài nguyên của nó vào thời gian sớm nhất có thể. Một hoà giải phải can thiệp để giải quyết xung đột. Hoà giải đó là giao tiếp liên tiến trình/đồng bộ hoá hệ thống con của hệ điều 5 hành. Điều kiện tranh đua, khu vực quan trọng, và khái niệm loại trừ lẫn nhau được định nghĩa trước tiên. Nó đã được tìm thấy bằng cách đảm bảo loại trừ lẫn nhau, không xung đột tài nguyên chia sẻ trở thành khả dĩ. Phương pháp để đạt được điều này được chia thành 5 lớp, cụ thể là: vô hiệu hoá ngắt, bận rộn – chờ đợi, mã hiệu, thiết bị hiển thị, và thông điệp. Chúng ta đã bao gồm những phương pháp này để xử lý giao tiếp/đồng bộ hoá trong chương 8. Bế tắc là một tác dụng phụ không mong muốn của việc đảm bảo loại trừ lẫn nhau. Khái niệm này được giải thích và các cách đối phó với Bế tắc được thảo luận. Phớt lờ Bế tắc, phòng ngừa Bế tắc, tránh né Bế tắc, phát hiện và phục hồi Bế tắc là 4 cách tiếp cận được thảo luận trong chương 9. Một tác dụng phụ ít quan trọng hơn là Thiếu ăn. Tình thế khó xử của các nhà triết học ầm ĩ, như một ví dụ cổ điển của vấn đề giao tiếp liên tiến trình, được định nghĩa. Nó chỉ ra rằng các giải pháp đơn giản có thể gây ra Bế tắc và Thiếu ăn. Chúng tôi đã cung cấp một giải pháp Bế tăc chấp nhận được và giải pháp không nhịn đói cho vấn đề này. Trong ngữ cảnh này, khái niệm Thiếu ăn được làm sáng tỏ. Chương 10 được dành riêng cho phân hạng hệ điều hành và một giới thiệu tới các phương pháp luận mới trong thiết kế hệ điều hành. Với nhứng tiến bộ trong công nghệ phần mềm, thiết kế hệ điều hành và thực thi cũng có tiến bộ. Về phương diện này, các hệ điều hành nguyên khối, các hệ điều hành có cấu trúc, các hệ điều hành hướng đối tượng, và các hệ điều hành có tác nhân là những hệ điều hành đặc biệt. Dựa vào các thực thể hành động, hệ điều hành được phân hạng như dựa trên tiến trình, dựa trên luồng, và dựa trên tác nhân. Những sự khác nhau của các phạm trù này được làm nổi bật trong chương này. Nhân là một phần quan trọng của mọi hệ điều hành. Chúng tôi đã phân biệt giữa Nhân vĩ mô, Nhân vi mô và các Nhân có thể mở rộng được. Thiết kế Nhân mở rộng được là một đề tài nghiên cứu mới và nhiều nỗ lực đang đi vào việc sản xuất thương mại các Nhân mở rộng được. Thêm một phân hạng tham số nữa là cấu trúc phần cứng nằm dưới một hệ điều hành. Nền tảng có thể là bộ đơn xử lý, bộ đa xử lý, hệ thống phân tán, hay internet. Các thuộc tính của các hệ điều hành tương ứng được mô tả. Các hệ thống thời gian thực yêu cầu các hệ điều hành đặc biệt cốt để cung cấp điều kiện cơ bản của dịch vụ cần thiết cho những môi trường này. Các hệ điều hành thời gian thực và phi thời thời gian thực là những chủ đề cuối cùng được khảo sát trong chương này. Tôi muốn bày tỏ sự biết ơn tới sự khích lệ và động viên của vợ, con trai và con gái của tôi. Những sự hỗ trợ của họ làm cho việc viết cuốn sách này là một điều hấp dẫn đối với tôi. Ngoài ra, tôi muốn cám ơn Victoria Balderrama về sự hỗ trợ của cô ấy trong việc đính chính cuốn sách này. M. N a g hibzadeh 6 Chương 1 TỔ CHỨC PHẦN CỨNG MÁY TÍNH Một máy tính gồm có một tập hợp các mô-đun phần cứng đúng mức được nối cùng nhau để tương tác theo cách mà toàn bộ hệ thống thì đáng tin cậy và thực hiện nhiệm vụ của nó trong một phương thức đúng đắn. Hệ điều hành nằm trên phần cứng máy tính. Nó sử dụng các phương tiện phần cứng để làm những gì mà nó được giả định để làm. Để hiểu hệ điều hành, nó rất có ích nếu một hình chiếu đơn giản hoá của phần cứng được hiện ra đầu tiên. Việc đi vào các chi tiết của các mô-đun và các mạch là không cần thiết và vì thế sẽ làm lệch hướng sự chú ý ra khỏi các mục đích chính của chúng ta. Máy tính là một thiết bị chạy các chương trình. Một chương trình là một tập hợp các câu lệnh được chuyển bị để làm một công việc đặc biệt. Những chương trình khác nhau được viết để làm những công việc khác nhau. Điều này làm cho máy tính có thể làm những thứ khác nhau cho chúng ta. Một chương trình được lưu trữ trên đĩa như thường lệ. Chúng có thể là một đĩa quang (CD), đĩa mềm, …, nhưng nó cần phải có bộ nhớ chính của máy tính cốt để chạy. Bộ nhớ chính của máy tính thường được gọi là RAM. Bộ nhớ chính được gọi là RAM vì thời gian truy cập của tất cả các vị trí là như nhau. Nó không có vấn đề gì dù vị trí trong bộ nhớ ở nơi bắt đầu, nơi kết thúc hay bất kỳ nơi nào ở giữa. Ngay khi một chương trình sẵn sàng chạy thì nó không còn được gọi là chương trình, đúng hơn là nó được gọi là tiến trình. Chúng ta sẽ không kén chọn, trong chương này, và tuy nhiên sẽ sử dụng chương trình và tiến trình có thể thay thế cho nhau. Cái gì đem chương trình tới bộ nhớ chính? Dĩ nhiên, đó là một chương trình khác được gọi là chương trình nạp với sự giúp đỡ của hệ điều hành. Sử dụng ngôn ngữ máy tính, các chương trình được viết bởi lập trình viên (con người). Những chương trình này phải được dịch thành một ngôn ngữ thân thiện máy tính mà thông thường gọi là ngôn ngữ máy. Cái gì thực hiện dịch? Một lần nữa, một chương trình được gọi là chương trình dịch với sự giúp đỡ của hệ điều hành sẽ thực hiện việc này. CHU TRÌNH TÌM NẠP - THI HÀNH Máy tính đọc một câu lệnh từ RAM và di chuyển nó tới một vị trí tạm gọi là thanh ghi lệnh (Instruction Register – IR) trong CPU. Sau đó nó tìm ra những gì phải làm đối với câu lệnh này và thực hiện hoạt động. Máy tính lặp lại chu trình di chuyển một câu lệnh này từ bộ nhớ chính tới CPU và thi hành nó rất nhiều lần. Một cách nhìn chi tiết hơn về hoạt động được thể hiện ở hình 1.1. 7 Trong hình 1.1, bộ đếm chương trình (Program Counter – PC) là thanh ghi duy trì giám sát những gì câu lệnh phải được thi hành tiếp theo. PC được điền tự động với một giá trị ban đầu khi máy tính được khởi động và sau đó nó được cập nhật như thể hiện trong hình 1.1. Hình 1.1: Một mô hình chức năng đơn giản hóa của một máy tính Một thanh ghi là một bộ nhớ nhỏ tạm thời trong CPU. Trong một số sách, PC được gọi là bộ đếm vị trí (Location Counter – LC), nhưng khi phân biệt là cần thiết, chúng ta sẽ sử dụng LC khi nói về một con trỏ trỏ vào câu lệnh kế tiếp của chương trình hiện hành và PC khi chúng ta nói đến thanh ghi trong CPU giữ LC của chương trình hiện hành. Các phương tiện tìm nạp di chuyển một câu lệnh từ bộ nhớ chính tới CPU và thực hiện một số hành động sơ bộ như điều chỉnh LC và giải mã lệnh (tìm ra những thao táo của nó). 8 Các câu lệnh bắt nguồn từ một chương trình mà hiện giờ đang được thi hành. Bên trong một chương trình, khi một câu lệnh được thi hành, câu lệnh tiếp theo được tìm nạp là hầu hết có thể theo sau ngay lập tức. Tuy nhiên, điều đó không là trường hợp thường xuyên. Quan sát một phần của chương trình dưới đây được viết trong định dạng mã giả ( pseudo code). Một mã giả là một thuật toán (hoặc một mẩu thuật toán) được thể hiện trong một ngôn ngữ đơn giản tương tự như một ngôn ngữ lập trình, nhưng điều đó đó không phải là thực tế. if A > B then print A else print B endif Ở đây, chúng tôi muốn máy tính để thực hiện 2 hoặc 3 lệnh, nhưng không phải cả hai. Phải có cách nhảy nhảy qua 2 lệnh khi chúng ta không muốn thực hiện nó. Điều này thực sự được làm bởi bởi một lệnh nhảy. Việc thi hành một lệnh nhảy là để thay đổi nội dung của PC thành địa chỉ của lệnh kế tiếp phải được thực hiện. Mô hình được trình bày trong hình 1.1 là cho máy tính tuần tự, nghĩa là, nói đại khái, một máy tính với một đơn vị xử lý tổng quát được gọi là CPU. Có những máy tính được gọi là máy tính đa bộ xử lý thì nhanh hơn nhiều so với các máy tính tuần tự và có thể chạy nhiều chương trình cùng một lúc. Hầu hết các máy tính mà chúng ta đang sử dụng, ví dụ máy tính cá nhân là kiểu tuần tự. John Von Neumann, Presper Eckert, John Mauchly, và Hermann Goldstine là những nhà khoa học phát minh ra máy tính kỹ thuật số điện tử đầu tiên. Trong thời gian thực hiện một chương trình, dữ liệu và các câu lệnh được lấy từ bộ nhớ chính, vì thế, nó là cần thiết để có những chuẩn bị trước. Kỹ thuật này được gọi là khái niệm chương trình lưu trữ và được ghi nhận đầu tiên bởi John Von Neumann. Theo khái niệm này, các chương trình, dữ liệu, và kết quả được lưu trữ trong bộ nhớ giống nhau, trái ngược với những bộ nhớ riêng biệt. Việc đổi mới chương trình lưu trữ là một bước tiến lớn trong việc thúc tiến lĩnh vực khoa học và kỹ thuật máy tính từ các thẻ đục lỗ đến các bộ nhớ có thể tái sử dụng nhanh chóng. CPU của máy tính gồm có đơn vị logic số học (Arithmetic Logic Unit – ALU), đơn vị điều khiển (Control Unit – CU), các thanh ghi đặc biệt, và các bộ nhớ tạm. ALU là tập hợp của tất cả các hệ mạch thực hiện các phép tính số học và logic như cộng, nhân, so sánh, và logic “AND”. CU chịu trách nhiệm diễn dịch của mỗi lệnh, chỉ định các bước nhỏ phải được giữ để tiến hành lệnh, và kích hoạt thực tế của các hệ mạch để làm mỗi bước. Chúng ta đã sử dụng các thanh ghi đặc biệt. Hai trong số đó là thanh ghi lệnh (IR) và bộ đếm chương trình (PC). Có nhiều thanh ghi khác giữ các kết quả của lệnh hiện hành, các tình trạng máy tính, và hơn thế nữa. Cũng có một hay nhiều tập các thanh ghi được dành riêng cho chương trình đang chạy (tức là đang được thi hành). Dữ liệu được cần đến thường xuyên hoặc sẽ cần 9 đến trong tương lai gần, có thể được giữ trong các thanh ghi này. Bằng cách này, chúng ta tiết kiệm thời gian bằng cách không gửi chúng tới hoặc lui tới bộ nhớ chính. Bộ nhớ đệm cũng là một phần thiết yếu của các máy tính hiện nay. Nó là bộ nhớ tạm tương đối lớn hơn có thể lưu trữ một phần dữ liệu và các câu lệnh của chương trình. Chúng thực sự là bản sao của của dữ liệu và các câu lệnh giống nhau cư trú trong bộ nhớ chính. TỔ CHỨC PHẦN CỨNG MÁY TÍNH Trong mỗi máy tính có nhiều các thiết bị phần cứng. CU, ALU, bộ nhớ đệm, và bộ nhớ chính là các thiết bị bên trong cơ bản. Các thiết bị khác hoặc là được cài đặt bên trong hoặc như các thiết bị bên ngoài. Tất cả các thiết bị này một cách tổng thể tạo thành đơn vị bị nhập/xuất (I/O) của máy tính. Hình 1.2 minh hoạ một mô hình phần cứng của một máy tính đa dụng. Chỉ có các kết nối thiết yếu được hiện thị trên hình này. Một máy tính đa dụng có thể chạy nhiều chương trình khác nhau. Vì thế, nó có thể thực hiện nhiều tác vụ và nó không bị giới hạn để làm một (hoặc rất ít) tác vụ. Mặt khác, chúng ta có thể nghĩ đến một máy tính chuyên dụng. Một máy tính chuyên dụng được thiết kế và xây dựng để được sử dụng trong một môi trường cụ thể và làm một hay một vài các tác vụ cụ thể có hiệu quả. Ở loại máy tính này, chương trình mà nó chạy không thường xuyên thay đổi. Trong thực tế, tất cả các mô-đun của một máy tính được kết nối thông qua một bus bên trong. Bus có thể được xem như một đường cao tốc ba làn xe, với mỗi làn được giao để sử dụng cụ thể. Một làn để truyền dữ liệu, một làn khác để truyền địa chỉ và làn thứ ba để kiểm soát tín hiệu. Mỗi byte (tập hợp các ô) trong bộ nhớ chính được cấp một địa chỉ tạo điều kiện cho truy tìm byte đó. Định địa chỉ bắt đầu ừ 0 được gán cho các byte đầu tiên cuả bộ nhớ. Bằng cách cấp các số nguyên liên tiếp đến các vị trí liên tiếp, định địa chỉ tiếp tục đến vị trí cuối cùng của bộ nhớ. 10 [...]... gọi là THE, hệ điều hành được thiết kế bởi Edsger Dijkstra Một hệ điều hành được gọi là THE là cơ sở của hầu hết các hệ điều hành hiện đại, ví dụ UNIX và Windows Hệ điều hành THE sử dụng 2 khái niệm rất quan trọng, cụ thể là thiết kế hệ điều hành phân cấp và đa lập trình Người thiết kế hệ điều hành THE là Edsger W Dijkstra, ông là một trong những người tiên phong trong lĩnh vực hệ điều hành 17 Hình... hoàn cảnh, ví dụ, chi chúng ta đã cài đặt một hệ điều hành và muốn cài đặt một hệ điều hành thứ hai, có thể nạp nguồn hệ điều hành từ CD vào đĩa cứng và sau đó bắt đầu chương trình thích hợp (tập tin cài đặt) để thực hiện việc cài đặt Như đã thấy, hoặc hệ điều hành thực hiện tiến trình tự cài đặt hoặc một hệ điều hành đã cài đặt trước đó giúp cài đặt hệ điều hành mới Giả sử ổ CD được cài là thiết bị khởi... bất kỳ hệ điều hành nào mà chúng ta thích Vì thế, hệ điều hành phải được cài đặt sau khi máy tính được mua về Hệ điều hành thường được lưu trữ trên một CD và phải được chuyển vào bộ nhớ chính để trở thành thiết thực Ổ cứng nhanh hơn nhiều so với ổ CD, vì thế chúng ta thích chuyển vĩnh viễn hệ điều hành từ CD vào đĩa cứng Điều này sẽ tiết kiệm một lượng rất lớn thời gian trong việc sử dụng hệ điều hành. .. thiết kế tốt và một số khác được thế kế kém Tương tự, không phải tất cả hệ điều hành được thiết kế là giống nhau BIOS không biết tất cả các thuộc tính và các chi tiết của hệ điều hành được nạp Vì thế, BIOS chỉ bắt đầu tiến trình nạp hệ điều hành và sau đó chuyển kiểm soát cho chính bản thân hệ điều hành khi hoàn tất tiến trình Điều này nghe có vẻ hợp lý BIOS phải biết ít nhất vị trí của hệ điều hành nằm... gọi hệ thống (hoặc dịch vụ Nhân) Có nhiều lời gọi hệ thống trong mỗi hệ điều hành Mặc dầu các chương trình lời gọi hệ thống có thể trực tiếp sử dụng thường trình Nhân và thường trình BIOS mà không cần quan sát các lớp hệ điều hành phân cấp Tuy nhiên, hệ điều hành đảm bảo sẽ không có hại tới hệ điều hành hay các tiến trình đang chạy đồng thời với chương trình ứng dụng này 2.4 SUY NGHĨ VỀ HỆ ĐIỀU HÀNH... một vài thiết bị như thế Cài đặt một thiết bị liên quan đến việc đăng ký thiết bị với hệ điều hành và cung cấp một trình điều khiển thiết bị cho sự giao tiếp giữa thiết bị và các bộ phận khác của máy tính Tiến trình cài đặt được bắt đầu hoặc là tự động bởi bản thân hệ điều hành hoặc thao tác bằng tay bởi người dùng Các hệ điều hành ngày nay thì thông minh; và một khi máy tính được bật, hệ điều hành. .. một phần thiết yếu của hệ điều hành và được thiết kế với độ chính xác cao nhất Những khái niệm sử dụng trong Nhân được lý thuyết chứng minh là làm việc tốt và không sảy ra bất kỳ tác dụng phụ không mong muốn nào Hình 2.2: Máy 3 lớp với BIOS hệ thống và nhân OS 20 Có một hay nhiều các lớp của hệ điều hành nằm trên cùng của nhân Số lượng các lớp khác nhau tùy theo từng hệ điều hành Số lượng chính xác... IPL) là thiết bị có thể có một hệ điều hành, như CD hoặc đĩa cứng Một thiết bị chứa hệ điều hành và từ đó hệ điều hành có thể được nạp được gọi là một thiết bị có khả năng khởi động Nếu bạn nhớ, thứ tự các thiết bị có khả năng khởi động ổn định được sử dụng để nạp hệ điều hành có thể được xác định hoặc sửa đổi bởi người dùng khi đang thiết lập BIOS Có một bảng IPL và một điều khiển vô tuyến ưu tiên IPL... khi hệ điều hành của bạn hiện lên Bạn chạy hệ điều hành của riêng bạn Nó có thể chạy bất kỳ chương trình nào không? Nó có cơ chế bảo vệ không? Nó có những tiện ích nào như định dạng ổ đĩa và sao chép tập tin không? Không! Nhưng hệ điều hành của bạn sở hữu các tiện ích máy tính và bạn biết những gì nó làm một cách chính xác và cách nó thiết lập như thế nào 2.5 TÓM TẮT Theo sau các khái niệm phức tạp và. .. từ một phương tiện truyền thông có khả năng khởi động, được cho là một phần nhỏ của hệ điều hành Chương trình mới này sẽ nạp một phần khác của hệ điều hành và như vậy cho đến khi các phần thiết yếu của hệ điều hành được nạp hoàn toàn Một số phần của hệ điều hành được nạp theo yêu cầu và có thể có hoặc không được nạp vào trong một phiên làm việc với máy tính Cấu trúc thượng tầng theo lớp cũng cung cấp . các hệ điều hành nguyên khối, các hệ điều hành có cấu trúc, các hệ điều hành hướng đối tượng, và các hệ điều hành có tác nhân là những hệ điều hành đặc biệt. Dựa vào các thực thể hành động, hệ. riêng cho phân hạng hệ điều hành và một giới thiệu tới các phương pháp luận mới trong thiết kế hệ điều hành. Với nhứng tiến bộ trong công nghệ phần mềm, thiết kế hệ điều hành và thực thi cũng. của hệ điều hành, cụ thể là cách hệ điều hành tiếp quản phần cứng và trở thành chủ sở hữu nội bộ thực sự của máy tính. Kiến thức này cộng với một cái nhìn vĩ mô của những gì hệ điều hành làm và