Môn học Hệ ñiều hành UNIX-Linux
Chương 1. Giới thiệu chung về UNIX/Linux
1
Unix operating system - Nguyen Tri Thanh
Hệ ñiều hành Phần mềm hệ thống - Quản trị tài nguyên - Cung cấp cho người dùng một máy tính mở rộng
Quản trị tài nguyên
- Phần cứng: CPU, bộ nhớ trong ... - Phần mềm: hệ thống dịch vụ, ứng dụng và dữ liệu
Phân loại
- Hệ ñiều hành tập trung (truyền thống) - Hệ ñiều hành mạng - Hệ ñiều hành phân tán - Hệ tự trị cộng tác
2
Unix operating system - Nguyen Tri Thanh
Hệ ñiều hành tập trung Khái niệm
- Tỷ lệ truyền thông liên bộ xử lý / truyền thông nội tại nhỏ - ðiều khiển tập trung và sử dụng thông tin toàn cục
Phân loại
- ðơn chương trình: MS-DOS. Chế ñộ SPOOLING - ða chương trình (và ða người dùng) - Thời gian thực
Hệ ñiều hành ña chương trình
- Chế ñộ ña bài toán (chế ñộ mẻ - batch): MFT, MVT
ví dụ DOS trên máy IBM, OS trên EC ...
- Chế ñộ ña người dùng (multi-users)
3
Unix operating system - Nguyen Tri Thanh
Hệ ñiều hành ña người dùng ðịnh hướng
- Nhiều người dùng ñồng thời dùng trạm cuối (terminal) - Tính thân thiện: người dùng quan sát ứng dụng thực hiện
ðặc ñiểm ñiều khiển
- Bộ nhớ: bộ nhớ ảo (Virtural Memory) mở rộng không gian
bộ nhớ thực
- CPU: phân chia thời gian (Time Shared) theo lượng tử thời
gian
Ví dụ
- UNIX - Linux một biến thể của UNIX
4
Unix operating system - Nguyen Tri Thanh
Xuất xứ và tiến hóa UNIX Dự án MULTICS - 1965
- MIT (Masschusetts Institute of Technology)+Bell từ AT&T - MULTiplexed Information and Computing Service - Hệ ñiều hành ña người dùng, diện rộng, tính toán nhanh ... - Thất bại
UNICS-1969, UNIX - 1970 và 1973
- Ken Thompson (Bell, Multics) và Dennics Richie - Thừa hưởng dự án MULTICS, viết UNICS chế ñộ mẻ cho máy
PDP-7 (assembler) ⇒ 1970 cho máy PDP-11/20 (UNIX)
- 1971: nhằm khả chuyển (nhiều loại máy tính) viết trên B - 1973: B ⇑ C (Dennics Richie) và UNIX viết trên ngôn ngữ C
Giai ñoạn 1980-1990
- AT&T phổ biến UNUX mã nguồn mở tới ñại học - 1982 bản thương mại ñầu tiên UNIX-3 - 1985-1987 UNIX-5 hàng trăm nghìn cơ sở ñại học, nghiên cứu - Cần chuẩn hóa UNIX và chuẩn POSIX
5
Unix operating system - Nguyen Tri Thanh
Xuất xứ và tiến hóa UNIX Sau 1990
- UNIX-5 phiên bản 4 ñược coi một chuẩn của UNIX
- website http://problem.rice.edu/
. AT&T UNIX-5 phiên bản 3 . Berkley Software Distribution (BSD) . XENIX của MicroSoft . SUN OS
UNIX Inernational (UI)
- Cung cấp các bản AT&T. Giao diện ñồ họa Open Look
Open Source Foudation (OSF)
- IBM, HP, DEC ... hỗ trợ - Cung cấp các bản UNIX khác với AT&T Free SoftWare Foundation (FSF)
- Phát triển dòng UNIX miễn phí - Linux là một ñại diện quan trọng
6
Unix operating system - Nguyen Tri Thanh
ðặc trưng UNIX Viết trên ngôn ngữ bậc cao C mã nguồn mở
- dễ ñọc, dễ hiểu, dễ mang chuyển (khả chuyển: portable) (trong lệnh phân biệt chữ thường ≠ chữ hoa) - bộ dịch ñi chạy trên các máy cần cài ñặt (bộ dịch "phổ dụng")
Giao diện người dùng ñơn giản ðược thiết kế từ dưới lên: môñun ñơn giản ⇒ phức tạp Sử dụng duy nhất một hệ thống file: nhất quán File ñược trình bày như dãy byte Kết nối thiết bị qua trình ñiều khiển thiết bị ða người dùng, ña chương trình Thao tác vào - ra qua hệ thống file duy nhất Che khuất cấu trúc máy ñối với người sử dụng Người dùng chuyên nghiệp: dòng lệnh (+ ñồ họa)
7
Unix operating system - Nguyen Tri Thanh
Xuất xứ và tiến hóa Linux Khởi ñầu
www.caldera.com
www.corel.com
www.debian.com
www.redhat.com www.redflag-linux.com
- Minix của Andrew S. Tanenbaum cho dạy học - Tháng 8-1991, Linus Tovalds viết Linux từ Minix - GNU và Linux - Linux và Internet Linux trên thế giới - Caldera OpenLinux - Corel Linux - Debian GNU/Linux - Red Hat Linux - Red Flag Linux - Linux Mandrake - Slackware Linux - SuSE Linux - TurboLinux
www.mandrake.com www.slackware.com
www.suse.com www.turbolinux.com
Linux tại Việt Nam
8
Unix operating system - Nguyen Tri Thanh
- Dự án LinuxVN và LinuxVN Group (ðĩa LinuxVN) - Hội thảo tháng 12-2000 - Nghị ñịnh của Chính phủ
ðặc trưng của Linux Tương thích với nhiều hệ ñiều hành khác
. DOS, MS Windows . Cài trên cùng ổ ñĩa . Thao tác với các file thuộc hệ ñiều hành hành do VFS . Chạy mô phỏng các chương trình trên HðH khác
Linux là một UNIX tiêu biểu
9
Unix operating system - Nguyen Tri Thanh
. ða người dùng, ña chương trình, ña xử lý . Dễ dàng chuyển ñổi với các UNIX khác Giao diện ñồ họa (GUI), hỗ trợ giao thức mạng, RT Tính mạnh mẽ và chạy nhanh khi nhiều cửa sổ Tính khả chuyển trên PC, Mini Hỗ trợ tính toán song song và máy tính cụm (PC-cluster) Mã nguồn mở, miễn phí: phát triển nhanh song cần chuẩn hóa ðang ñược phát triển các ứng dụng ða ngôn ngữ và quốc tế hóa Khó khăn: - Cài ñặt (trình ñiều khiển thiết bị) - Phần mềm chưa phong phú
Linux: Sơ bộ các thành phần Bốn thành phần (theo tiếp cận tổ chức)
- Nhân (lõi) - Shell - Hệ thống File (chương 3) - Hệ thống tiện ích: Hệ thống lệnh
Nhân (kernel)
- Tập môñun chương trình: Quản trị hệ thống tài nguyên - Quản trị quá trình (bộ lập lịch-scheduler, quản trị bộ nhớ-memory management, truyền thông liên quá trình-InterProcess Communication IPC) và môñun hệ thống file (File System)
- Bộ lập lịch: phân chia thời gian RR, lượng tử thời gian, - Quản trị bộ nhớ: bộ nhớ ảo, trang (page)
Shell
10
Unix operating system - Nguyen Tri Thanh
- Chương trình giao tiếp người dùng - Có nhiều loại shell: c-shell (%), Bourn-shell ($), tcsh ... - Gõ lệnh: nhận lệnh - phân tích lệnh - thực hiện lệnh - quay lại - Dấu mời (giá trị PS1 và PS2) cho phép thay ñổi Hệ thống file (xem Chương 3): quản lý và thao tác file
Lệnh Linux (lệnh shell)
Cấu trúc lệnh: []
ls -l thu_muc hiện nội dung thu_muc theo dòng
hiện tên thư mục hiện thời - Tên lệnh bắt buộc, ñi ñầu, chữ thường - Tham số: không có/một hoặc nhiều - Nhắc lại: Phân biệt chữ thường / chữ hoa Ví dụ, pwd
Tham số: gồm tham số khóa cách thực hiện lệnh
Ví dụ,
ls -l thu_muc hiện nội dung thu_muc theo dòng -l : tham số khóa "hiện theo dòng" thu_muc : tham số vị trí "thư mục cần hiện nội dung" Tham số khóa: tham số khóa có dấu trừ "-" ở trước, ví dụ "-l". Liên hệ: tham số khóa trong MS-DOS có dấu "/" như "dir /p". Tham số vị trí: ý nghĩa tham số vị trí theo "vị trí" trong lệnh
Ví dụ, cp nguon1 nguon2 .... dich ñầu là nguồn, từ 2 là ñích
tham số vị trí ñối tượng liên quan lệnh
Phân biệt "siêu người dùng" và người dùng thường: một số lệnh chỉ có siêu người dùng mới có quyền thực hiện như adduser, ...
11
Unix operating system - Nguyen Tri Thanh
ðơn giản gõ lệnh Các kỹ năng ñơn giản gõ lệnh
- Khôi phục dòng lệnh,
- Dùng phím ñặc biệt soạn thảo,
- Dùng phím thay thế và phím
- cơ chế lưu các dòng lệnh "n dòng lệnh hiện tại", - phím di chuyển lên ↑ / di chuyển xuống ↓ ñể lấy dòng lệnh "trước"/"sau"
Phím ñặc biệt
12
Unix operating system - Nguyen Tri Thanh
- Phím ←/→ di chuyển con trỏ sang trái/phải một vị trí,
- Cặp phím
ðơn giản gõ lệnh
Dùng phím thay thế mô tả file và
* Dùng phím thay thế *, ?, [ và ]
} tương tự MS-DOS
- "*": thay thế xâu bất kỳ,
- "?": thay thế kí tự bất kỳ ,
- [
Khi gõ tên file, dùng phím
File có chứa xâu con ñầu và xâu con thứ hai ñể ñưa vào dòng lệnh.
Ví dụ,
# ls /u
hiện ra các ký hiệu trên dòng lệnh # ls /usr/local/bin
Tiếp nối dòng lệnh - Khi lệnh dài hơn một dòng, - Dùng ký hiệu "\" ở cuối dòng trước
13
Unix operating system - Nguyen Tri Thanh
Trang man: Hỗ trợ thường trực Hỗ trợ thường trực
- Linux có hàng nghìn lệnh, lệnh nhiều tham số - UNIX (Linux) hỗ trợ thường trực người dùng (help) - Sử dụng lệnh man
. # man
- Trang man tương ứng hiện ra theo soạn thảo vim ở dạng
xem+không ghi
- Cho phép không nhớ chính xác lệnh: ñánh xâu con ñầu tiên
và
- Thoát ra theo lệnh của vim là :q
14
Unix operating system - Nguyen Tri Thanh
Linux Programmer's Manual tên lệnh - khái quát tác dụng của lệnh
cú pháp của lệnh
mô tả cụ thể hơn về tác dụng của lệnh
liệt kê các tùy chọn lệnh và tác dụng của chúng
liệt kê các file mà lệnh sử dụng hoặc tham
liệt kê các lệnh, các tài liệu ... có liên quan ñến lệnh ñịa chỉ liên hệ nếu gặp lỗi khi sử dụng lệnh
Trang man Cấu trúc chung COMMAND(1) NAME SYNOPSIS DESCRIPTION OPTIONS FILES chiếu ñến SEE ALSO REPORTING BUGS AUTHOR
Ví dụ,
tên tác giả của lệnh
#man ls hiện thông tin về lệnh hiển thị nội dung thư
15
Unix operating system - Nguyen Tri Thanh
mục
Một số nội dung ôn tập chương 1
- ðặc ñiểm hệ ñiều hành ña người dùng - Khái niệm bộ nhớ ảo và phân chia thời gian - ðặc ñiểm hệ ñiều hành UNIX - Phần mềm mã nguồn mở - ðặc ñiểm hệ ñiều hành Linux - Khái quát các thành phần của Linux - Phần mềm mã nguồn mở, miễn phí - Khái quát về lệnh trong UNIX-Linux.
16
Unix operating system - Nguyen Tri Thanh