Giới thiệu

Khái niệm hệ điều hành

Hệ điều hành là một chương trình quản lý phần cứng của máy tính. Nó cũng cung cấp cơ sở cho các chương trình ứng dụng hoạt động và làm việc như thành phần trung gian giữa người sử dụng với phần cứng máy tính.

Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy

tính. Một hệ thống máy tính có thể chia thành 4 thành phần: phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng.

Phần cứng bao gồm bộ xử lý trung tâm (CPU), bộ nhớ và các thiết bị vào ra - cung cấp các tài nguyên tính toán cơ bản. Các chương trình ứng dụng như bộ xử lý từ, bảng tính, trình duyệt web - định nghĩa cách mà tài nguyên sẽ được xử lý để đáp ứng yêu cầu của người sử dụng. Hệ điều hành điều khiển và phối hợp sử dụng phần cứng máy tính giữa các chương trình ứng dụng khác nhau cho mỗi người sử dụng khác nhau.

Các thành phần của hệ thống máy tính là phần cứng, phần mềm, dữ

liệu. Hệ điều hành cung cấp phương thức để sử dụng một cách đúng đắn, hợp lý các tài nguyên đó trong quá trình điều hành hệ thống. Hệ điều hành cũng tương tự như một chính phủ. Nó không tự mình làm mọi việc mà chỉ đơn giản là tạo ra môi trường để các chương trình ứng dụng khác làm việc một cách có hiệu quả. Ta có thể khảo sát hệ điều hành theo hai quan điểm: theo cách nhìn từ phía người sử dụng và theo quan điểm hệ thống.

Theo quan điểm của người sử dụng: Hầu hết người sử dụng đều ngồi trước một máy tính cá nhân bao gồm một màn hình, bàn phím, chuột và bộ xử lý trung tâm. Trong trường hợp này, hệ điều hành được thiết kế chủ yếu sao cho dễ sử dụng. Một số người dùng sử dụng các thiết bị đầu cuối để kết nối tới các máy tính lớn (mainframe) hoặc máy tính nhỏ (minicomputer), cùng chia sẻ

tài nguyên và trao đổi dữ liệu thì hệ điều hành được thiết kế sao cho khai thác

được tối đa tài nguyên, đạt hiệu quả cao nhất.

Theo quan điểm hệ thống, hệ điều hành là công cụ phân phối tài nguyên. Một hệ thống máy tính có nhiều tài nguyên như: thời gian CPU, bộ nhớ, thiết bị lưu trữ ngoài, thiết bị vào ra,... Hệ điều hành đóng vai trò quản lý, phân phối các tài nguyên đó sao cho chúng được sử dụng một cách hợp lý, tránh được các tranh chấp, ngăn ngừa các lỗi phát sinh.

Tóm lại, chúng ta chưa có một định nghĩa hoàn chỉnh về hệ điều hành

mà chỉ có thể định nghĩa hệ điều hành một cách tương đối theo các quan điểm khác nhau. Lý do tồn tại của hệ điều hành là vì đó là cách để giải quyết các vấn đề phát sinh để hệ thống máy tính trở nên hữu dụng. Mục tiêu cơ bản của hệ điều hành là thực thi các chương trình của người dùng và giúp người dùng giải quyết các vấn một cách dễ dàng hơn.

Các mục tiêu của hệ điều hành: Mục tiêu chính của một số hệ điều hành là sự thuận tiện cho người sử dụng. Hệ điều hành tồn tại là vì nó hỗ trợ cho việc tính toán được tiến hành dễ dàng hơn. Đây là cách nhìn từ các hệ thống máy tính PCs nhỏ. Mục tiêu chính của một số hệ điều hành khác lại là sự điều hành một cách hiệu quả hệ thống máy tính. Đây là các hệ điều hành thiết kế cho các hệ thống lớn, chia sẻ tài nguyên và nhiều người dùng.

Các hệ thống máy tính lớn

Các hệ thống Mainframe là các hệ thống máy tính đầu tiên được sử dụng

để giải quyết nhiều bài toán kinh tế, khoa học kỹ thuật.

Hệ thống xử lý gói

Đây là những hệ thống ra đời sớm, chúng có kích thước khổng lồ và được điều khiển từ một bàn giao tiếp người máy (console). Thiết bị vào cơ bản là các đầu đọc thẻ và ổ băng từ. Đầu ra là các máy in dòng, ổ băng từ và thẻ đục lỗ. Người sử dụng không tương tác trực tiếp với hệ thống máy tính. Người dùng chuẩn bị các chương trình, các nhiệm vụ và chuyển đến người điều hành để nạp vào hệ thống qua băng đục lỗ.

Hệ điều hành cho các thế hệ máy này cũng thực sự đơn giản. Nhiệm vụ

Để tăng tốc độ xử lý, người điều hành thường gom các công việc giống

nhau thành nhóm và chạy nó một lượt.

Trong môi trường tính toán này, CPU thường nhàn rỗi, bởi vì tốc độ nhập xuất chậm hơn rất nhiều so với tốc độ xử lý của CPU. Ngay cả với một CPU chậm nó cũng xử lý khoảng thời gian mini giây (hàng nghìn lệnh được thực hiện trong một giây), trong khi đó, một máy đọc thẻ nhanh cũng chỉ có thể đọc được 1200 thẻ mỗi phút.

Hệ thống đa chương trình

Trong thực tế, nhìn chung một người dùng không thể làm cho bộ xử lý và các thiết bị vào ra làm việc một cách liên tục được. Để khỏi lãng phí tài nguyên của hệ thống (thời gian của CPU, thiết bị nhập xuất) ta cần phải sắp xếp sao cho CPU và các thiết bị nhập xuất luôn luôn làm việc. Đa chương trình là một giải pháp giúp gia tăng hiệu quả làm việc của máy tính bằng cách tổ chức các công việc một cách hợp lý để CPU luôn luôn có một chương trình thực

hiện.

Hệ điều hành lưu trữ cùng lúc hiều chương trình trong bộ nhớ sau đó lần lượt thực hiện từng công việc. Trong khi một công việc được xử lý thì công việc khác tạm chờ đến phiên mình. Trong quá trình thực hiện, một công việc có thể tạm dừng để chờ một tác vụ vào ra nào đó được hoàn tất, với các hệ thống không đa chương trình thì khoảng thời gian này CPU sẽ ở trạng thái nhàn rỗi (lãng phí khả năng làm việc của CPU). Với hệ thống đa chương trình, lúc này CPU có thể chuyển sang thực hiện một nhiệm vụ khác, điều đó giúp khai thác tối đa khả năng của CPU hơn.

Hoạt động trong chế độ đa chương trình sẽ đặt ra cho hệ điều hành nhiều vấn đề cần phải xử lý như nạp tất cả các chương trình vào bộ nhớ hay phối hợp sử dụng đĩa và bộ nhớ. Khi có nhiều chương trình cùng đồng thời tồn tại trong bộ nhớ thì chọn chương trình nào thực hiện. Tổ chức quản lý bộ nhớ sao cho các chương trình cùng tồn tại trong bộ nhớ không làm ảnh hưởng lẫn nhau... các vấn đề này sẽ được phân tích kỹ ở các chương tiếp theo.

Hệ thống chia sẻ thời gian

Hệ thống đa chương trình, xử lý gói cung cấp một môi trường mà các tài

nhưng lại không hỗ trợ cho người dùng tương tác với hệ thống máy tính. Chia

sẻ thời gian (hay đa nhiệm) là một sự mở rộng của đa chương trình, ở đó CPU sẽ thực hiện nhiều nhiệm vụ cùng lúc bằng cách chuyển đổi qua lại giữa các chúng. Trong quá trình chuyển đổi thực hiện giữa các nhiệm vụ, người dùng có thể tương tác với từng chương trình trong khi nó đang chạy.

Một hệ thống máy tính tương tác sẽ cung cấp khả năng trao đổi trực tiếp giữa người dùng và hệ thống. Người dùng có thể trực tiếp ra các chỉ thị để điều hành hệ thống hoặc các chương trình bằng cách sử dụng bàn phím hay chuột và chờ kết qủa trả lại.

Một hệ thống chia sẻ thời gian cho phép nhiều người dùng cùng chia sẻ

một máy tính đồng thời. Trong hệ thống chia sẻ thời gian, các câu lệnh thường ngắn, chiếm ít thời gian của CPU. Hệ thống chuyển đổi qua lại một cách nhanh chóng giữa những người dùng khác nhau để luân phiên phục vụ. Với mỗi người dùng, dường như họ được sở hữu riêng một CPU, mọi yêu cầu đều được đáp

ứng.

Một hệ điều hành chia sẻ thời gian sẽ sử dụng đa chương trình và sự lập lịch cho CPU để cung cấp cho mỗi người dùng một khoảng thời gian nhỏ trong thời gian được chia sẻ của máy tính. Mỗi người dùng có ít nhất một chương trình trong bộ nhớ. Một chương trình được nạp vào bộ nhớ và đang trong quá trình thực hiện được gọi là một tiến trình (process). Khi một tiến trình thực hiện, nó thường chỉ thực thi trong một thời gian ngắn rồi sẽ kết thúc hoặc chờ đợi tác vụ vào ra được hoàn tất. Tác vụ vào ra có thể là một sự tương tác, khi đó có thể dữ liệu đang được hiển thị ra màn hình hoặc đang đợi người dùng nhập dữ liệu vào từ bàn phím hay chuột. Tác vụ vào ra thường chiếm nhiều thời gian, khi đó CPU sẽ rơi vào trạng thái nhàn rỗi (idle), để tận dụng thời gian tính toán của CPU, hệ điều hành sẽ chuyển CPU sang phục vụ cho người dùng khác.

Các hệ thống để bàn

Các máy tính cá nhân xuất hiện vào thập kỷ 70. Trong những thập kỳ đầu, CPU của các máy tính PCs còn thiếu các tính năng bảo vệ hệ điều hành khỏi các chương trình người dùng. Hệ điều hành các máy tính cá nhân lúc đó

cũng đã được thay đổi theo thời gian. Thay vì tăng hiệu dụng của CPU và các

thiết bị ngoại vi, hệ thống được cải tiến để tăng khả năng đáp ứng và sự tiện lợi cho người dùng như các hệ thống PCs sử dụng hệ điều hành Microsoft Windows và Apple Macintosh.

Các hệ điều hành cho các máy tính PCs đã thu được lợi nhuận bằng nhiều cách, từ việc phát triển hệ điều hành cho các máy tính lớn. Máy vi tính đã ngay lập tức thích ứng với một số công nghệ được phát triển cho các hệ điều hành lớn. Mặt khác, giá của máy vi tính đã giảm, và người ta cũng không cần phải quan tam nhiều đến việc phát huy tối đa hiệu quả làm việc của CPU.

Các hệ thống đa xử lý

Hầu hết các hệ thống cho đến nay là các hệ có có một bộ xử lý, nghĩa là trên mỗi máy chỉ có một chip CPU. Mặc dù vậy các hệ thống đa xử lý (hay còn được gọi là các hệ thống song song - parallel systems hay các hệ thống cặp đối

- coupled systems) là một sự phát triển quan trọng. Các hệ thống này có nhiều CPU cùng chia sẻ bus chung, đồng, bộ nhớ, thiết bị ngoại vi và có khả năng liên lạc với nhau.

Các hệ thống nhiều CPU có 3 ưu điểm chính sau:

- Tăng khả năng thông suốt: bằng cách tăng số lượng CPU, chúng ta có thể hy vọng sẽ có nhiều công việc được hoàn thành trong một thời gian ngắn hơn nhưng không phải theo đúng tỷ lệ thời gian, nghĩa là không phải có n bộ xử lý thì sẽ thực hiện được nhanh hơn n lần.

- Kinh tế hơn: các hệ thống đa CPU sẽ tiết kiệm chi phí hơn so với hệ

thống chỉ có một CPU bởi vì chúng có thể chia sẻ các thiết bị ngoại vi, bộ lưu trữ chính, nguồn điện,... Nhiều chương trình có thể cùng làm việc trên một tập hợp dữ liệu thay vì phải lưu trữ ở trên đĩa và sao chép cho mỗi chương trình một bản.

- Tăng độ tin cậy: các chức năng được chia cho nhiều bộ xử lý, vì vậy

nếu có lỗi xảy ra cũng không làm ngưng hệ thống, nó chỉ làm cho hệ thống bị chậm đi. Nếu ta có 10 CPU và có một CPU bị lỗi, khi đó các CPU còn lại sẽ chia sẽ phần công việc của CPU bị hỏng. Tốc độ của hệ trống lúc này chỉ bị chậm đi

10%, tuy nhiên hệ thống không bị ngưng do lỗi của CPU đó.

Xử lý liên tục trong sự có mặt của lỗi đòi hỏi phải có kỹ thuật cho phép

phát hiện, chuẩn đoán và thậm chí là khắc phục lỗi. Hệ thống Tandom sử dụng cả phần cứng và phần mềm để đảm bảo sự liên tục và xử lý lỗi. Hệ thống bao gồm 2 bộ xử lý, mỗi bộ xử lý làm việc trong một vùng nhớ riêng của nó. Các bộ xử lý được kết nối vào cùng một bus. Một bộ xử lý làm việc chính, một bộ xử lý đóng vai trò dự phòng, nó sẽ chứa bản sao của bộ xử lý chính. Nếu có lỗi xảy ra, bản sao sẽ được kích hoạt từ điểm làm việc tốt nhất gần thời điểm xảy ra

lỗi.

Hầu hết các hệ thống đa CPU hiện nay đều dùng đa xử lý đối xứng (SMP-symetric multiprocessing), trong đó mỗi CPU chạy một bản sao của hệ điều hành và mỗi bản sao đó có thể giao tiếp với bản sao khác nếu cần. Một số hệ thống sử dụng đa xử lý bất đối xứng, trong đó mỗi bộ xử lý gắn với một nhiệm vụ. Một bộ xử lý chính điều khiển hệ thống, các bộ xử lý còn lại đợi bộ xử lý chính ra lệnh hoặc thực hiện một nhiệm vụ đã được giao sẵn. Đây là mô hình làm việc theo kiểu chính phụ (chủ tớ). Bộ xử lý chính sẽ lập lịch để phân phối công việc cho các bộ xử lý thứ cấp.

SMP là tất cả các bộ xử lý có vai trò ngang nhau, không tồn tại mỗi quan

hệ chính phụ. Mỗi bộ xử lý cùng chạy song song một bản sao của hệ điều hành. Phiên bản Encore của Unix viết cho máy Multimax là một ví dụ cho hệ thống xử lý đối xứng. Hệ thống này có hàng tá bộ xử lý, tất cả đều chạy các bản sao của Unix. Lợi ích của mô hình này là có nhiều tiến trình cùng chạy song song.

Các hệ thống phân tán

Các hệ thống phân tán được xây dựng trên cở sở hạ tầng mạng. Các máy tính được kết nối với nhau thông qua hệ thống mạng. Các công việc, và dữ liệu có thể được chia thành nhiều phần, mỗi máy tính trong hệ thống đảm nhiệm một phần công việc. Kết quả các phần tiêng lẻ được hợp lại để cho một kết quả lớn với hiệu quả làm việc vượt trội so với hệ thông chỉ có một máy tính.

Hệ thống này cũng tương tự như hệ thống chia sẻ thời gian nhưng các

bộ xử lý không chia sẻ bộ nhớ và đồng hồ, thay vào đó mỗi bộ xử lý có bộ nhớ

Các bộ xử lý trong hệ phân tán thường khác nhau về kích thước và chức

năng. Nó có thể bao gồm máy vi tính, trạm làm việc, máy mini, và những hệ thống máy lớn. Các bộ xử lý thường được gọi với nhiều tên khác nhau như site, node, computer .... tùy thuộc vào trạng thái làm việc của chúng.

Các ưu điểm chính của hệ thống phân tán là:

-Chiastàinguyên: Một người sử dụng A có thể sử dụng máy in laser của người sử dụng B và người sử dụng B có thể truy xuất những tập tin của A. Tổng quát, chia sẻ tài nguyên trong hệ thống phân tán cung cấp một cơ chế để chia sẻ tập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán, in ấn tại một vị trí xa, sử dụng những thiết bị ở xa đểõ thực hiện các thao

tác.

-Tăngtcđộtínhtoán: Một thao tác tính toán được chia làm nhiều phần nhỏ cùng thực hiện một lúc. Hệ thống phân tán cho phép phân chia việc tính toán trên nhiều vị trí khác nhau để tính toán song song.

-An toàn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí

khác vẫn tiếp tục làm việc.

-Thôngtinliênlạcvớinhau: Có những lúc , chương trình cần chuyển đổi dữ liệu từ vị trí này sang vị trí khác. Ví dụ trong hệ thống Windows, thường có sự chia sẻ và chuyển dữ liệu giữa các cửa sổ. Khi các vị trí được nối kết với nhau trong một hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ. Người sử dụng có thể chuyển tập tin hay các E-mail cho nhau từ cùng vị trí hay những vị trí khác.

Các hệ thống Clustered

Tương tự một hệ thống làm việc song song. Hệ thống này liên kết nhiều CPU với nhau để cùng làm việc. Sức mạnh của hệ thống là sức mạnh tổng hợp của các CPU.

Các hệ thống thời gian thực

Hệthngxửthigianthựcđược sử dụng khi có những đòi hỏi khắt khe về thời gian trên các thao tác của bộ xử lý hoặc dòng dữ liệu, nó thường được dùng điều khiển các thiết bị trong một ứng dụng riêng biệt. Máy

tính phân tích dữ liệu và có thể chỉnh các điều khiển để thay đổi các càm biến

vào.

Một hệ điều hành xử lý thời gian thực phải được định nghĩa tốt, thời gian xử lý nhanh. Hệ thống phải cho kết quả chính xác trong khoảng thời gian bị thúc ép nhanh nhất. Có hai hệ thống xử lý thời gian thực là hệ thống thời gian thực cứng và hệ thống thời gian thực mềm.

Hệ thống thời gian thực cứng là công việc được hoàn tất đúng lúc. Khi

đó dữ liệu thường được lưu trong bộ nhớ ngắn hạn hay trong ROM. Việc xử lý theo thời gian thực sẽ xung đột với tất cả hệ thống đã nói đến ở trên.

Dạng thứ hai là hệ thống thời gian thực mềm, mỗi công việc có một độ

ưu tiên riêng và sẽ được thi hành theo độ ưu tiên đó. Có một số lĩnh vực áp dụng hữu hiệu phương pháp này là multimedia hay thực tại ảo.

Các hệ thống cầm tay

Hệ thống cầm tay bao gồm các máy trợ giúp kỹ thuật số cá nhân (PDAs- Personal Digital Assistants) như Palm-Pilots hay cellular telephone với sự kết nối đến một mạng như mạng Internet. Sự phát triển của các hệ thống cầm tay và các ứng dụng của nó đang đối mặt với nhiều thách thức, hầu hết đang thực hiện trong sự hạn chế về kích thước của các thiết bị. Vị sự hạn chế về kích thước mà các hệ thống cầm tay thường có bộ nhớ nhỏ, tốc độ của bộ xử lý thấp, màn hình hiển thị nhỏ.

Nhiều các thiết bị cầm tay có bộ nhớ chỉ trong khoảng từ 512KB đến

8MB, trong khi đó các máy PCs hay các trạm làm việc có đến hàng trăm MB bộ nhớ. Đây là một lý do đò hỏi hệ điều hành cũng như các chương trình ứng dụng phải quản lý và sử dụng bộ nhớ một cách có hiệu quả nhất.

Vấn đề thứ hai ảnh hưởng tới sự phát triển của các hệ thống cầm tay là

tốc độ của các bộ xử lý trong mỗi thiết bị thường không cao. Bộ xử lý của hầu hết các hệ thống cầm thay chỉ chạy bằng một phần lẻ tốc độ của bộ xử lý trong một máy PC.

Vấn đề thứ ba là màn hình hiển thị có kích thước nhỏ. Trong khi màn

hình cho các máy tính PCs có lên đến 21 inches thì màn hình của các máy cầm

một cách dễ dàng trên các máy PCs thì giờ đây phải chi ra và thể hiện từng

phần trên màn hình của máy cầm tay.

Một số máy tính cầm tay sử dụng công nghệ không dây như BlueTooth, cho phép truy cập từ xa tới thư điện tử và duyệt web.

Lịch sử phát triển của hệ điều hành

Thế hệ 1 (1945 – 1955)

Vào khoảng giữa thập niên 1940, Howard Aiken ở Havard và John von Neumann ở Princeton, đã thành công trong việc xây dựng máy tính dùng ống chân không (đèn điện tử). Những máy này rất lớn với hơn 10000 ống chân không nhưng chậm hơn nhiều so với máy rẻ nhất ngày nay.

Mỗi máy được một nhóm thực hiện tất cả từ thiết kế, xây dựng lập trình, thao tác đến quản lý. Lập trình bằng ngôn ngữ máy tuyệt đối, thường là bằng cách dùng bảng điều khiển để thực hiện các chức năng cơ bản. Ngôn ngữ lập trình chưa được biết đến và hệ điều hành cũng chưa nghe đến.

Vào đầu thập niên 1950, phiếu đục lổ ra đời và có thể viết chương trình

trên phiếu thay cho dùng bảng điều khiển.

Thế hệ 2 (1955 – 1965)

Sự ra đời của thiết bị bán dẫn vào giữa thập niên 1950 làm thay đổi bức tranh tổng thể. Máy tính trở nên đủ tin cậy hơn. Nó được sản xuất và cung cấp cho các khách hàng. Lần đầu tiên có sự phân chia rõ ràng giữa người thiết kế, người xây dựng, người vận hành, người lập trình, và người bảo trì.

Để thực hiện một công việc (một chương trình hay một tập hợp các

chương trình), lập trình viên trước hết viết chương trình trên giấy (bằng hợp ngữ hay FORTRAN) sau đó đục lỗ trên phiếu và cuối cùng đưa phiếu vào máy. Sau khi thực hiện xong nó sẽ xuất kết quả ra máy in.

Hệ thống xử lý theo lô ra đời, nó lưu các yêu cầu cần thực hiện lên băng từ, và hệ thống sẽ đọc và thi hành lần lượt. Sau đó, nó sẽ ghi kết quả lên băng từ xuất và cuối cùng người sử dụng sẽ đem băng từ xuất đi in.

Hệ thống xử lý theo lô hoạt động dưới sự điều khiển của một chương

trình đặc biệt là tiền thân của hệ điều hành sau này. Ngôn ngữ lập trình sử

dụng trong giai đoạn này chủ yếu là FORTRAN và hợp ngữ.

Thế hệ 3 (1965 – 1980)

Trong giai đoạn này, máy tính được sử dụng rộng rãi trong khoa học

cũng như trong thương mại. Máy IBM 360 là máy tính đầu tiên sử dụng mạch tích hợp (IC). Từ đó kích thước và giá cả của các hệ thống máy giảm đáng kể và máy tính càng phỗ biến hơn. Các thiết bị ngoại vi dành cho máy xuất hiện ngày càng nhiều và thao tác điều khiển bắt đầu phức tạp.

Hệ điều hành ra đời nhằm điều phối, kiểm soát hoạt động và giải quyết các yêu cầu tranh chấp thiế bị. Chương trình hệ điều hành dài cả triệu dòng hợp ngữ và do hàng ngàn lập trình viên thực hiện.

Sau đó, hệ điều hành ra đời khái niệm đa chương. CPU không phải chờ thực hiện các thao tác nhập xuất. Bộ nhớ được chia làm nhiều phần, mỗi phần có một công việc (job) khác nhau, khi một công việc chờ thực hiện nhập xuất CPU sẽ xử lý các công việc còn lại. Tuy nhiên khi có nhiều công việc cùng xuất hiện trong bộ nhớ, vấn đề là phải có một cơ chế bảo vệ tránh các công việc ảnh hưởng đến nhau. Hệ điều hành cũng cài đặt thuộc tính spool.

Giai đoạn này cũng đánh dấu sự ra đời của hệ điều hành chia sẻ thời gian như CTSS của MIT. Đồng thời các hệ điều hành lớn ra đời như MULTICS, UNIX và hệ thống các máy mini cũng xuất hiện như DEC PDP-1.

T h ế h 4 (từ 19 8 0)

Giai đoạn này đánh dấu sự ra đời của máy tính cá nhân, đặc biệt là hệ thống IBM PC với hệ điều hành MS-DOS và Windows sau này. Bên cạnh đó là sự phát triển mạnh của các hệ điều hành tựa Unix trên nhiều hệ máy khác nhau như Linux. Ngoài ra, từ đầu thập niên 90 cũng đánh dấu sự phát triển mạnh mẽ của hệ điều hành mạng và hệ điều hành phân tán.

Môi trường tính toán

- Môi trường tính toán truyền thống

- Môi trường tính toán dựa trên cở sở Web

- Môi trường tính toán nhúng

Câu hỏi và bài tập

1. Ba mục tiêu chính của hệ điều hành là gì?

2. Liệt kê 4 bước cần thiết để thực hiện một chương trình trên một hệ

thống riêng biệt hoàn thiện.

3. Các ưu điểm chính của đa chương trình là gì?

4. Sự khác nhau cơ bản giữa các hệ điều hành cho các máy tính

Mainframe và các máy PCs

5. Hãy chỉ ra các đặc điểm cơ bản của các hệ điều hành sau: Gói (Batch), Tương tác (Interactive), Chia sẻ thời gian (Time sharing), Thời gian thực (Real time), Mạng (Network), Song song (Parallel), Phân tán (Distributed), Cụm (Clustered), cầm tay (HandHeld).

6. Hãy chỉ ra các khó khăn chính trong việc phát hệ điều hành cũng như

chương trình ứng dụng cho các hệ thống cầm tay.

7. Chỉ ra các ưu điểm chính của hệ thống đa chương trình, hệ thống phân tán và hệ thống có nhiều bộ xử lý.