Tổng quan về Hệ Điều Hành
2 posters
Trang 1 trong tổng số 1 trang
Tổng quan về Hệ Điều Hành
Hệ điều hành là một chương tŕnh quản lý phần cứng máy tính. Nó cung cấp nền
tảng cho các chương tŕnh ứng dụng và đóng vai trò trung gian giao tiếp giữa người
dùng máy tính và phần cứng của máy tính đó. Hệ điều hành thiết lập cho các tác vụ
này rất đa dạng. Một vài hệ điều hành thiết kế tiện dụng trong khi 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 là gì, trước hết chúng ta phải hiểu chúng được phát triển
như thế nào. Trong bài này chúng ta đ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 và chia thời. Thông qua những
giai đoạn khác nhau chúng ta 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 đề trong những hệ
thống máy tính ban đầu. Xem xét những lý do phía sau sự phát triển của hệ điều hành
cho chúng ta một đánh giá về những tác vụ hệ điều hành làm và cách hệ điều hành
thực hiện chúng.
Hệ điều hành là gì?
Một hệ điều hành là 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, các
chương tŕnh ứng dụng và 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 tŕnh ứng dụng (application programs): tŕnh biên dịch
(compiler), tŕnh soạn thảo văn bản (text editor), hệ cơ sở dữ liệu (database
system), tŕnh duyệt Web,..định nghĩa cách mà trong đó các 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, do đó sẽ có nhiều ứng dụng khác nhau.
o Hệ điều hành (operating system): hay c̣n gọi là chương tŕnh hệ thống,
điều khiển và hợp tác việc sử dụng phần cứng giữa những chương tŕnh
ứng dụng khác nhau cho những người dùng khác nhau. Hệ điều hành có
thể được khám phá từ hai phía: người dùng và hệ thống.
Hình 0-1 Tầm nhìn trừu tượng các thành phần của một hệ thống máy tính
Hệ thống mainframe
Những hệ thống máy tính mainframe là những máy tính đầu tiên được dùng để
xử lư ứng dụng thương mại và khoa học. Trong phần này, chúng ta lần theo sự phát
triển của hệ thống mainframe từ các hệ thống bó (batch systems), ở đó máy tính chỉ
chạy một-và chỉ một -ứng dụng, tới các 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.
Hệ thống bó
Những máy tính thời kỳ đầu là 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 là những bộ đọc thẻ và các ổ đĩa băng từ. Các
thiết bị xuất thông thường thường là những máy in ḍng (line printers), các ổ đĩa từ và
các phiếu đục lỗ. Người dùng không giao tiếp trực tiếp với các 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 tŕnh, dữ liệu và các
thông tin điều khiển về tính tự nhiên của công việc-và gởi nó đến người điều hành
máy tính. Công việc này thường được thực hiện trong các 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 tŕnh cũng như kết xuất bộ nhớ cuối cùng và nội dung các thanh
ghi cho việc gở rối.
Hệ điều hành trong các máy tính thời kỳ đầu này tương đối đơn giản. Tác vụ
chính là chuyển điều khiển tự động từ một công việc này sang công việc khác. Hệ
điều hành luôn được thường trú trong bộ nhớ.
Hình 0-2 Sắp xếp bộ nhớ cho một hệ thống bó đơn giản
Để tăng tốc việc xử lư, người điều hành bó các công việc có cùng yêu cầu và
chạy chúng thông qua máy tính như một nhóm. Do đó, các lập tŕnh viên sẽ đưa
chương tŕnh của họ cho người điều hành. Người điều hành sẽ sắp xếp chương tŕnh
thành những bó với cùng yêu cầu và khi máy tính sẳn dùng sẽ chạy mỗi bó này. Dữ
liệu xuất từ mỗi công việc sẽ gởi lại cho lập tŕnh viên tương ứng.
Trong môi trường thực thi này, CPU luôn rảnh v́ tốc độ của các thiết bị
xuất/nhập dạng cơ thực chất chậm hơn tốc độ của các 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 trên giây) cũng chỉ làm việc trong vài
phần trăm giây. Thêm vào đó, một bộ đọc thẻ nhanh có thể đọc 1200 thẻ trong thời
gian 1 phút (hay 20 thẻ trên giây). Do đó, sự khác biệt giữa tốc độ CPU và thiết bị
xuất/nhập của nó có thể là 3 lần hay nhiều hơn. Dĩ nhiên theo thời gian, sự tiến bộ
trong công nghệ dẫn đến sự ra đờ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 v́ thế vấn đề không những không được giải quyết
mà c̣n 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 trên một
đĩa hơn trong 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 và thực hiện
các tác vụ hữu hiệu.
Hệ đa chương
Một khía cạnh quan trọng nhất của định thời công việc là khả năng đa chương.
Thông thường, một người dùng giữ CPU hay các thiết bị xuất/nhập luôn bận. Đa
chương gia tăng khả năng sử dụng CPU bằng cách tổ chức các công việc để CPU luôn
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 trong bộ nhớ tại một thời điểm. Tập hợp các công việc này là tập con
của các công việc được giữ trong vùng công việc-bởi v́ số lượng các công việc có thể
được giữ cùng lúc trong bộ nhớ thường nhỏ hơn số công việc có thể có trong vùng
đệm. Hệ điều hành sẽ lấy và bắt đầu thực thi một trong các công việc có trong 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ờ và nhận CPU trở lại. Chỉ cần ít 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ình 0-3 Sắp xếp bộ nhớ cho hệ đa chương
Đa chương là một trường hợp đầu tiên khi 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ữ trong vùng công việc. Vùng này chứa tất cả quá tŕnh định
vị trên đĩa chờ được cấp phát bộ nhớ chính. Nếu nhiều công việc sẳn sàng được mang
vào bộ nhớ và nếu không đủ không gian cho tất cả th́ hệ điều hành phải chọn một
trong chúng. Khi hệ điều hành chọn một công việc từ vùng công việc, nó nạp công
việc đó vào bộ nhớ để thực thi. Có nhiều chương tŕnh trong bộ nhớ tại cùng 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 cùng
thời điểm, hệ thống phải chọn một trong chúng. Thực hiện quyết định này là đị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 th́ bị hạn chế trong tất cả giai đoạn của hệ điều
hành bao gồm định thời quá tŕnh, lưu trữ đĩa, quản lư bộ nhớ.
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 nhau (chẳng hạn như CPU, bộ nhớ, các thiết bị ngoại vi) được sử dụng hiệu quả.
Tuy nhiên, 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) là 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 ra quá thường
xuyên để người dùng có thể giao tiếp với mỗi chương tŕnh trong khi chạy.
Một hệ thống máy tính giao tiếp (interactive computer) hay thực hành (hands-
on computer system) cung cấp giao tiếp trực tuyến giữa người dùng và 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 tŕnh, sử
dụng bàn phím hay chuột và chờ nhận kết quả tức th́. Do đó, thời gian đáp ứng nên
ngắn-điển h́nh trong phạm vi 1 giây hay ít 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 cùng một
thời điểm. V́ mỗi hoạt động hay lệnh trong hệ chia thời được phục vụ ngắn, chỉ một í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 này 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 ḿ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 và đ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ó ít nhất
một chương tŕnh riêng trong bộ nhớ. Một chương tŕnh được nạp vào trong bộ nhớ và
thực thi thường được gọi là một quá tŕnh. Khi một quá tŕnh thực thi, điển h́nh nó
thực thi chỉ tại một thời điểm ngắn trước khi nó 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 là dữ liệu xuất hiển thị trên màn h́nh cho
người dùng và 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”, nó 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; 7 kư tự trên giây là nhanh đối với người dùng, nhưng quá chậm so với máy tính.
Thay v́ để CPU rảnh khi 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 tŕ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ữ cùng lúc trong bộ nhớ v́ thế hệ thống
phải có cơ chế quản lư bộ nhớ và bảo vệ. Để đạt được thời gian đáp ứng hợp lư, các
công việc có thể được hoán vị vào ra bộ nhớ chính. Một phương pháp chung để đạt
mục tiêu này là bộ nhớ ảo, là 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 ở trong bộ nhớ. Ưu điểm chính của cơ chế bộ nhớ ảo là các chương
tŕnh có thể lớn hơn bộ nhớ vật lư. Ngoài ra, nó trừu tượng hoá bộ nhớ chính thành
mảng lưu trữ lớn và đồng nhất, chia bộ nhớ luận lư như được thấy bởi người dùng từ
bộ nhớ vật lư. Sự sắp xếp này giải phóng lập tŕnh viên quan tâm đến giới hạn lưu trữ
của bộ nhớ.
Các hệ chia thời cũng phải cung cấp một hệ thống tập tin. Hệ thống tập tin
định vị trên một tập hợp đĩa; do đó quản lư đĩa phải được cung cấp. Hệ chia thời cũng
cung cấp cơ chế cho việc thực thi đồng hành, yêu cầu cơ chế định thời CPU tinh vi.
Để đảm bảo thứ tự thực thi, hệ thống phải cung cấp các cơ chế cho việc đồng bộ hoá
và giao tiếp công việc, và có thể đảm bảo rằng các công việc không bị deadlock, chờ
đợi công việc khác măi măi.
Ư tưởng chia thời được giới thiệu trong những năm 1960, nhưng v́ hệ chia
thời là phức tạp và rất đắt để xây dựng, chúng không phổ biến cho tới những năm
1970. Mặc dù xử lư theo bó vẫn được thực hiện nhưng hầu hết hệ thống ngày nay là
chia thời. Do đó, đa chương và chia thời là những chủ đế trung tâm của hệ điều hành
hiện đại và chúng là chủ đề trọng tâm của giáo tŕnh này.
tảng cho các chương tŕnh ứng dụng và đóng vai trò trung gian giao tiếp giữa người
dùng máy tính và phần cứng của máy tính đó. Hệ điều hành thiết lập cho các tác vụ
này rất đa dạng. Một vài hệ điều hành thiết kế tiện dụng trong khi 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 là gì, trước hết chúng ta phải hiểu chúng được phát triển
như thế nào. Trong bài này chúng ta đ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 và chia thời. Thông qua những
giai đoạn khác nhau chúng ta 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 đề trong những hệ
thống máy tính ban đầu. Xem xét những lý do phía sau sự phát triển của hệ điều hành
cho chúng ta một đánh giá về những tác vụ hệ điều hành làm và cách hệ điều hành
thực hiện chúng.
Hệ điều hành là gì?
Một hệ điều hành là 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, các
chương tŕnh ứng dụng và 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 tŕnh ứng dụng (application programs): tŕnh biên dịch
(compiler), tŕnh soạn thảo văn bản (text editor), hệ cơ sở dữ liệu (database
system), tŕnh duyệt Web,..định nghĩa cách mà trong đó các 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, do đó sẽ có nhiều ứng dụng khác nhau.
o Hệ điều hành (operating system): hay c̣n gọi là chương tŕnh hệ thống,
điều khiển và hợp tác việc sử dụng phần cứng giữa những chương tŕnh
ứng dụng khác nhau cho những người dùng khác nhau. Hệ điều hành có
thể được khám phá từ hai phía: người dùng và hệ thống.
Hình 0-1 Tầm nhìn trừu tượng các thành phần của một hệ thống máy tính
Hệ thống mainframe
Những hệ thống máy tính mainframe là những máy tính đầu tiên được dùng để
xử lư ứng dụng thương mại và khoa học. Trong phần này, chúng ta lần theo sự phát
triển của hệ thống mainframe từ các hệ thống bó (batch systems), ở đó máy tính chỉ
chạy một-và chỉ một -ứng dụng, tới các 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.
Hệ thống bó
Những máy tính thời kỳ đầu là 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 là những bộ đọc thẻ và các ổ đĩa băng từ. Các
thiết bị xuất thông thường thường là những máy in ḍng (line printers), các ổ đĩa từ và
các phiếu đục lỗ. Người dùng không giao tiếp trực tiếp với các 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 tŕnh, dữ liệu và các
thông tin điều khiển về tính tự nhiên của công việc-và gởi nó đến người điều hành
máy tính. Công việc này thường được thực hiện trong các 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 tŕnh cũng như kết xuất bộ nhớ cuối cùng và nội dung các thanh
ghi cho việc gở rối.
Hệ điều hành trong các máy tính thời kỳ đầu này tương đối đơn giản. Tác vụ
chính là chuyển điều khiển tự động từ một công việc này sang công việc khác. Hệ
điều hành luôn được thường trú trong bộ nhớ.
Hình 0-2 Sắp xếp bộ nhớ cho một hệ thống bó đơn giản
Để tăng tốc việc xử lư, người điều hành bó các công việc có cùng yêu cầu và
chạy chúng thông qua máy tính như một nhóm. Do đó, các lập tŕnh viên sẽ đưa
chương tŕnh của họ cho người điều hành. Người điều hành sẽ sắp xếp chương tŕnh
thành những bó với cùng yêu cầu và khi máy tính sẳn dùng sẽ chạy mỗi bó này. Dữ
liệu xuất từ mỗi công việc sẽ gởi lại cho lập tŕnh viên tương ứng.
Trong môi trường thực thi này, CPU luôn rảnh v́ tốc độ của các thiết bị
xuất/nhập dạng cơ thực chất chậm hơn tốc độ của các 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 trên giây) cũng chỉ làm việc trong vài
phần trăm giây. Thêm vào đó, một bộ đọc thẻ nhanh có thể đọc 1200 thẻ trong thời
gian 1 phút (hay 20 thẻ trên giây). Do đó, sự khác biệt giữa tốc độ CPU và thiết bị
xuất/nhập của nó có thể là 3 lần hay nhiều hơn. Dĩ nhiên theo thời gian, sự tiến bộ
trong công nghệ dẫn đến sự ra đờ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 v́ thế vấn đề không những không được giải quyết
mà c̣n 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 trên một
đĩa hơn trong 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 và thực hiện
các tác vụ hữu hiệu.
Hệ đa chương
Một khía cạnh quan trọng nhất của định thời công việc là khả năng đa chương.
Thông thường, một người dùng giữ CPU hay các thiết bị xuất/nhập luôn bận. Đa
chương gia tăng khả năng sử dụng CPU bằng cách tổ chức các công việc để CPU luôn
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 trong bộ nhớ tại một thời điểm. Tập hợp các công việc này là tập con
của các công việc được giữ trong vùng công việc-bởi v́ số lượng các công việc có thể
được giữ cùng lúc trong bộ nhớ thường nhỏ hơn số công việc có thể có trong vùng
đệm. Hệ điều hành sẽ lấy và bắt đầu thực thi một trong các công việc có trong 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ờ và nhận CPU trở lại. Chỉ cần ít 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ình 0-3 Sắp xếp bộ nhớ cho hệ đa chương
Đa chương là một trường hợp đầu tiên khi 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ữ trong vùng công việc. Vùng này chứa tất cả quá tŕnh định
vị trên đĩa chờ được cấp phát bộ nhớ chính. Nếu nhiều công việc sẳn sàng được mang
vào bộ nhớ và nếu không đủ không gian cho tất cả th́ hệ điều hành phải chọn một
trong chúng. Khi hệ điều hành chọn một công việc từ vùng công việc, nó nạp công
việc đó vào bộ nhớ để thực thi. Có nhiều chương tŕnh trong bộ nhớ tại cùng 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 cùng
thời điểm, hệ thống phải chọn một trong chúng. Thực hiện quyết định này là đị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 th́ bị hạn chế trong tất cả giai đoạn của hệ điều
hành bao gồm định thời quá tŕnh, lưu trữ đĩa, quản lư bộ nhớ.
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 nhau (chẳng hạn như CPU, bộ nhớ, các thiết bị ngoại vi) được sử dụng hiệu quả.
Tuy nhiên, 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) là 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 ra quá thường
xuyên để người dùng có thể giao tiếp với mỗi chương tŕnh trong khi chạy.
Một hệ thống máy tính giao tiếp (interactive computer) hay thực hành (hands-
on computer system) cung cấp giao tiếp trực tuyến giữa người dùng và 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 tŕnh, sử
dụng bàn phím hay chuột và chờ nhận kết quả tức th́. Do đó, thời gian đáp ứng nên
ngắn-điển h́nh trong phạm vi 1 giây hay ít 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 cùng một
thời điểm. V́ mỗi hoạt động hay lệnh trong hệ chia thời được phục vụ ngắn, chỉ một í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 này 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 ḿ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 và đ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ó ít nhất
một chương tŕnh riêng trong bộ nhớ. Một chương tŕnh được nạp vào trong bộ nhớ và
thực thi thường được gọi là một quá tŕnh. Khi một quá tŕnh thực thi, điển h́nh nó
thực thi chỉ tại một thời điểm ngắn trước khi nó 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 là dữ liệu xuất hiển thị trên màn h́nh cho
người dùng và 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”, nó 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; 7 kư tự trên giây là nhanh đối với người dùng, nhưng quá chậm so với máy tính.
Thay v́ để CPU rảnh khi 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 tŕ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ữ cùng lúc trong bộ nhớ v́ thế hệ thống
phải có cơ chế quản lư bộ nhớ và bảo vệ. Để đạt được thời gian đáp ứng hợp lư, các
công việc có thể được hoán vị vào ra bộ nhớ chính. Một phương pháp chung để đạt
mục tiêu này là bộ nhớ ảo, là 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 ở trong bộ nhớ. Ưu điểm chính của cơ chế bộ nhớ ảo là các chương
tŕnh có thể lớn hơn bộ nhớ vật lư. Ngoài ra, nó trừu tượng hoá bộ nhớ chính thành
mảng lưu trữ lớn và đồng nhất, chia bộ nhớ luận lư như được thấy bởi người dùng từ
bộ nhớ vật lư. Sự sắp xếp này giải phóng lập tŕnh viên quan tâm đến giới hạn lưu trữ
của bộ nhớ.
Các hệ chia thời cũng phải cung cấp một hệ thống tập tin. Hệ thống tập tin
định vị trên một tập hợp đĩa; do đó quản lư đĩa phải được cung cấp. Hệ chia thời cũng
cung cấp cơ chế cho việc thực thi đồng hành, yêu cầu cơ chế định thời CPU tinh vi.
Để đảm bảo thứ tự thực thi, hệ thống phải cung cấp các cơ chế cho việc đồng bộ hoá
và giao tiếp công việc, và có thể đảm bảo rằng các công việc không bị deadlock, chờ
đợi công việc khác măi măi.
Ư tưởng chia thời được giới thiệu trong những năm 1960, nhưng v́ hệ chia
thời là phức tạp và rất đắt để xây dựng, chúng không phổ biến cho tới những năm
1970. Mặc dù xử lư theo bó vẫn được thực hiện nhưng hầu hết hệ thống ngày nay là
chia thời. Do đó, đa chương và chia thời là những chủ đế trung tâm của hệ điều hành
hiện đại và chúng là chủ đề trọng tâm của giáo tŕnh này.
HuynhKhaiThien26(I12A)- Tổng số bài gửi : 12
Join date : 16/02/2012
Age : 34
Đến từ : Long An
Hệ phân tán
Một mạng, trong thuật ngữ đơn giản nhất, là một đường dẫn truyền thông giữa hai hay nhiều hệ thống. Hệ phân tán phụ thuộc vào mạng với những khả năng của nó. Bằng cách cho phép truyền thông, hệ phân tán có thể chia sẻ các tác vụ tính toán và cung cấp nhiều chức năng tới người dùng.
Các mạng với sự đa 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 mạng chỉ cần một thiết bị giao diện – thí dụ: một card mạng-với một tŕ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 bộ (LAN-Local Area Network) tồn tại trong phạm vi một pḥng, một tầng, hay một toà nhà.
Một mạng diện rộng (Wide-Area Network) thường tồn tại giữa các toà nhà, các thành phố, các quốc gia. Một công ty toàn cầu có thể có một mạng diện rộng để nối kết tới các văn pḥò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) cũng 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). Các phương tiện truyền thông làm các mạng tương đối khác nhau. Chúng gồm cáp đồng, cáp quang, truyền không dây giữa vệ tinh, các đĩa vi sóng (microwaredishes) 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 cũng rất khác nhau về năng lực và khả năng tin cậy.
Các mạng với sự đa 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 mạng chỉ cần một thiết bị giao diện – thí dụ: một card mạng-với một tŕ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 bộ (LAN-Local Area Network) tồn tại trong phạm vi một pḥng, một tầng, hay một toà nhà.
Một mạng diện rộng (Wide-Area Network) thường tồn tại giữa các toà nhà, các thành phố, các quốc gia. Một công ty toàn cầu có thể có một mạng diện rộng để nối kết tới các văn pḥò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) cũng 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). Các phương tiện truyền thông làm các mạng tương đối khác nhau. Chúng gồm cáp đồng, cáp quang, truyền không dây giữa vệ tinh, các đĩa vi sóng (microwaredishes) 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 cũng rất khác nhau về năng lực và khả năng tin cậy.
HuynhKhaiThien26(I12A)- Tổng số bài gửi : 12
Join date : 16/02/2012
Age : 34
Đến từ : Long An
Re: Tổng quan về Hệ Điều Hành
Hệ khách hàng-máy phục vụ
Một PC có thể trở nên nhanh hơn, mạnh hơn, rẻ hơn nếu người thiết kế thay đổi rất xa
từ kiến trúc hệ thống tập trung. Các thiết bị đầu cuối được nối kết tới các hệ tập trung
hiện nay đang được thay thế bởi các PC. Tương ứng, chức năng giao diện người dùng
được dùng quản lý trực tiếp bởi các hệ tập trung đang được quản lý tăng dần bởi các
PC. Do đó, các hệ tập trung ngày nay hoạt động như hệ máy phục vụ để thoả măn các
yêu cầu phát sinh bởi hệ thống khách hàng. Đặc điểm chung của hệ khách hàng- máy
phục vụ được mô tả trong hình-I-5
Hình 0-5 Cấu trúc chung của hệ khách hàng-máy phục vụ
Các hệ máy chủ có thể được phân loại rộng răi như máy phục vụ tính toán và máy
phục vụ tập tin
o Hệ máy phục 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.
Một PC có thể trở nên nhanh hơn, mạnh hơn, rẻ hơn nếu người thiết kế thay đổi rất xa
từ kiến trúc hệ thống tập trung. Các thiết bị đầu cuối được nối kết tới các hệ tập trung
hiện nay đang được thay thế bởi các PC. Tương ứng, chức năng giao diện người dùng
được dùng quản lý trực tiếp bởi các hệ tập trung đang được quản lý tăng dần bởi các
PC. Do đó, các hệ tập trung ngày nay hoạt động như hệ máy phục vụ để thoả măn các
yêu cầu phát sinh bởi hệ thống khách hàng. Đặc điểm chung của hệ khách hàng- máy
phục vụ được mô tả trong hình-I-5
Hình 0-5 Cấu trúc chung của hệ khách hàng-máy phục vụ
Các hệ máy chủ có thể được phân loại rộng răi như máy phục vụ tính toán và máy
phục vụ tập tin
o Hệ máy phục 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.
HuynhKhaiThien26(I12A)- Tổng số bài gửi : 12
Join date : 16/02/2012
Age : 34
Đến từ : Long An
Re: Tổng quan về hệ điều hành
Chức năng chính yếu của hệ điều hành
Theo nguyên tắc, hệ điều hành cần thỏa mãn hai chức năng chính yếu sau:
[sửa] Quản lý chia sẻ tài nguyên
Tài nguyên của hệ thống (CPU, bộ nhớ, thiết bị ngoại vi,...) vốn rất giới hạn, nhưng trong các hệ thống đa nhiệm, nhiều người sử dụng có thể đồng thời yêu cầu nhiều tài nguyên. Để thỏa mãn yêu cầu sử dụng chỉ với tài nguyên hữu hạn và nâng cao hiệu quả sử dụng tài nguyên, hệ điều hành cần phải có cơ chế và chiến lược thích hợp để quản lý việc phân phối tài nguyên.
Ngoài yêu cầu dùng chung tài nguyên để tiết kiệm chi phí, người sử dụng còn cần phải chia sẻ thông tin (tài nguyên phần mềm) lẫn nhau, khi đó hệ điều hành cần đảm bảo việc truy xuất đến các tài nguyên này là hợp lệ, không xảy ra tranh chấp, mất đồng nhất,...
[sửa] Giả lập một máy tính mở rộng
Hệ điều hành làm ẩn đi các chi tiết phần cứng, người sử dụng được cung cấp một giao diện đơn giản, dễ hiểu, dễ sử dụng và không phụ thuộc vào thiết bị phần cứng cụ thể.
Thực tế, ta có thể xem Hệ điều hành như là một hệ thống bao gồm nhiều máy tính trừu tượng xếp thành nhiều lớp chồng lên nhau, máy tính mức dưới phục vụ cho máy tính mức trên. Lớp trên cùng là giao diện trực quan nhất để chúng ta điều khiển.
Ngoài ra có thể chia chức năng của Hệ điều hành theo bốn chức năng sau:
Quản lý quá trình (process management)
Quản lý bộ nhớ (memory management)
Quản lý hệ thống lưu trữ
Giao tiếp với người dùng (user interaction)
Theo nguyên tắc, hệ điều hành cần thỏa mãn hai chức năng chính yếu sau:
[sửa] Quản lý chia sẻ tài nguyên
Tài nguyên của hệ thống (CPU, bộ nhớ, thiết bị ngoại vi,...) vốn rất giới hạn, nhưng trong các hệ thống đa nhiệm, nhiều người sử dụng có thể đồng thời yêu cầu nhiều tài nguyên. Để thỏa mãn yêu cầu sử dụng chỉ với tài nguyên hữu hạn và nâng cao hiệu quả sử dụng tài nguyên, hệ điều hành cần phải có cơ chế và chiến lược thích hợp để quản lý việc phân phối tài nguyên.
Ngoài yêu cầu dùng chung tài nguyên để tiết kiệm chi phí, người sử dụng còn cần phải chia sẻ thông tin (tài nguyên phần mềm) lẫn nhau, khi đó hệ điều hành cần đảm bảo việc truy xuất đến các tài nguyên này là hợp lệ, không xảy ra tranh chấp, mất đồng nhất,...
[sửa] Giả lập một máy tính mở rộng
Hệ điều hành làm ẩn đi các chi tiết phần cứng, người sử dụng được cung cấp một giao diện đơn giản, dễ hiểu, dễ sử dụng và không phụ thuộc vào thiết bị phần cứng cụ thể.
Thực tế, ta có thể xem Hệ điều hành như là một hệ thống bao gồm nhiều máy tính trừu tượng xếp thành nhiều lớp chồng lên nhau, máy tính mức dưới phục vụ cho máy tính mức trên. Lớp trên cùng là giao diện trực quan nhất để chúng ta điều khiển.
Ngoài ra có thể chia chức năng của Hệ điều hành theo bốn chức năng sau:
Quản lý quá trình (process management)
Quản lý bộ nhớ (memory management)
Quản lý hệ thống lưu trữ
Giao tiếp với người dùng (user interaction)
NguyenHoangThangI12A- Tổng số bài gửi : 34
Join date : 15/02/2012
Similar topics
» Tổng quan về Hệ Điều Hành
» Tổng Quan Hệ Điều Hành
» TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
» Một số điều tổng quan bổ ích và cần biết về Java
» Thảo luận Bài 1
» Tổng Quan Hệ Điều Hành
» TỔNG QUAN VỀ HỆ ĐIỀU HÀNH
» Một số điều tổng quan bổ ích và cần biết về Java
» Thảo luận Bài 1
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết