Mơn học Hệ điều hành UNIX-Linux
Chương 1. Giới thiệu chung về UNIX/Linux
Unix operating system - Nguyen Tri Thanh
1
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
Unix operating system - Nguyen Tri Thanh
2
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 tồ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 tố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)
Unix operating system - Nguyen Tri Thanh
3
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
Unix operating system - Nguyen Tri Thanh
4
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 tố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óaUnix
UNIX
và chuẩn POSIX
operating system - Nguyen Tri Thanh
5
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
. AT&T UNIX-5 phiên bản 3
. Berkley Software Distribution (BSD)
. XENIX của MicroSoft
. SUN OS
- website />
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
Unix operating system - Nguyen Tri Thanh
6
ðặ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)
Unix operating system - Nguyen Tri Thanh
7
Xuất xứ và tiến hóa Linux
Khởi đầu
- 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.caldera.com
www.corel.com
www.debian.com
www.redhat.com
www.redflag-linux.com
www.mandrake.com
www.slackware.com
www.suse.com
www.turbolinux.com
Linux tại Việt Nam
- Dự án LinuxVN và LinuxVN Group (ðĩa LinuxVN)
- Hội thảo tháng 12-2000
- Nghị định của Chính phủ
Unix operating system - Nguyen Tri Thanh
8
ðặ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
. ð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 tố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ú
Unix operating system - Nguyen Tri Thanh
9
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 ngun
- 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 q 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
- 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
Unix operating system - Nguyen Tri Thanh
10
Lệnh Linux (lệnh shell)
Cấu trúc lệnh: <Tên lệnh> [<các tham số>]
- 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
hiện tên thư mục hiện thời
ls -l thu_muc hiện nội dung thu_muc theo dòng
Tham số: gồm tham số khóa cách thực hiện lệnh
tham số vị trí đối tượng liên quan 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
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, ...
Unix operating system - Nguyen Tri Thanh
11
ðơ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 <Tab>,
- Dùng chương trình lệnh (file script),
- Dùng thay thế alias.
Khơi phục dịng lệnh
- 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
- Phím ←/→ di chuyển con trỏ sang trái/phải một vị trí,
- Cặp phím <ESC F>/ <ESC B> di chuyển con trỏ sang phải/trái một từ,
- Cặp phím <ESC A>/ <ESC E> di chuyển con trỏ về đầu/cuối dịng lệnh,
- Cặp phím <ESC BACKSPACE>/ <ESC D> xóa một từ bên trái/phải,
- Cặp phím <ESC U> xóa dịng lệnh.
Unix operating system - Nguyen Tri Thanh
12
ðơn giản gõ lệnh
Dùng phím thay thế mơ tả file và <Tab>
* Dùng phím thay thế *, ?, [ và ]
- "*": thay thế xâu bất kỳ,
} tương tự MS-DOS
- "?": thay thế kí tự bất kỳ ,
- [<xâu kí tự>]: thay thế một kí tự bất kỳ thuộc xâu,
cách viết, [a-d] tương đương [abcd]
* Dùng phím <Tab> tìm nhanh tên file đưa vào lệnh
Khi gõ tên file, dùng phím <Tab> và tiếp theo một xâu con thì Linux tìm tên
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<TAB>local<TAB>b<TAB>
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
Unix operating system - Nguyen Tri Thanh
13
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 <tên_lệnh>
. # man <khái_niệm>
- 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à <Tab>
- Thoát ra theo lệnh của vim là :q
Unix operating system - Nguyen Tri Thanh
14
Trang man
Cấu trúc chung
COMMAND(1)
Linux Programmer's Manual
NAME
tên lệnh - khái quát tác dụng của lệnh
SYNOPSIS
cú pháp của lệnh
DESCRIPTION
mô tả cụ thể hơn về tác dụng của lệnh
OPTIONS
liệt kê các tùy chọn lệnh và tác dụng của chúng
FILES
liệt kê các file mà lệnh sử dụng hoặc tham
chiếu ñến
SEE ALSO
liệt kê các lệnh, các tài liệu ... có liên quan đến lệnh
REPORTING BUGS
địa chỉ liên hệ nếu gặp lỗi khi sử dụng lệnh
AUTHOR
tên tác giả của lệnh
Ví dụ,
#man ls
hiện thơng tin về lệnh hiển thị nội dung thư
mục
Unix operating system - Nguyen Tri Thanh
15
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.
Unix operating system - Nguyen Tri Thanh
16