HỆ ĐIỀU HÀNH UNIX
Chia sẻ bởi Đoàn Quốc Việt |
Ngày 14/10/2018 |
36
Chia sẻ tài liệu: HỆ ĐIỀU HÀNH UNIX thuộc Tư liệu tham khảo
Nội dung tài liệu:
HỆ ĐIỀU HÀNH UNIX
I/ Tổng quan về hệ điều hành UNIX
1. Lịch sử
Năm 1969 Ken Thompson đã lần đầu tiên cài đặt hệ điều hành UNIX. Mục tiêu khởi đầu là cung cấp một môi trường máy tính hoá để mô phỏng trò chơi không gian. Năm 1973 Ritchie và Thompson đã viết lại hệ điều hành bằng ngôn ngữ C, khác hẳn với các hệ điều hành truyền thống ghi bằng ngôn ngữ máy, do đó UNIX rất dễ cài đặt trên các hệ máy khác. Từ đó đã khai sinh ra hệ điều hành UNIX. Năm 1974 hệ thống UNIX đã được cài đặt trên các máy DEC PDP-11 ở hơn 100 trường đại học. Mục tiêu chủ yếu là cung cấp môi trường cho các lập trình viên chuyên nghiệp.
Ngày nay, 20 năm đã qua, có hàng trăm ngàn hệ thống UNIX cài đặt trên khắp thế giới. Hầu hết các hãng sản xuất máy đều có một phiên bản cho UNIX.
Tuy nhiên hiện nay để chuẩn hoá hệ điều hành UNIX, người ta quy ước các tập lệnh chuẩn và gọi là UNIX System V Release 4. Trên máy PC hiện nay phổ biến hai hệ điều hành là SCO UNIX và SUN Solaris.
2. Các đặc điểm cơ bản
Hệ điều hành UNIX có một số đặc điểm sau:
- Đa chương
- Nhiều người sử dụng
- Bảo mật
- Độc lập phần cứng
- Kết nối mở
- Dùng chung thiết bị
- Tổ chức tập tin phân cấp
a/ Nhiều người sử dụng:
Nhiều người sử dụng có thể sử dụng máy tính có cài UNIX tại một thời điểm. Ví dụ:
UNIX Server:
- User A: dùng Oracle
- User B: chương trình biên dịch
- User C: gửi thư
Hệ điều hành UNIX quản lý những người sử dụng theo cấu trúc phân cấp, người sử dụng có thể giao tiếp với nhau theo các nhóm. Người sử dụng cao nhất (super user) có thể can thiệp đến các người sử dụng khác nếu cần.
b/ Đa chương
Tại một thời điểm một người sử dụng có thể thực hiện đồng thời nhiều tác vụ. Với hệ điều hành đơn chương như MS-DOS một lệnh thực hiện sẽ chiếm toàn bộ thời gian CPU xử lý, bạn chỉ có thể thực hiện lệnh kế khi lệnh trước đó đã được thực hiện xong. Còn trong hệ điều hành UNIX bạn có thể đặt lệnh chạy ở chế độ nền (background) đồng thời khi đó có thể thực hiện các lệnh kế.
c/ Tổ chức tập tin phân cấp
Các tập tin của UNIX được tổ chức theo dạng cây có chung thư mục gốc được biểu diễn bởi ký tự /.
Bên trong thư mục có thể là các thư mục con hay các tập tin . UNIX có 3 loại tập tin:
- Tập tin bình thường (ordinary file): là một tập tin chứa các dữ liệu ASCII hay nhị phân.
- Tập tin thư mục (directory file): chứa danh sách các phần tử (thư mục, tập tin, thiết bị) có thể truy xuất tới.
- Tập tin đặc biệt (special file): là các tập tin liên quan đến các thiết bị phần cứng và truyền thông.
Ví dụ:
- bàn phím là một tập tin nhập.
- màn hình là một tập tin xuất.
/
UMUNIX - bin - users - dev
user1
user2
(n ổ đĩa)
Đối với Unix toàn bộ hệ thống tập tin chỉ có một root. Có thể sử dụng lệnh mount để kết nối các ổ đĩa trong một hệ thống tập tin duy nhất.
Ổ 1 : / LIB
BIN
USR
Ổ 2: /- ETC
ORACLE
mount => /- LIB
BIN
USR- ETC
- ORACLE
d/ Độc lập phần cứng
Vì hệ điều hành UNIX được viết bằng ngôn ngữ cấp cao cho nên nó rất dễ cài đặt trên các cấu hình phần cứng khác. Hơn nữa với cách tổ chức các thiết bị là các tập tin đặc biệt nên việc thêm vào hay loại bỏ các thiết bị rất dễ dàng.
e/ Dùng chung thiết bị
Vì Unix là môi trường nhiều người sử dụng do đó các thiết bị ngoại vi như máy in,v.v... có thể được dùng chung bởi nhiều người sử dụng.
f/ Bảo mật
Unix cung cấp rất nhiều cơ chế bảo mật khác. Trong đó mỗi người sử dụng có một số quyền trên các tập tin nhất định và chỉ được phép chạy một số chương trình nhất định. Ngoài ra cơ chế mã hoá và giải mã cũng là một phần của hệ điều hành.
g/ Kết nối mở
Unix cung cấp các thiết bị mạng qua Ethernet, Modem, X25. Với nhiều thủ tục truyền thông khác nhau UUCP (Unix-to-Unix Copy), TCP/IP, và các ứng dụng E-mail,FTP, NFS (Network File System).
3. Các thành phần chính của hệ điều hành UNIX:
Windows & Graphic User Interface
Shell
Lệnh và tiện ích
Các bộ điều khiển thiết bị
Kernel
a/ Kernel:
Là thành phần chủ yếu hay trái tim của hệ điều hành. Nó chiếm khoảng 500KB --> 2MB tùy theo tính chất phức tạp của hệ thống. Nhiệm vụ chủ yếu của Kernel là:
Quản lý tài nguyên: như bộ nhớ, v.v...
Quản lý hệ thống tập tin: có thể là các tập tin, thư mục cục bộ hay từ xa.
Quản lý các quá trình thường trú (deamon).
Quản lý bộ nhớ ảo: để thực thi nhiều quá trình đồng thời trong khi số lượng bộ nhớ có hạn, Unix tổ chức một vùng trên đĩa như là một vùng bộ nhớ (bộ nhớ ảo). Kernel phải "swap" các quá trình giữa bộ nhớ --> bộ nhớ ảo
RAM
Kernel Vùng làm việc Swap
Đĩa cứng
Swap
bộ nhớ ảo
Quản lý quá trình :
Như đã biết vì Unix là một hệ điều hành đa chương do đó việc quản lý các quá trình đồng thời rất phức tạp. Nó phải quản lý việc khởi tạo và kết thúc các quá trình cũng như các tranh chấp có thể xảy ra.
Quản lý các bộ điều khiển thiết bị.
Quản lý mạng: bao gồm nhiều thiết bị phần cứng khác và các thủ tục khác.
Quản lý việc khởi động và dừng máy.
b/ Bộ điều khiển thiết bị:
UNIX thể hiện các thiết bị vật lý như các tập tin đặc biệt. Mộ tập tin đặc biệt sẽ có 1 điểm vào trong thư mục và có 1 tên tập tin. Do đó Unix cho phép người sử dụng định nghĩa tên thiết bị.
Các thiết bị được chia làm hai loại: ký tự và khối.
- Thiết bị ký tự đọc và ghi dòng các ký tự (ví dụ các thiết bị đầu cuối).
- Thiết bị khối đọc và ghi dữ liệu trong các khối có kích thước cố định (ví dụ ổ đĩa).
Thiết bị có thể đổi tên như đổi tên tập tin. Thư mục chứa các bộ điều khiển thiết bị là /dev.
c/ Lệnh và tiện ích:
Các lệnh và tiện ích của Unix rất đa dạng.
Một lệnh UNIX có dạng:
$lệnh [các chọn lựa] [các đối số]
lệnh thường là chữ nhỏ. Unix phân biệt chữ lớn, nhỏ.
Ví dụ: $ls -c /dev
Ta có thể chia lệnh thành các nhóm sau:
a/ Các lệnh khởi tạo:
exit thoát khỏi hệ thống (Bourne-Shell)
logout thoát khỏi hệ thống C-Shell
id chỉ danh của người sử dụng
logname tên người sử dụng login
man giúp đỡ
newgrp chuyển người sử dụng sang một nhóm mới
psswd thay đổi password của người sử dụng
set xác định các biến môi trường
tty đặt các thông số terminal
uname tên của hệ thống (host)
who cho biết những ai đang thâm nhập hệ thống
b/ Trình báo màn hình:
echo hiển thị dòng ký tự hay biến
setcolor đặt màu nền và chữ của màn hình
c/ Desktop:
bc tính biểu thức số học
cal máy tính cá nhân
date hiển thị và đặt ngày
mail gửi - nhận thư tín điện tử
mesg cấm/ cho phép hiển thị thông báo trên màn hình (bởi write/ hello)
spell kiểm tra lỗi chính tả
vi soạn thảo văn bản
write/ hello cho phép gửi dòng thông báo đến những người sử dụng trong hệ thống
d/ Thư mục:
cd đổi thư mục
copy sao chép 2 thư mục
mkdir tạo thư mục
rmdir loại bỏ thư mục
pwd trình bày thư mục hiện hành
e/ Tập tin:
cas/ more trình bày nội dung tập tin
cp sao chép một hay nhiều tập tin
find tìm vị trí của tập tin
grep tìm vị trí của chuỗi ký tự trong tập tin
ls, l, lf, lc trình bày tên và thuộc tính của các tập tin trong thư mục
mv chuyển/ đổi tên một tập tin
sort sắp thứ tự nội dung tập tin
wc đếm số từ trong tập tin
f/ Quản lý quá trình:
kill hủy bỏ một quá trình
ps trình bày tình trạng của các quá trình
sleep ngưng hoạt động một thời gian
g/ Kiểm soát chủ quyền:
chgrp chuyển chủ quyền tập tin, thư mục từ một nhóm sang một nhóm khác
chmod thay đổi quyền sở hữu của tập tin hay thư mục
chown thay đổi người sở hữu tập tin hay thư mục
h/ Kiểm soát in:
cancel ngưng in
lp in tài liệu ra máy in
lpstat trạng thái của hàng chờ in
d/ Shell:
Là bộ xử lý lệnh của người sử dụng, nó cho phép người sử dụng tạo các lệnh rất phức tạp từ các lệnh đơn giản. Chúng ta có thể coi shell như một ngôn ngữ lập trình cấp cao. Các chức năng chính của shell là:
UNIX Shell:
Kiểm soát I/O và đổi hướng
Các biến môi trường
Thực hiện lệnh
Thư viện lệnh nội tại
Tên tập tin mở rộng
Ngôn ngữ lập trình và môi trường
Thực hiện lệnh: Lệnh có thể được thực hiện ở chế độ tương tác với người sử dụng hay chế độ nền (background).
Thư viện lệnh nội tại: Các lệnh nội trú trong shell.
Ngôn ngữ lập trình và môi trường: Cho phép tạo các tập tin shell-script và các cấu trúc điều khiển như Do, While, Until, If, Case.
Tên tập tin mở rộng: Cho phép biên dịch tên tập tin ở dạng ?, *.
Các biến môi trường: Cho phép đặt các biến môi trường. Ví dụ: PATH=/USR/BIN
Kiểm soát I/O và đổi hướng: Shell định nghĩa các thiết bị xuất/ nhập chuẩn và cho phép ta đổ hướng thiết bị xuất/ nhập của các quá trình.
Hiện nay người ta sử dụng ba loại shell, tùy theo loại mà có cú pháp khác nhau:
Bourne-Shell : là shell cơ bản nhất, nhanh, hiệu quả, nhưng ít lệnh.
C-Shell : giống như Bourne-Shell nhưng cung cấp thêm các cấu trúc điều khiển, history, bí danh.
Korn-Shell : Kết hợp cả Bourne-Shell và C-Shell.
e/ Windows và Graphic User Interface:
Giao tiếp đồ hoạ và cửa sổ là một khả năng rất mạnh của hệ điều hành UNIX, nó cho phép hệ điều hành giao tiếp thân thiện hơn với người sử dụng. Hiện nay UNIX cài đặt XWINDOW (X11) là một môi trường qua
I/ Tổng quan về hệ điều hành UNIX
1. Lịch sử
Năm 1969 Ken Thompson đã lần đầu tiên cài đặt hệ điều hành UNIX. Mục tiêu khởi đầu là cung cấp một môi trường máy tính hoá để mô phỏng trò chơi không gian. Năm 1973 Ritchie và Thompson đã viết lại hệ điều hành bằng ngôn ngữ C, khác hẳn với các hệ điều hành truyền thống ghi bằng ngôn ngữ máy, do đó UNIX rất dễ cài đặt trên các hệ máy khác. Từ đó đã khai sinh ra hệ điều hành UNIX. Năm 1974 hệ thống UNIX đã được cài đặt trên các máy DEC PDP-11 ở hơn 100 trường đại học. Mục tiêu chủ yếu là cung cấp môi trường cho các lập trình viên chuyên nghiệp.
Ngày nay, 20 năm đã qua, có hàng trăm ngàn hệ thống UNIX cài đặt trên khắp thế giới. Hầu hết các hãng sản xuất máy đều có một phiên bản cho UNIX.
Tuy nhiên hiện nay để chuẩn hoá hệ điều hành UNIX, người ta quy ước các tập lệnh chuẩn và gọi là UNIX System V Release 4. Trên máy PC hiện nay phổ biến hai hệ điều hành là SCO UNIX và SUN Solaris.
2. Các đặc điểm cơ bản
Hệ điều hành UNIX có một số đặc điểm sau:
- Đa chương
- Nhiều người sử dụng
- Bảo mật
- Độc lập phần cứng
- Kết nối mở
- Dùng chung thiết bị
- Tổ chức tập tin phân cấp
a/ Nhiều người sử dụng:
Nhiều người sử dụng có thể sử dụng máy tính có cài UNIX tại một thời điểm. Ví dụ:
UNIX Server:
- User A: dùng Oracle
- User B: chương trình biên dịch
- User C: gửi thư
Hệ điều hành UNIX quản lý những người sử dụng theo cấu trúc phân cấp, người sử dụng có thể giao tiếp với nhau theo các nhóm. Người sử dụng cao nhất (super user) có thể can thiệp đến các người sử dụng khác nếu cần.
b/ Đa chương
Tại một thời điểm một người sử dụng có thể thực hiện đồng thời nhiều tác vụ. Với hệ điều hành đơn chương như MS-DOS một lệnh thực hiện sẽ chiếm toàn bộ thời gian CPU xử lý, bạn chỉ có thể thực hiện lệnh kế khi lệnh trước đó đã được thực hiện xong. Còn trong hệ điều hành UNIX bạn có thể đặt lệnh chạy ở chế độ nền (background) đồng thời khi đó có thể thực hiện các lệnh kế.
c/ Tổ chức tập tin phân cấp
Các tập tin của UNIX được tổ chức theo dạng cây có chung thư mục gốc được biểu diễn bởi ký tự /.
Bên trong thư mục có thể là các thư mục con hay các tập tin . UNIX có 3 loại tập tin:
- Tập tin bình thường (ordinary file): là một tập tin chứa các dữ liệu ASCII hay nhị phân.
- Tập tin thư mục (directory file): chứa danh sách các phần tử (thư mục, tập tin, thiết bị) có thể truy xuất tới.
- Tập tin đặc biệt (special file): là các tập tin liên quan đến các thiết bị phần cứng và truyền thông.
Ví dụ:
- bàn phím là một tập tin nhập.
- màn hình là một tập tin xuất.
/
UMUNIX - bin - users - dev
user1
user2
(n ổ đĩa)
Đối với Unix toàn bộ hệ thống tập tin chỉ có một root. Có thể sử dụng lệnh mount để kết nối các ổ đĩa trong một hệ thống tập tin duy nhất.
Ổ 1 : / LIB
BIN
USR
Ổ 2: /- ETC
ORACLE
mount => /- LIB
BIN
USR- ETC
- ORACLE
d/ Độc lập phần cứng
Vì hệ điều hành UNIX được viết bằng ngôn ngữ cấp cao cho nên nó rất dễ cài đặt trên các cấu hình phần cứng khác. Hơn nữa với cách tổ chức các thiết bị là các tập tin đặc biệt nên việc thêm vào hay loại bỏ các thiết bị rất dễ dàng.
e/ Dùng chung thiết bị
Vì Unix là môi trường nhiều người sử dụng do đó các thiết bị ngoại vi như máy in,v.v... có thể được dùng chung bởi nhiều người sử dụng.
f/ Bảo mật
Unix cung cấp rất nhiều cơ chế bảo mật khác. Trong đó mỗi người sử dụng có một số quyền trên các tập tin nhất định và chỉ được phép chạy một số chương trình nhất định. Ngoài ra cơ chế mã hoá và giải mã cũng là một phần của hệ điều hành.
g/ Kết nối mở
Unix cung cấp các thiết bị mạng qua Ethernet, Modem, X25. Với nhiều thủ tục truyền thông khác nhau UUCP (Unix-to-Unix Copy), TCP/IP, và các ứng dụng E-mail,FTP, NFS (Network File System).
3. Các thành phần chính của hệ điều hành UNIX:
Windows & Graphic User Interface
Shell
Lệnh và tiện ích
Các bộ điều khiển thiết bị
Kernel
a/ Kernel:
Là thành phần chủ yếu hay trái tim của hệ điều hành. Nó chiếm khoảng 500KB --> 2MB tùy theo tính chất phức tạp của hệ thống. Nhiệm vụ chủ yếu của Kernel là:
Quản lý tài nguyên: như bộ nhớ, v.v...
Quản lý hệ thống tập tin: có thể là các tập tin, thư mục cục bộ hay từ xa.
Quản lý các quá trình thường trú (deamon).
Quản lý bộ nhớ ảo: để thực thi nhiều quá trình đồng thời trong khi số lượng bộ nhớ có hạn, Unix tổ chức một vùng trên đĩa như là một vùng bộ nhớ (bộ nhớ ảo). Kernel phải "swap" các quá trình giữa bộ nhớ --> bộ nhớ ảo
RAM
Kernel Vùng làm việc Swap
Đĩa cứng
Swap
bộ nhớ ảo
Quản lý quá trình :
Như đã biết vì Unix là một hệ điều hành đa chương do đó việc quản lý các quá trình đồng thời rất phức tạp. Nó phải quản lý việc khởi tạo và kết thúc các quá trình cũng như các tranh chấp có thể xảy ra.
Quản lý các bộ điều khiển thiết bị.
Quản lý mạng: bao gồm nhiều thiết bị phần cứng khác và các thủ tục khác.
Quản lý việc khởi động và dừng máy.
b/ Bộ điều khiển thiết bị:
UNIX thể hiện các thiết bị vật lý như các tập tin đặc biệt. Mộ tập tin đặc biệt sẽ có 1 điểm vào trong thư mục và có 1 tên tập tin. Do đó Unix cho phép người sử dụng định nghĩa tên thiết bị.
Các thiết bị được chia làm hai loại: ký tự và khối.
- Thiết bị ký tự đọc và ghi dòng các ký tự (ví dụ các thiết bị đầu cuối).
- Thiết bị khối đọc và ghi dữ liệu trong các khối có kích thước cố định (ví dụ ổ đĩa).
Thiết bị có thể đổi tên như đổi tên tập tin. Thư mục chứa các bộ điều khiển thiết bị là /dev.
c/ Lệnh và tiện ích:
Các lệnh và tiện ích của Unix rất đa dạng.
Một lệnh UNIX có dạng:
$lệnh [các chọn lựa] [các đối số]
lệnh thường là chữ nhỏ. Unix phân biệt chữ lớn, nhỏ.
Ví dụ: $ls -c /dev
Ta có thể chia lệnh thành các nhóm sau:
a/ Các lệnh khởi tạo:
exit thoát khỏi hệ thống (Bourne-Shell)
logout thoát khỏi hệ thống C-Shell
id chỉ danh của người sử dụng
logname tên người sử dụng login
man giúp đỡ
newgrp chuyển người sử dụng sang một nhóm mới
psswd thay đổi password của người sử dụng
set xác định các biến môi trường
tty đặt các thông số terminal
uname tên của hệ thống (host)
who cho biết những ai đang thâm nhập hệ thống
b/ Trình báo màn hình:
echo hiển thị dòng ký tự hay biến
setcolor đặt màu nền và chữ của màn hình
c/ Desktop:
bc tính biểu thức số học
cal máy tính cá nhân
date hiển thị và đặt ngày
mail gửi - nhận thư tín điện tử
mesg cấm/ cho phép hiển thị thông báo trên màn hình (bởi write/ hello)
spell kiểm tra lỗi chính tả
vi soạn thảo văn bản
write/ hello cho phép gửi dòng thông báo đến những người sử dụng trong hệ thống
d/ Thư mục:
cd đổi thư mục
copy sao chép 2 thư mục
mkdir tạo thư mục
rmdir loại bỏ thư mục
pwd trình bày thư mục hiện hành
e/ Tập tin:
cas/ more trình bày nội dung tập tin
cp sao chép một hay nhiều tập tin
find tìm vị trí của tập tin
grep tìm vị trí của chuỗi ký tự trong tập tin
ls, l, lf, lc trình bày tên và thuộc tính của các tập tin trong thư mục
mv chuyển/ đổi tên một tập tin
sort sắp thứ tự nội dung tập tin
wc đếm số từ trong tập tin
f/ Quản lý quá trình:
kill hủy bỏ một quá trình
ps trình bày tình trạng của các quá trình
sleep ngưng hoạt động một thời gian
g/ Kiểm soát chủ quyền:
chgrp chuyển chủ quyền tập tin, thư mục từ một nhóm sang một nhóm khác
chmod thay đổi quyền sở hữu của tập tin hay thư mục
chown thay đổi người sở hữu tập tin hay thư mục
h/ Kiểm soát in:
cancel ngưng in
lp in tài liệu ra máy in
lpstat trạng thái của hàng chờ in
d/ Shell:
Là bộ xử lý lệnh của người sử dụng, nó cho phép người sử dụng tạo các lệnh rất phức tạp từ các lệnh đơn giản. Chúng ta có thể coi shell như một ngôn ngữ lập trình cấp cao. Các chức năng chính của shell là:
UNIX Shell:
Kiểm soát I/O và đổi hướng
Các biến môi trường
Thực hiện lệnh
Thư viện lệnh nội tại
Tên tập tin mở rộng
Ngôn ngữ lập trình và môi trường
Thực hiện lệnh: Lệnh có thể được thực hiện ở chế độ tương tác với người sử dụng hay chế độ nền (background).
Thư viện lệnh nội tại: Các lệnh nội trú trong shell.
Ngôn ngữ lập trình và môi trường: Cho phép tạo các tập tin shell-script và các cấu trúc điều khiển như Do, While, Until, If, Case.
Tên tập tin mở rộng: Cho phép biên dịch tên tập tin ở dạng ?, *.
Các biến môi trường: Cho phép đặt các biến môi trường. Ví dụ: PATH=/USR/BIN
Kiểm soát I/O và đổi hướng: Shell định nghĩa các thiết bị xuất/ nhập chuẩn và cho phép ta đổ hướng thiết bị xuất/ nhập của các quá trình.
Hiện nay người ta sử dụng ba loại shell, tùy theo loại mà có cú pháp khác nhau:
Bourne-Shell : là shell cơ bản nhất, nhanh, hiệu quả, nhưng ít lệnh.
C-Shell : giống như Bourne-Shell nhưng cung cấp thêm các cấu trúc điều khiển, history, bí danh.
Korn-Shell : Kết hợp cả Bourne-Shell và C-Shell.
e/ Windows và Graphic User Interface:
Giao tiếp đồ hoạ và cửa sổ là một khả năng rất mạnh của hệ điều hành UNIX, nó cho phép hệ điều hành giao tiếp thân thiện hơn với người sử dụng. Hiện nay UNIX cài đặt XWINDOW (X11) là một môi trường qua
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Đoàn Quốc Việt
Dung lượng: 205,96KB|
Lượt tài: 0
Loại file: DOC
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)