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

Bài giảng Hệ điều hành Unix: Chương 1 - Ngô Duy Hòa

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 (5.56 MB, 60 trang )

Bài mở đầu
Ngơ Duy Hịa – KHMT – CNTT


1. Hệ thống máy tính


Phần cứng máy tính


Chương trình phần mềm
• CPU chỉ chứa các mã lệnh cho các phép
toán cơ bản như:
– Phép toán số học.
– Phép tốn logic.
– Câu lệnh nhảy.

• Chương trình phần mềm:
– Trình tự (thuật tốn) cụ thể
– Giải quyết một vấn đề cụ thể.


Phân loại phần mềm
• Phần mềm ứng dụng:
– Của người dùng.
– Phục vụ người dùng.

• Phần mềm hệ thống:
– Quản lý hệ thống.
– Quản lý các chương trình ứng dụng..



Hệ điều hành
• Hệ điều hành là một phần mềm hệ thống
đặc biệt
• Nhiệm vụ chính:
– Quản lý phần cứng máy tính.
– Thiết lập mơi trường làm việc cho các chương
trình phần mềm.
– Hỗ trợ tương tác giữa người dùng và phần
cứng máy tính.


Hệ điều hành (tiếp)

• Yêu cầu:
– Bảo mật.
– Dễ sử dụng (thân thiện)
– Khai thác tài nguyên hệ thống tốt, hiệu quả


Hai chế độ làm việc
• Kernel mode:
– Hỗ trợ bởi các mã máy đặc biệt trong CPU.
– Chỉ dành cho nhân HĐH
– Cấm người dùng truy cập đến phần cứng
– Cịn gọi là Protected mode

• User mode:
– Chạy ứng dụng của người dùng
– Chạy ứng dụng hệ thống do HĐH cung cấp.



User mode & Kernel mode


Phân loại hệ điều hành
• HĐH được thiết kế dựa trên các đặc trưng
sau:
– Monolithic.
• Traditional.
• Layered System.

– Micro Kernel
– Modules
– Virtual Machine


Monolithic


Layered System


Micro Kernel


Modules OS


Virtual Machine



2. Hệ điều hành Unix/Linux


UNIX System Structure


UNIX System Structure (tiếp)


Ý tưởng trong thiết kế Unix/Linux
• Hệ điều hành đa nhiệm (multitasking)
• Hệ điều hành đa người dùng (multiuser)
• Tạo (creation), chỉnh sửa (modification)
hay hủy bỏ (destruction):
– Chương trình
– Tệp tin.

• File System
• Chia xẻ tài nguyên hệ thống:CPU, RAM,...


Ý tưởng (tiếp)
• Hệ điều hành đa nhiệm (multitasking)
• Hệ điều hành đa người dùng (multiuser)
• Tạo (creation), chỉnh sửa (modification)
hay hủy bỏ (destruction):
– Chương trình
– Tệp tin.


• File System
• Chia xẻ tài nguyên hệ thống:CPU, RAM,...


Ý tưởng (tiếp)
• Làm trong mơi trường mạng.(Networking)
• Tập chương trình tiện ích đầy đủ.(System
Utilities)
• Thư viện lập trình (System call Interface,
Standard Library)
• Hệ thống mở, tương thích với nhiều nền
phần cứng (platform) khác nhau


Lịch sử phát triển
• 1965 – 1969 : MIT + AT&T Bell Lab:
– Dự án OS Multics (Multiplexed Information
and Computing Service)
– Yêu cầu đặt ra:
• Hỗ trợ nhiều người dùng cùng làm việc.
• Hỗ trợ tính tốn tốc độ cao,
• Chia xẻ tài nguyên của người dùng.

– Dự án không thành công.


Lịch sử phát triển (tiếp)
• 1970 – 1979 :Thomson+ Ritchie Bell Lab:
– Thiết kế File System.

– Thiết kế kiến trúc file thực thi trong Unix.
– Phân chia thời gian (Time sharing).
– Liên lạc giữa các tiến trình (PIPE).
– Xử lý văn bản (text processing) Shell.
– Viết lại Kernel bằng C


Lịch sử phát triển (tiếp)
• 1980 – 1989 : Nhiều phiên bản Unix:
– Bổ sung C Shell và Korn Shell.
– Xử lý văn bản: PERL và TCL.
– Hỗ trợ TCP/IP trong Kernel.
– Xây dựng theo chuẩn POSIX (Portable
Operating System Interface).
– Bổ sung: System Administration, IPC,..
– Thiết kế giao diện tương tác với người dùng.


Lịch sử phát triển (tiếp)
• 1990 – nay : Unix & Linux:
– Unix được hồn thiện hơn về:
• Kiến trúc Kernel.
• FileSystem.
• Tương thích với nhiều platform phần cứng.

– Chuyển sang Linux:
• Kernel là mã nguồn mở (free open source).
• OS Unix-like : Kernel Linux giống Unix (90%).
• Cộng đồng mã nguồn mở lớn.



×