Hệ iều hành UNIX-Linux
Chương 1. Giới thiệu chung về
UNIX/Linux
Đặng Thu Hiền
Khoa Công nghệ thông tin
Trường Đại học Công nghệ
Đại học Quốc gia Hà Nội
1
Hệ iều hành
n
Phần mềm hệ thống
n
n
n
n
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
n
Phần cứng: CPU, bộ nhớ trong ...
n
Phần mềm: hệ thống dịch vụ, ứng dụng và dữ liệu
Phân loại
n
Hệ iều hành tập trung (truyền thống)
n
Hệ iều hành mạng
n
Hệ iều hành phân tán
n
Hệ tự trị cộng tác
Đặng Thu Hiền - 2010
2
Hệ iều hành tập trung
n
Khái niệm
n
n
n
Phân loại
n
n
n
n
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
Đơ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
n
n
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)
Đặng Thu Hiền - 2010
3
Hệ iều hành a người dùng
n
Định hướng
n
n
n
Đặc iểm iều khiển
n
n
n
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
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ụ
n
n
UNIX
Linux một biến thể của UNIX
Đặng Thu Hiền - 2010
4
Lịch sử hệ iều hành UNIX
n
Dự án MULTICS – 1965
MIT (Masschusetts Institute of Technology) +
Bell từ AT&T
n Là hệ
iều hành dành cho máy tính lớn GE-645
n MULTiplexed Information and Computing Service
n Hệ
iều hành a người dùng, diện rộng, tính
tốn nhanh ...
n Mục tiêu của dự án: Thương phẩm
n Thất bại
n
Đặng Thu Hiền - 2010
5
Lịch sử hệ iều hành UNIX
n
UNICS-1969, UNIX - 1970 và 1973
n
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
n
1973: UNIX viết trên ngơn ngữ C
n
n
n
Giai oạn 1980-1990
n
n
n
n
AT&T phổ biến UNIX 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 mnghìn cơ sở đại học, nghiên cứu
Cần chuẩn hóa UNIX và chuẩn POSIX
Đặng Thu Hiền - 2010
6
Lịch sử hệ iều hành UNIX
n
Sau 1990
n UNIX-5 phiên bản 4 được coi một chuẩn của UNIX
n
n
n
n
n
n
n
n
AT&T UNIX-5 phiên bản 3
Berkley Software Distribution (BSD)
XENIX của MicroSoft
SUN OS
website />
UNIX Inernational (UI)
n Cung cấp các bản AT&T. Giao diện đồ họa Open Look
Open Source Foudation (OSF)
n IBM, HP, DEC ... hỗ trợ
n Cung cấp các bản UNIX khác với AT&T
Free SoftWare Foundation (FSF):
n Phát triển dịng UNIX miễn phí
n Linux là một đại diện quan trọng
Đặng Thu Hiền - 2010
7
Các tác giả của UNIX
n
Ken
Thompson
http://
plan9.belllabs.com/
who/ken/
Đặng Thu Hiền - 2010
Dennis Ritchie
http://
plan9.belllabs.com/
who/dmr/
8
Đặc trưng của UNIX
n
Viết trên ngôn ngữ bậc cao C mã nguồn mở
n dễ đọc, dễ hiểu, dễ mang chuyển (khả chuyển: portable)
n
n
(trong lệnh phân biệt chữ thường và 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")
n
Giao diện người dùng đơn giản
n
Được thiết kế từ dưới lên: mô un đơn giản => phức tạp
n
Sử dụng duy nhất một hệ thống file: nhất quán
n
File được trình bày như dãy byte
n
Kết nối thiết bị qua trình iều khiển thiết bị
n
Đa người dùng, a chương trình
n
Thao tác vào - ra qua hệ thống file duy nhất
n
Che khuất cấu trúc máy đối với người sử dụng
n
Người dùng chuyên nghiệp: dòng lệnh (+ đồ họa)
Đặng Thu Hiền - 2010
9
Lịch sử hệ iều hành Linux
n
n
n
Là một hệ iều hành kiểu Unix,
mã nguồn mở, công bố lần
đầu ngày 17/9/1991
Người tạo ra nhân của Linux:
Linus Torvald (Phần Lan)
Vật lấy phước của nhân Linux:
Chim cánh cụt Tux
Đặng Thu Hiền - 2010
10
Linux trên thế giới và tại Việt Nam
n
Trên thế giới
n
n
n
n
n
n
n
n
n
n
n
Caldera OpenLinux www.caldera.com
Corel Linux www.corel.com
Debian GNU/Linux www.debian.com
Ubuntu Linux www.ubuntu.com
Red Hat Linux www.redhat.com
Red Flag Linux www.redflag-linux.com
Linux Mandrake www.mandrake.com
Slackware Linux www.slackware.com
SuSE Linux www.suse.com
TurboLinux www.turbolinux.com
Tại Việt Nam
n
n
n
n
Dự án LinuxVN và LinuxVN Group (Đĩa LinuxVN)
Hội thảo tháng 12-2000
Nghị định của Chính phủ
Ngày Software Freedom Day tổ chức hàng n m
Đặng Thu Hiền - 2010
11
Đặc trưng của Linux
n
Tương thích với nhiều hệ iều hành khác
n
n
n
n
n
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 Virtual File System
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
n
n
Đa người dùng, a chương trình, a xử lý (phân chia thời gian)
Dễ dàng chuyển đổi với các UNIX khác
n
Giao diện đồ họa (GUI), hỗ trợ giao thức mạng
n
Tính mạnh m và chạy nhanh khi nhiều cửa sổ
n
Tính khả chuyển trên PC, Mini
n
Hỗ trợ tính tốn song song và máy tính cụm(PC-cluster)
n
Mã nguồn mở, miễn phí: phát triển nhanh song cần chuẩn hóa
n
Đang được phát triển các ứng dụng
n
Đa ngơn ngữ và quốc tế hóa
n
Khó kh n: Cài đặt; Phầm mềm chưa phong phú
Cài- đặt
Đặng Thun Hiền
2010(cần chính xác mơ tả thiết bị) - Phần mềm chưa phong phú
12
Đa chương trình, a người dùng và
a xử lý
Đặng Thu Hiền - 2010
13
Linux: Sơ bộ các thành phần
n
Bốn thành phần (theo tiếp cận tổ chức)
n
n
n
n
n
Nhân (kernel)
n
n
n
n
n
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 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
n
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
n
Dấu mời (giá trị PS1 và PS2) cho phép thay đổi
n
n
n
Nhân (lõi)
Shell
Hệ thống File (chương 3)
Hệ thống tiện ích: Hệ thống lệnh
Hệ thống file: quản lý và thao tác file
14
Lệnh trong Linux
n
Cấu trúc lệnh: <Tên lệnh> [<các tham số>]
n
n
n
n
n
n
Tên lệnh bắt buộc, đứng đầ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 và tham số vị trí đối
tượng liên quan lệnh
n
Ví dụ, ls -l thu_muc hiện nội dung thu_muc theo dịng
n
n
n
Tham số khóa: tham số khóa có dấu trừ "-" ở trước, ví dụ "-l".
n
n
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
n
n
-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"
Ví dụ: cp nguồn dich1 dich2 ... đầ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ó
15
siêu người dùng mới có quyền thực hiện như adduser, ...
Đơn giản gõ lệnh
n
Các kỹ n ng đơn giản gõ lệnh
n
n
n
n
n
n
Khơi phục dịng lệnh
n
n
n
Khơi phục dịng lệnh,
Dùng phím đặc biệt soạn thảo,
Dùng phímthay thế và phím<Tab>,
Dùng chương trình lệnh (file script),
Dùng thay thế alias.
cơ chế lưu các dòng lệnh "n dịng lệnh hiện tại",
phímdi chuyển lên / di chuyển xuống để lấy dịng lệnh "trước"/"sau"
Phím đặc biệt
n
n
n
n
n
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.
Đặng Thu Hiền - 2010
16
Đơn giản gõ lệnh
n
Dùng phímthay thế mơ tả file và <Tab>
n Dùng phím thay thế *, ?, [ và ]
n
n
n
n
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ụ:
n
n
n
[<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
n
n
"*": thay thế xâu bất kỳ,
"?": thay thế kí tự bất kỳ,
# 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
n Khi lệnh dài hơn một dòng, dùng ký hiệu "\" ở cuối dòng trước
Đặng Thu Hiền - 2010
17
Trang man: Hỗ trợ thường trực
n
Hỗ trợ thường trực
n
n
n
n
n
n
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
n
# man <tên_lệnh>
n
# man <khái_niệm>
Trang man tương ứng hiện ra theo soạn thảo vim ở
dạng chỉ xem + không sửa và không ghi
Cho phép khơng nhớ chính xác lệnh: ánh xâu con đầu
tiên sau ó gõ <Tab>
Để thốt ra, gõ q (theo lệnh của vim)
Đặng Thu Hiền - 2010
18
Trang man
n
n
Cấu trúc chung
n COMMAND(1)
Linux Programmer's Manual
n NAME
tên lệnh - khái quát tác dụng của lệnh
n SYNOPSIS
cú pháp của lệnh
n DESCRIPTION
mô tả cụ thể hơn về tác dụng của lệnh
n OPTIONS
liệt kê các tùy chọn lệnh và tác dụng của chúng
n 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, tài liệu ... có liên quan đến lệnh
n REPORTING BUGS địa chỉ liên hệ nếu gặp lỗi khi sử dụng lệnh
n AUTHOR
tên tác giả của lệnh
Ví dụ:
n
Đặng Thu Hiền - 2010
#man ls
s hiện thông tin về lệnh hiển thị nội dung thư mục
19
Tổng kết
n
Đặc iểm hệ iều hành a người dùng
n
Khái niệm bộ nhớ ảo và phân chia thời gian
n
Đặc iểm hệ iều hành UNIX
n
Phần mềmmã nguồn mở
n
Đặc iểm hệ iều hành Linux
n
Khái quát các thành phần của Linux
n
Phần mềmmã nguồn mở, miễn phí
n
Khái quát về lệnh trong UNIX-Linux.
Đặng Thu Hiền - 2010
20