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 Quản trị tài nguyên n Cung cấp cho người dùng một máy tính mở rộng
n 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
n 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
2 Đặng Thu Hiền - 2010
Hệ điều hành tập trung
n Khái niệm
n Tỷ lệ truyền thông liên bộ xử lý / truyền thông nội tại
nhỏ
n Điều khiển tập trung và sử dụng thông tin toàn cục
n Phân loại
n Đơn chương trình: MS-DOS. Chế độ SPOOLING n Đa chương trình (và Đa người dùng) n Thời gian thực
n Hệ điều hành đa chương trình
n Chế độ đa bài toán (chế độ mẻ - batch): MFT, MVT ví
dụ DOS trên máy IBM, OS trên EC ... n Chế độ đa người dùng (multi-users)
3 Đặng Thu Hiền - 2010
Hệ điều hành đa người dùng
n Định hướng
n Nhiều người dùng đồng thời dùng trạm cuối (terminal) n Tính thân thiện: người dùng quan sát ứng dụng thực
hiện
n Đặc điểm điều khiển
n Bộ nhớ: bộ nhớ ảo (Virtural Memory) mở rộng không
gian bộ nhớ thực
n CPU: phân chia thời gian (Time Shared) theo lượng tử
thời gian
n Ví dụ
n UNIX n Linux một biến thể của UNIX
4 Đặng Thu Hiền - 2010
Lịch sử hệ điều hành UNIX
n Dự án MULTICS – 1965
n 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
toán nhanh ...
n Mục tiêu của dự án: Thương phẩm n Thất bại
5 Đặng Thu Hiền - 2010
Lịch sử hệ điều hành UNIX
n UNICS-1969, UNIX - 1970 và 1973
n Ken Thompson (Bell, Multics) và Dennics Richie n 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) n 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 Giai đoạn 1980-1990
n AT&T phổ biến UNIX mã nguồn mở tới đại học n 1982 bản thương mại đầu tiên UNIX-3 n 1985-1987 UNIX-5 hàng trămnghìn cơ sở đại học, nghiên cứu
n
Cần chuẩn hóa UNIX và chuẩn POSIX
6 Đặng Thu Hiền - 2010
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 AT&T UNIX-5 phiên bản 3 n Berkley Software Distribution (BSD) n XENIX của MicroSoft n SUN OS
n website http://problem.rice.edu/
n UNIX Inernational (UI)
n Cung cấp các bản AT&T. Giao diện đồ họa Open Look
n 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
n 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
7 Đặng Thu Hiền - 2010
Các tác giả của UNIX
Dennis Ritchie
n Ken
Thompson
http:// plan9.belllabs.com/ who/dmr/
http:// plan9.belllabs.com/ who/ken/
8 Đặng Thu Hiền - 2010
Đặ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 (trong lệnh phân biệt chữ thường và chữ hoa)
n 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)
9 Đặng Thu Hiền - 2010
Lịch sử hệ điều hành Linux
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
n Người tạo ra nhân của Linux:
Linus Torvald (Phần Lan)
n Vật lấy phước của nhân Linux:
Chim cánh cụt Tux
10 Đặng Thu Hiền - 2010
Linux trên thế giới và tại Việt Nam
n Trên thế giới
n Caldera OpenLinux www.caldera.com n Corel Linux www.corel.com n Debian GNU/Linux www.debian.com n Ubuntu Linux www.ubuntu.com n Red Hat Linux www.redhat.com n Red Flag Linux www.redflag-linux.com n Linux Mandrake www.mandrake.com n Slackware Linux www.slackware.com n SuSE Linux www.suse.com n TurboLinux www.turbolinux.com
n Tại Việt Nam
n Dự án LinuxVN và LinuxVN Group (Đĩa LinuxVN) n Hội thảo tháng 12-2000 n Nghị định của Chính phủ n Ngày Software Freedom Day tổ chức hàng năm
11 Đặng Thu Hiền - 2010
Đặc trưng của Linux
n Tương thích với nhiều hệ điều hành khác
n DOS, MS Windows n Cài trên cùng ổ đĩa n Thao tác với các file thuộc hệ điều hành Virtual File System n Chạy mô phỏng các chương trình trên HĐH khác
n
Linux là một UNIX tiêu biểu
n Đa người dùng, đa chương trình, đa xử lý (phân chia thời gian) n 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 toá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ú
n Cài đặt (cần chính xác mô tả thiết bị) - Phần mềm chưa phong phú
12 Đặng Thu Hiền - 2010
Đa chương trình, đa người dùng và đa xử lý
13 Đặng Thu Hiền - 2010
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 Nhân (lõi) n Shell n Hệ thống File (chương 3) n Hệ thống tiện ích: Hệ thống lệnh
n Nhân (kernel)
n Tập môđun chương trình: Quản trị hệ thống tài nguyên 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)
n Bộ lập lịch: phân chia thời gian RR, lượng tử thời gian, n Quản trị bộ nhớ: bộ nhớ ảo, trang (page)
n Shell
n Chương trình giao tiếp người dùng n Có nhiều loại shell: c-shell (%), Bourn-shell ($), tcsh ... n 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 Hệ thống file: quản lý và thao tác file
14
Lệnh trong Linux
hiện tên thư mục hiện thời
n Cấu trúc lệnh:
ls -l thu_muc hiện nội dung thu_muc theo dòng
n 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 -l : tham số khóa "hiện theo dòng"
n
thu_muc : tham số vị trí "thư mục cần hiện nội dung" n Tham số khóa: tham số khóa có dấu trừ "-" ở trước, ví dụ "-l". n Liên hệ: tham số khóa trong MS-DOS có dấu "/" như "dir /p".
n Tham số vị trí: ý nghĩa tham số vị trí theo "vị trí" trong lệnh
n Ví dụ: cp nguồn dich1 dich2 ... đầu là nguồn, từ 2 là đích
n 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, ...
15
Đơn giản gõ lệnh
n Các kỹ năng đơn giản gõ lệnh
n Khôi phục dòng lệnh,
n Dùng phím đặc biệt soạn thảo,
n Dùng phímthay thế và phím
n Khôi phục dòng lệnh
n cơ chế lưu các dòng lệnh "n dòng lệnh hiện tại", n phímdi chuyển lên / di chuyển xuống để lấy dòng lệnh "trước"/"sau"
n Phím đặc biệt
n Phím←/→ di chuyển con trỏ sang trái/phải một vị trí,
n Cặp phím
16 Đặng Thu Hiền - 2010
Đơn giản gõ lệnh
n Dùng phímthay thế mô tả file và
n Dùng phím thay thế *, ?, [ và ] n "*": thay thế xâu bất kỳ, n "?": thay thế kí tự bất kỳ,
n [
tương đương [abcd]
n Dùng phím
n Khi gõ tên file, dùng phím
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.
n Ví dụ:
n # ls /u
n 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
17 Đặng Thu Hiền - 2010
Trang man: Hỗ trợ thường trực
n Hỗ trợ thường trực
n Linux có hàng nghìn lệnh, lệnh nhiều tham số n UNIX (Linux) hỗ trợ thường trực người dùng (help) n - Sử dụng lệnh man
n # man
n # man
n 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
n Cho phép không nhớ chính xác lệnh: đánh xâu con đầu
tiên sau đó gõ
n Để thoát ra, gõ q (theo lệnh của vim)
18 Đặng Thu Hiền - 2010
Trang man
n Cấu trúc chung
Linux Programmer's Manual
tên lệnh - khái quát tác dụng của lệnh
n COMMAND(1) n NAME n SYNOPSIS
n DESCRIPTION
n OPTIONS
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
n FILES
liệt kê các file mà lệnh sử dụng hoặc tham chiếu
liệt kê các lệnh, tài liệu ... có liên quan đến lệnh
n SEE ALSO 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
n Ví dụ:
#man ls
n
sẽ hiện thông tin về lệnh hiển thị nội dung thư mục
19 Đặng Thu Hiền - 2010
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.
20 Đặng Thu Hiền - 2010