You are on page 1of 10

Nội dung chương 1

BÀI GIẢNG
NGUYÊN LÝ HỆ ĐIỀU HÀNH „ Khái niệm Hệ điều hành (Operating System)
„ Mainframe Systems
„ Desktop Systems
„ Multiprocessor Systems
Chương 1: Giới thiệu chung „ Distributed Systems
„ Clustered Systems
„ Real-Time Systems
Phạm Quang Dũng
„ Handheld Systems
Bộ môn Khoa học máy tính
Khoa Công nghệ thông tin „ Gaming Systems

Trường Đại học Nông nghiệp I „ Sự phát triển của hệ điều hành
DĐ: 0988149189 „ Các môi trường tính toán
Website: www.hau1.edu.vn/it/pqdung

Bài giảng Nguyên lý Hệ điều hành 1.2 Phạm Quang Dũng ©2005

1.1. Khái niệm Hệ điều hành Các thành phần của hệ thống máy tính

1. Phần cứng (Hardware) – cung cấp các tài nguyên tính


„ Hệ điều hành (Operating System): Là một chương toán cơ bản (CPU, memory, I/O devices)
trình hoạt động như một lớp trung gian giữa người 2. Hệ điều hành (Operating system) – điều khiển và sắp
sử dụng máy tính và phần cứng máy tính. xếp việc sử dụng phần cứng trong các chương trình ứng
„ Các mục đích của HĐH: dụng khác nhau đối với những người sử dụng khác
z Thực hiện các chương trình của người sử dụng và giúp
nhau.
việc giải các bài toán của người sử dụng dễ dàng hơn. 3. Các chương trình ứng dụng (Applications programs) –
z Giúp cho việc sử dụng hệ thống máy tính thuận tiện hơn. định cách sử dụng tài nguyên hệ thống để giải quyết các
z Sử dụng phần cứng máy tính theo một cách hiệu quả.
bài toán của người sử dụng (compilers, database
systems, video games, business programs)
4. Users (people, machines, other computers)

Bài giảng Nguyên lý Hệ điều hành 1.3 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.4 Phạm Quang Dũng ©2005

1
Các thành phần hệ thống (tiếp) Các cách nhìn đối với hệ điều hành

„ Là trình phân phối tài nguyên (Resource allocator) –


quản lý và phân phối các tài nguyên: CPU, không
gian bộ nhớ, các thiết bị vào/ra...
„ Là một chương trình điều khiển (Control program) –
điều khiển sự thực hiện các chương trình của người
sử dụng và sự hoạt động của các thiết bị vào/ra.
„ Kernel – là một chương trình chạy liên tục không
ngừng trên máy tính (tất cả các chương trình khác
là chương trình ứng dụng)

Bài giảng Nguyên lý Hệ điều hành 1.5 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.6 Phạm Quang Dũng ©2005

Những gì dễ nhầm với hệ điều hành? Tại sao phải nghiên cứu HĐH?
„ Các lệnh/ứng dụng truy vấn trạng thái hệ thống: ls (UNIX), Task „ Thiết kế HĐH là một case study rất tốt về thiết kế
Manager (Windows). Đó là các công cụ và không chạy liên tục.
công nghệ phần mềm (software engineering design).
„ Các trình điều khiển thiết bị ngoại vi (drivers): khiến cho HĐH có
thể sử dụng phần cứng mới, chúng là OS extensions chứ không
„ The better you know the OS, the better apps you
phải là bản thân OS. Cũng giống như browser plugin và browser. write, the better you understand its bugs and work
„ Các phần mềm có thể đơn phương truy nhập phần cứng: around them.
z VMWare là một virtual PC (không phải hardware). Có thể cài „ HĐH sử dụng các thuật giải phức tạp, rất nhiều trong
Windows “trên” nó.
đó có thể được sử dụng lại trong các phần mềm
z Java VM là một virtual machine (không phải hardware), API
khác, vd: phát hiện khoá chết (deadlock detection).
(application program interface) của nó là một HĐH suy rộng.
(Careful: JavaOS là một project riêng) „ HĐH cần có sự phát triển nhanh của phần cứng.

Bài giảng Nguyên lý Hệ điều hành 1.7 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.8 Phạm Quang Dũng ©2005

2
1.2. Mainframe Systems UNIVAC mainframe system

„ Là HĐH sơ khai đầu tiên.

„ Tăng tốc độ xử lý bằng cách gộp bó (batching) các


công việc tương tự nhau.
„ Automatic job sequencing – tự động chuyển điều
khiển từ một công việc cho công việc kế tiếp.
„ Resident monitor - giám sát nội trú!!!
z khởi tạo điều khiển trong chế độ giám sát (monitor mode)
z điều khiển được chuyển cho công việc (user mode)
z khi công việc kết thúc, điều khiển được chuyển trở lại chế độ
giám sát.

Bài giảng Nguyên lý Hệ điều hành 1.9 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.10 Phạm Quang Dũng ©2005

FACOM mainframe system Bố trí bộ nhớ của Simple Batch System

Bài giảng Nguyên lý Hệ điều hành 1.11 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.12 Phạm Quang Dũng ©2005

3
Multiprogrammed Batch Systems Bố trí
trí bộ nhớ
nhớ của Multiprogammed System

„ Multiprogramming làm tăng hiệu năng của CPU bằng


cách tổ chức các công việc để CPU luôn có 1 công
việc cần thực hiện.
„ Các công việc đó được lưu trong bộ nhớ chính tại
cùng một thời điểm và CPU là đa nhiệm giữa chúng.
„ Khi 1 công việc phải đợi tác vụ nào đó, vd đợi hoạt
động vào-ra, HĐH sẽ chuyển CPU cho 1 công việc
khác.
„ Là đại diện HĐH đầu tiên phải ra quyết định cho
user.

Bài giảng Nguyên lý Hệ điều hành 1.13 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.14 Phạm Quang Dũng ©2005

Các thà
thành phầ
phần HĐH cầ
cần thiế
thiết cho Time-
Time-Sharing Systems – Tính toá
toán tương tá
tác
Multiprogramming
„ CPU thực hiện nhiều công việc (tiến trình) bằng cách chuyển giữa
„ Thường trình I/O (I/O routine) được cung cấp bởi hệ chúng, nhưng sự chuyển rất thường xuyên để các user có thể tương
thống, giúp điều khiển các hoạt động vào-ra tác với mỗi chương trình đang chạy và có cảm giác là toàn bộ hệ
thống đang được dành riêng cho mình.
„ Memory management – giúp hệ thống phân phối bộ
„ Sự giao tiếp trực tuyến giữa người sử dụng và hệ thống được cung
nhớ cho các công việc. cấp
„ CPU scheduling – giúp hệ thống chọn một trong số z Khi HĐH kết thúc việc thực hiện 1 lệnh, nó tìm “câu lệnh điều khiển”
(control statement) tiếp theo từ bàn phím hoặc chuột.
các công việc để phân phối CPU cho chạy tiếp theo.
„ HĐH sử dụng CPU scheduling và multiprogramming để cung cấp cho
„ Device management - giúp phân phối các thiết bị. mỗi user một phần nhỏ tài nguyên của máy tính.
„ Multiprogramming và time sharing vẫn đóng vai trò chủ đạo trong các
HĐH hiện nay.

Bài giảng Nguyên lý Hệ điều hành 1.15 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.16 Phạm Quang Dũng ©2005

4
IBM 360_67 time-sharing system 1.3. Desktop Systems

„ Personal computers – hệ thống máy tính được thiết kế dành


cho người sử dụng đơn
„ I/O devices – keyboards, mice, display screens, small
printers
„ Có sự thuận tiện và dễ điều khiển đối với người sử dụng
„ Có thể ứng dụng các kỹ thuật được phát triển cho các HĐH
lớn hơn
z Thường mỗi người sở hữu một máy tính, do đó không quá tập
trung vào các tính năng tiên tiến của CPU và các tính năng bảo
mật.
„ Có thể chạy vài loại HĐH khác nhau (Windows, MacOS,
BeOS, Solaris x86, UNIX, Linux)

Bài giảng Nguyên lý Hệ điều hành 1.17 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.18 Phạm Quang Dũng ©2005

Ex: Destop system 1.4. Parallel Systems


„ Là các hệ thống có nhiều hơn 1 CPU giao tiếp chặt chẽ với nhau
z Còn được gọi là multiprocessor systems

„ Tightly coupled system (hệ thống ghép đôi chặt chẽ) – các
processor chia sẻ bộ nhớ và một clock; sự giao tiếp thường
xuyên diễn ra qua bộ nhớ chia sẻ
„ Các lợi điểm của parallel system:
z Tăng thông lượng (throughput): mức tăng tỷ lệ thuận – N processor,
tốc độ tăng N lần
z Tiết kiệm (thời gian, tài nguyên): các tài nguyên phụ thuộc và chia
sẻ
z Tăng độ tin cậy (trong một số trường hợp)

Bài giảng Nguyên lý Hệ điều hành 1.19 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.20 Phạm Quang Dũng ©2005

5
Parallel Systems (tiếp) Kiến trúc đa xử lý đối xứng

„ Symmetric multiprocessing (SMP – đa xử lý đối xứng)


z Mỗi processor chạy và copy HĐH giống hệt nhau
z Nhiều tiến trình có thể đồng thời mà không làm giảm hiệu
năng
z Hầu hết các HĐH hiện đại có hỗ trợ SMP

„ Asymmetric multiprocessing (đa xử lý không đối xứng)


z Mỗi processor được phân công một nhiệm vụ riêng; master
processor lập lịch và phân công công việc cho các slave
processors
z Phổ biến trong các hệ thống cực lớn

Bài giảng Nguyên lý Hệ điều hành 1.21 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.22 Phạm Quang Dũng ©2005

fujGS8400 multi-processor system 1.5. Distributed Systems

„ Phân tán sự tính toán cho một vài processor vật lý


„ Loosely coupled system (hệ thống ghép đôi lỏng lẻo) – mỗi
processor có bộ nhớ của riêng nó (local memory); các
processor giao tiếp với processor khác qua các đường giao
tiếp khác nhau như: các bus cao tốc, đường điện thoại,
Internet
„ Các lợi điểm của distributed system
z Tương tự như parallel systems nhưng rẻ hơn và đáng tin cậy
hơn nhờ sự backup dữ liệu một cách tuyệt đối
z Sự giao tiếp đa dạng

„ Tuy nhiên khó quản lý hơn parallel systems: network failures,


node failures, chi phí vận chuyển dữ liệu lớn…

Bài giảng Nguyên lý Hệ điều hành 1.23 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.24 Phạm Quang Dũng ©2005

6
Distributed Systems (tiếp) Cấu trúc Client-Server

„ Yêu cầu cơ sở hạ tầng mạng:


z Local area networks (LAN)
z Wide area networks (WAN)

„ Có thể là các hệ thống


z client-server hoặc
z peer-to-peer.

Bài giảng Nguyên lý Hệ điều hành 1.25 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.26 Phạm Quang Dũng ©2005

Cấu trúc Peer-to-Peer 1.6. Clustered Systems

„ Clustering cho phép 2 hoặc nhiều hệ thống chia sẻ bộ


nhớ lưu trữ
„ Cung cấp sự tin cậy cao

„ Asymmetric clustering: một server chạy ứng dụng


trong khi các server khác dự phòng (standby)
„ Symmetric clustering: tất cả N server cùng chạy ứng
dụng

Bài giảng Nguyên lý Hệ điều hành 1.27 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.28 Phạm Quang Dũng ©2005

7
Các tầng cluster 1.7. Real-Time Systems

„ Thường được sử dụng như một thiết bị điều khiển


trong một ứng dụng riêng biệt như điều khiển các thí
nghiệm khoa học, các hệ thống xử lý ảnh trong y học,
các hệ thống điều khiển công nghiệp và một số hệ
thống hiển thị khác.

„ Có những ràng buộc thời gian cố định (fixed-time) một


cách rõ ràng.

„ Real-Time systems có thể là hard hoặc soft real-time.

Bài giảng Nguyên lý Hệ điều hành 1.29 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.30 Phạm Quang Dũng ©2005

Real-Time Systems (tiếp) Ex: realtime system

„ Hard real-time:
z Bộ nhớ thứ cấp (Secondary storage) không có hoặc bị giới
hạn, dữ liệu được chứa trong bộ nhớ ngắn kỳ (short term
memory), hoặc read-only memory (ROM)
z Trái ngược với time-sharing systems, không được hỗ trợ bởi
các HĐH đa năng

„ Soft real-time
z Tiện ích hạn chế trong công nghiệp điều khiển robot
z Hữu dụng trong các ứng dụng đòi hỏi các tính năng tiên tiến
của HĐH (multimedia, virtual reality)

Bài giảng Nguyên lý Hệ điều hành 1.31 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.32 Phạm Quang Dũng ©2005

8
1.8. Handheld Systems Ex: handheld systems

„ Personal Digital Assistants (PDAs)

„ Cellular telephones

„ Các hạn chế:


z Bộ nhớ có dung lượng nhỏ
z Processor chậm
z Màn hình hiển thị nhỏ

Bài giảng Nguyên lý Hệ điều hành 1.33 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.34 Phạm Quang Dũng ©2005

1.9. Gaming systems Ex: gaming systems

„ Thiết bị vào (input) hạn chế: joystick, ít nút.

„ Phần cứng máy tính hạn chế.

„ Tập trung vào hình ảnh và âm thanh.

„ Tiện lợi và dễ điều khiển đối với người sử dụng.

„ Các trò chơi nhiều người một lúc cần có môi trường
mạng.
„ HĐH rất đơn giản.

Bài giảng Nguyên lý Hệ điều hành 1.35 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.36 Phạm Quang Dũng ©2005

9
1.10. Sự phát triển của hệ điều hành 1.11. Các môi trường tính toán
„ Traditional computing
z Mainframes, PCs: truy nhập từ xa (remote access) bị giới hạn

„ Web-Based Computing: “the network is the computer”


z Các dịch vụ client-server và web: remote access thuận tiện, không
phụ thuộc vị trí server.

„ Embedded Computing: sử dụng cho mục đích đặc biệt


z Là dạng thức phổ biến nhất của computers trong đời sống (các
mạch điều khiển máy tự động, các lò vi sóng, …)
z Các tính năng HĐH rất hạn chế
z Giao diện người sử dụng và remote access rất ít hoặc không có

Bài giảng Nguyên lý Hệ điều hành 1.37 Phạm Quang Dũng ©2005 Bài giảng Nguyên lý Hệ điều hành 1.38 Phạm Quang Dũng ©2005

10

You might also like