- Đây là hệ đa ngời dùng đa tiến trình , mỗi ngời dùng có thể thực hiện nhiều chơng trình mỗi chơng trình có thể có nhiều tiến trình.. - Che đi cấu trúc máy đối với ngời dùng , có thể vi
Trang 1Sử dụng hệ điều hành Unix
Báo cáo của nhóm : Kỹ thuật mạng
Ngời làm : Đào Huy Thanh
Ngời hớng dẫn : Tô Bá Toàn Thắng
Ngày viết : 28/08/98
***Nội dung chính:
I Tổng quan về Unix (Overview of Unix)
1 Sơ lợc về Unix
2 Giao diện Unix (Interfaces to Unix)
3 Unix Shell- Kernel
4 Vào/ Thoát khỏi Unix ( Logging/loguot)
5 Cấu trúc/ hệ thống Files và th mục trong Unix
II Một số khái niệm cơ bản trong Unix (Fundamental concepts in Unix)
1 Nhập/ xuất (Vào/ra) trong Unix (Input/Output in Unix)
2 Tiến trình trong Unix ( Processes in Unix) III Chạy Dos và Unix trên một máy
-Chạy DOS và UNIX trên cùng một máy
-So sánh lệnh DOS và UNIX
IV Tổng kết (Summary)
-Tóm tắt
-UNIX với một số HĐH khác
***Nội dung chi tiết:
I-Tổng quan về Unix
1- Sơ lợc về Unix
+ Hệ điều hành Unix là HĐH kiểu phân chia thời gian có hỗ trợ xử lý tơng tác Unix khá phổ biến trong các lĩnh vực hoạt động Công nghệ thông tin Nó đợc sử dụng từ các máy
Trang 2Users Untility Programs (shell, editor, ) Standard Library (Open, close, read, write,
Unix Operating System (Kernel mode) Hardware (CPU, memory, disks,
vi tính đến các máy Mainframe, đặc biệt thích ứng với các hệ Client-Server và hệ thống máy tính diện rộng
+ Khởi thảo đầu tiên của Unix đợc thiết kế năm 1969 do Ken Thomson và Denis Ritchie viết Cho đến năm 1984 đã có 100.000 bản Unix đợc phổ biến trên Thế Giới + Ưu điểm HĐH Unix:
- Hệ thống đợc viết trên ngôn ngữ bậc cao nên dễ đọc, dễ hiểu,dễ thay đổi để cài đặt trên loại máy mới
- Có giao diện ngời dùng đơn giản, cho phép xây dựng các chơng trình phức tạp từ các chơng trình đơn giản hơn
- Đây là hệ đa ngời dùng đa tiến trình , mỗi ngời dùng có thể thực hiện nhiều chơng trình mỗi chơng trình có thể có nhiều tiến trình
- Che đi cấu trúc máy đối với ngời dùng , có thể viết chơng trình chạy trên các
điều kiện phần cứng khác nhau
2- Giao diện Unix ( Interfaces to Unix)
User Interface
Interface
Trong cùng nhất là phần cứng , tiếp đến là Nhân ( là môi trờng bao quanh phần cứng, mọi giao tiếp với phần cứng đều thông qua nhân) Tiếp theo đến th viện chuẩn và các trình ứng dụng Ngời dùng giao tiếp thông qua giao diện ngời dùng ( user interface)
3- Unix Shell - Kernel ( Nhân)
a/ Nhân
Nhân đóng vai trò điều khiển các thành phần của máy tính, phân phối tài nguyên cho ngời dùng và các bài toán( tasks) khác nhau Đầu vào đợc gửi từ bàn phím tới Shell bởi nhân Chơng trình hớng tới nhân thông qua lời gọi hệ thống (Vd: mở File, đọc File , là những modul đợc dùng trong nhân, mỗi lời gọi cho phép giải quyết một bài toáncon nào
đó)
Chức năng quan trọng nhất của nhân là lập lịch ( phân chia CPU tới các tiến trình) b/ Unix Shell
Trang 3Chương trình người dùng Shell Nhân
Đây là chơng trình hoạt động nh là một kết nối giữa nhân với chơng trình ngời dùng Shell nhận lệnh do ngời dùng đa vào sau đó phân tích và thực hiện
Shell thực hiện lệnh theo 2 chế độ :
Đồng bộ : Lệnh cũ xong mới đến lệnh mới
Không đồng bộ : Đọc và thực hiện lệnh mới mà không cần chờ lệnh cũ kết thúc
• Trong chế độ đồng bộ khi ngời dùng đánh vào một lệnh , Shell trích ra từ đầu tiên
và giả định nó là tên của chơng trình sẽ chạy, nó tìm chơng trình này nếu thấy thì chạy Shell sẽ tự động treo cho đến khi chơng trình này kết thúc Đây là thời điểm cho lệnh tiếp theo
Một lệnh có thể có nhiều đối số đợc đa tới chơng trình gọi nh là một xâu ký tự
VD : cp src dest
lệnh này gọi chơng trình copy (cp) với 2 đối số src và dest Chơng trình sẽ dịch đối số
đầu tiên nh là tên File đang tồn tại Nó tạo ra một bản copy của file này và gọi chơng trình copy dest
• Trong chế độ không đồng bộ, lệnh thực hiện không đồng bộ đợc thực hiện trong chế độ nền ( trong câu lệnh kèm theo ký hiệu ‘&’ ở cuối)
VD: wc -1 <a> b &
lệnh này chạy chơng trình đếm số từ (wc) để đếm số lợng từ, dòng trong đầu vào (a), viết kết quả vào b Và nó đợc chạy trong chế độ nền Ngay khi lệnh vừa đánh xong, Shell vẫn hiện dấu nhắc sẵn sàng chấp nhận và điều khiển lệnh tiếp theo ( cũng trên chế độ nền)
VD: sort <x / head &
• Shell cũng có thể đợc nhập vào là một dãy các lệnh trong một File và sau khi bắt đầu thực hiện 1 shell với file này nh là đầu vào chuẩn Những file chứa các lệnh Shell đợc gọi là Shell Scripts Một Shell Script thực sự là 1 chơng trình viết trong ngôn ngữ Shell ( vd Berkeley C Shell
4- Vào / thoát khỏi hệ thống Unix (Login/ logout in Unix)
+ Để sử dụng Unix, chúng ta phải login (vào) bằng cách đánh tên và mật khẩu ( tên và mật khẩu này do ngời quả trị cấp cho ngời dùng ) Khi màn hình có dòng chữ “ Login : “ ngời sử dụng nhập vào tên đăng ký của mình rồi ấn ENTER , nếu vào nhầm ấn CTRL- U
để vào lại Tiếp đó màn hình hiện lên “ PassWord: “ bạn hãy gõ vào mật khẩu của mình Nếu đúng trên màn hình xuất hiện dấu mời hệ thống ($) và ngời dùng có thể bắt
đầu làm việc
+ Kết thúc sử dụng Unix phải thoát ra khỏi hệ thống bằng cách : $Exit hoặc $Ctrl-d 5- Cấu trúc & hệ thống File/ th mục trong Unix
a/ Hệ thống File/ th mục
• Hệ thống File
Trang 4etc dev
User1 User2
Hệ thống file Unix có các thành phần sau:
Boot Super I-nodes Data Blocks
Block Block
Block 0 thờng không sử dụng và thờng chứa mã để nạp HĐH ( boot the computer) Phần này gọi là Boot Block tơng ứng với Boot Sector trong MS-DOS
Block1 là SuperBlock( siêu khối): trình bày trạng thái của hệ thống File (số lợng I-node, số Disk Block, điểm bắt đầu của danh danh sách của khối đĩa trống ( free disk blocks))
Tiếp theo là I-nodes tơng ứng bảng FAT trong MS-DOS :trình bày bên trong của một File đợc cho bởi một I-node, chứa đựng các thông tin mô tả về lu trữ file trên đĩa và một số thông tin khác nh : ngời chủ,quyền truy nhập, thời gian truy nhập file Mỗi I-node dài 64 byte và miêu tả chính xác một file
Khối dữ liệu (data block): Tất cả các file và th mục đợc lu trữ tại đây
Hệ thống file trong Unix là một cấu trúc phân cấp có bảo mật cao File có thể đợc tổ chức lu trữ theo một vùng liên tục hay nhiều vùng liên tục
• Hệ thống Th mục
Th mục đợc coi nh là một file thông tin ( thông tin là một dãy các điểm vàolà một số hiệu I-node vàmột tên của file chứa trong th mục đó)
Tổ chức th mục:
trong đó : bin :chứa các lệnh hoặc tiện ích phổ biến
dev: chứa các file đặc biệt ( file thiết bị ) tơng ứng với các thiết bị
etc: chứa các tiện ích quản trị hệ thống
usr: th mục chứa các th mục con ngời dùng
Đờng dẫn là một xâu, kết thúc là ‘nul’, đợc chia thành các thành phần ngăn cách nhau bởi dấu
‘/’ Th mục rỗng có số hiệu 0
+ Đờng dẫn tuyệt đối chỉ chính xác đờng tìm file kể từ th mục gốc
VD: /usr/user1/mylife
+ Đờng dẫn tơng đối : dấu ‘.’ chỉ th mục hiện tại
dấu ‘ ’ chỉ th mục cha
Trang 5b/ Cấu trúc File trong Unix.
Đơn vị cơ sở để tổ chức thông tin trên Unix là file và chúng đợc tổ chức vào các th mục Trong Unix có thể phân biệt các loại file nh sau :
_ Các file thông thờng : file văn bản, file dữ liệu, file chơng trình nguồn, _ Các th mục
_ Các file đặc biệt
Unix qui ớc tên file đợc tạo thành từ 1 đến 14 kí tự ( không chứa ký tự: / ? * [ ] = ) Nếu tên bắt đầu bằng dấu chấm (.) thì là file ẩn Trong Unix mỗi file đều có các thông số sau :
_ Tên file
_ Số hiệu file
_ Độ dài file
_ Thời gian tạo lập file
_ Thời gian sửa đổi , thời gian thâm nhập cuối cùng
_ Các thuộc tính thâm nhập file
Thuộc tính cho phép thâm nhập file bao gồm các thuộc tính : Đọc (R), Ghi (W), thực hiện(X).Nh vậy, một file có 9 thuộc tính thâm nhập ngoài ra có thêm thuộc tính chỉ định nó
là file hay th mục Cấu trúc nh sau:
0 Trong đó :
1 : chỉ file hay th mục
2, 3, 4 : quyền thâm nhập của USER
5, 6, 7 : quyền thâm nhập của GROUP
8, 9, 10: quyền thâm nhập của OTHER Trong mỗi nhóm này có 3 thuộc tính : (R): đợc đọc, (W): đợc ghi, (X) :đợc thực hiện, (-) : rỗng
VD:
Trang 6- r w - r - - r - - 1 van_a group 166 Oct 4 08:02 thu.txt trong đó :
dấu - :chỉ rằng đây là File
r w - :USER có quyền đọc ghi
r - - : GROUP có quyền đọc
r - - : OTHER có quyền đọc
1 : số hiệu file van_a: tên ngời sở hữu group : tên nhóm sử dụng
166 : độ dài file Oct 4 08: 02 : thời gian tạo tệp Thu.txt : tên tệp
Với th mục thì thuộc tính (x) là dợc phép vào th mục Ta có thể sửa thuộc tính bằng lệnh : Chmod
Cú pháp lệnh : $ chmode <mã đổi mode> <tên file / th mục>
Mã đổi mode là 3 chữ số thập phân có giá trị từ 0 đến 7 :
1 : quyền thực hiện (X) 5 : đọc, thực hiện
3 : quyền ghi, thực hiện 7 : đọc, ghi, thực hiện
II/ Một số khái niệm cơ bản trong Unix
1.Nhập / Xuất (vào/ra) trong Unix (Input/ Out put in Unix)
Cũng nh các máy khác , những máy chạy Unix cũng có các thiết bị vào ra nh là thiết bị đầu cuối, đĩa, máy in và mạng kết nối cho chúng Có một vài cách cần thiết để cho phép những chơng trình truy nhập những thiết bị này Mặc dù có rất nhiều giải pháp có thể, Unix hợp chúng vào hệ thống file gọi là special files Mỗi thiết bị I/O đợc ấn định một đờng dẫn ( th-ờng là / dev)
Trang 7Ví dụ: Printer có thể là /dev/lp
Cp file dev/lp - copy file to printer, tạo cho nó thể in đợc
Để quản lý việc truy nhập máy in có thể tạo : /dev/lp kông ai có thể dọc và chỉ có super user mới đợc dọc viết Một chơng trình gọi là lpr cho phép ngời sử dụng in file
Special file chia ra làm hai loại:
- Block: gồm các số thứ tự Block ==> có thể in block bất kỳ
- Character: thờng sử dụng cho các thiết bị mà nhập xuất một kí tự ra
3 Tiến trình trong Unix (Processes in Unix)
Mỗi hoạt động thực trong Unix system là các tiến trình Tiến trình trong Unix tơng tự
nh các quá trình nối tiếp nhau Mỗi tiến trình chạy một chơng trình đơn và có một thành phần
điều khiển liên kết đơn
Unix là một hệ đa chơng trình các chơng trình có thể chạy độc lập cùng một thời gian Mỗi ngời dùng có thể có một vài tiến trình chạy cùng một lúc Vì vậy một chơng trình lớn có thể có hàng trăm hàng nghìn tiến trình chạy Trong thực tế, trên hầu hết các trạm ngời dùng
đơn lẻ (thậm chí khi ngời dùng vắng mặt) vẫn có hàng tá các tiến trình nền, gọi là Daemon,
đang chạy Chúng chạy tự động khi hệ thống đợc nạp (Booted)
Daemon điển hình là Cron Daemon, nó rất cần thiết trong Unix để thiết lập các
ch-ơng trình hoạt động theo phút, giờ, ngày thậm chí nhiều tháng trong tch-ơng lai Những Daemon khác dùng trong việc đa vào, đa ra th điện tử
Các tiến trình có khả năng tạo ra nh hình cây Đây là chìa khoá để phân chia thời gian làm việc trong Unix
III/Chạy Dos và Unix trên cùng một máy
- Ta có thể cài Dos và Unix trên cùng một máy, trên hai bảng Partitions khác nhau và chuyển
đổi giữa hai hệ điều hành bằng cách Set Active một trong hai Partitions
- So sánh một số lệnh giữa Dos và Unix
Dos Unix Note
- who Danh sách user đang kết nối - who am I Thông tin về ngời đang kết nối
- pwd print work directory
dir ls (lc) xem thông tin th mục
- file type of file
type,more cat,pg,more xem nội dung trong file
- tail,head print tail or head of file
Trang 8print lp
IV/ Tổng Kết
-Tóm tắt:
Unix trớc đây tồn tại trong hệ thống phân chia thời gian của minicomputer, nhng bây giờ nó đơc sử dụng trên phạm vi lớn hơn: từ notebook computer đến super computers Có ba giao diện để nó tồn tại: The sell, the system call library and the system call themselves The sell cho phép user đánh vào lệnh để thực hiện
Hệ thống file (file system) sử dụng ba chính:
The file desciptor table, the open file descriptor table, the Inote table mỗi file đợc mởi thì cả ba bảng này đợc mở
Khối thiết bị vào ra sử dụng một buffer cache để giảm thời gian truy nhập đĩa Lập trình Unix: Đây là mảng khá lớn trong Unix (ứng dụng lập trình trên mạng ) Do thời gian có hạn nên không đề cập tới
- UNIX với một số Hệ điều hành khác ( Window NT, Window 95,
OS/2 2.0/2.1) + Window 95 và Window NT:
NT 4.0 bảo đảm cho HĐH thực hiện nhiều chơng trình không bị lỗi, tuy nhiên
bị hạn chế về phần cứng và khả năng tơng thích phần mền của nó.NT thiếu đặc tính Plug and Play
NT không tơng thích với chơng trình nén đĩa DRIVE SPACE của DOS và WIN95 nên phải tháo gỡ trớc khi cài đặt NT Nó đòi hỏi DRIVER riêng của nó cho các thiết bị nh CARD Video, máy in
Một đặc tính của Win NT cho phép bạn chọn 2 hoặc 3 HĐH khi khởi động máy Điều này giúp bạn khắc phục những khó khăn trong việc chuyển sang HĐH mới NT có sự
an toàn hệ thống, tính ổn định và khả năng INTRANET
Win 95 có sự tơng thích phần cứng, phần mềm , Plug and Play và nhiều hỗ trợ khác.Win95 có thể coi nh là HĐH tiêu chuẩn cho máy để bàn với những trình ứng dụng lớn của nó
+ UNIX và WIN NT, OS 2.0,2.1
NT chiếm vị trí trong làm việc nhóm nhng UNIX có thế mạnh với các ứng dụng chuyên nghiệp cao cấp
Về phơng diện Aplications Server thì NT SERVER xử lý tốt với các giao dịch và quản trị dữ liệu nhng có hạn chế ở kích cỡ và quy mô vì NT Server không có tính bảo mật cao cũng nh tính năng liên kết dồn nhóm thịnh hành trong UNIX
HĐH UNIX có năng lực xử lý cao , qui mô lớn CSDL, UNIX thích hợp nhất để làm INTERNET/ INTRANET SERVER với độ tin cậy cao và tính bảo mật cao
Trang 9NT có thế mạnh về giá, lợi hơn ở chi phí đào tạo và quản trị.
OS/2 2.0,2.1 có độ tin cậy cao ( cài đặt một lần và làm việc liên tục không trục trặc) nhng tốc độ hơi chậm ( tuy có nhanh hơn Win NT Server )
+ Bảng so sánh chức năng UNIX với các HĐH khác :
Chức Năng UNIX WINDOWS NT OS/2 2.0,2.1
Tài liệu tham khảo :
+ Hớng dẫn sử dụng Hệ điều hành UNIX - Tài liệu của Công ty CSE + Operating Systems
+ Nguyễn Thúc Hải, Mạng máy tính và các hệ thống mở, NXB , 1997 (TV CSE) + Nguyên lý các HĐH - Hà Quang Thuỵ - Khoa CNTT -ĐH KHTN (Lu hành nội bộ)