phan 2 chuong 3 He Dieu Hanh
Phần II: Hệ điều hành
Một hệ thống máy tính thường được gồm bốn phần chính : phần cứng, hệ điều hành, các chương trình ứng dụng và người sử dụng.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh 2
Phương
Hệ điều hành
Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa người sử dụng (user) và phần cứng của máy tính.
Hệ điều hành đảm bảo các chức năng giao tiếp giữa người dùng và máy tính đồng thời quản lý tài nguyên của hệ thống tính toán.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 3
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 4
Chương 3: Tổng quan về hệ điều
hành
3.1. Các giai đoạn phát triển và phân loại hệ điều hành
3.1.1. Các giai đoạn phát triển
3.1.2. Phân loại hệ điều hành
3.2. Hoạt động của hệ điều hành
3.2.1. Khởi động phần cứng và nạp hệ điều hành
3.2.2. Giao tiếp hệ điều hành/người dùng
3.2.3. Giao tiếp hệ điều hành/chương trình
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 5
3.1.Các giai đoạn phát triển và
phần loại HĐH
3.1.1. Các giai đoạn phát triển
Giai đoạn 1(1940-1955):
Mỗi máy được một nhóm kỹ sư xây dựng từ phần cứng tới phần mềm: Thiết kế, xây dựng, lập trình, thao tác đến quản lý. Lập trình bằng ngôn ngữ máy tuyệt đối (bảng điều khiển).Chưa có khái niệm về ngôn ngữ lập trình và hệ điều hành.
Đầu thập niên 1950, phiếu đục lổ ra đời và có thể viết chương trình trên phiếu thay cho dùng bảng điều khiển
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 6
Giai đoạn 2(1955- 1965):
Máy tính dùng transitor tin cậy và được sản xuất cho khách hàng, có sự phân chia rõ ràng người thiết kế, xây dựng, vận hành, lập trình, bảo trì.
Chương trình được biểu diễn bằng ngôn ngữ lập trình trên giấy, đục lỗ trên phiếu, đọc bằng máy, thực thi và xuất kết quả ra máy in.
Hệ thống xử lý theo lô ra đời: Yêu cầu cần thực hiện lưu lên băng từ nhập, được đọc và thi hành lần lượt. Kết quả được ghi lên băng từ xuất . Người sử dụng sẽ đem băng từ xuất đi in.
Hệ thống xử lý theo lô hoạt động dưới sự điều khiển của một chương trình đặc biệt là tiền thân của hệ điều hành sau này
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 7
Giai đoạn 3 (Giữa thập niên 60-
Thập niên 80)
Máy tính được sử dụng rộng rãi trong khoa học cũng như trong thương mại, Các thiết bị ngoại vi xuất hiện ngày càng nhiều và thao tác điều khiển bắt đầu phức tạp.
Hệ điều hành ra đời nhằm điều phối, kiểm soát hoạt
động và giải quyết các yêu cầu tranh chấp thiết bị.
Ra đời khái niệm đa chương. CPU không phải chờ thực hiện các thao tác nhập xuất. Bộ nhớ được chia làm nhiều phần, mỗi phần có một công việc (job)
khác nhau, khi một công việc chờ thực hiện nhập xuất
CPU sẽ xử lý các công việc còn lại.
Ra đời của hệ điều hành chia xẻ thời gian
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 8
Giai đoạn 4 (Thập niên 80 nay):
Máy tính cá nhân ra đời
Hệ điều hành dành cho máy tính cá nhân
MS-DOS
Windows
...
Hệ điều hành mạng, hệ điều hành phân tán
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 9
3.1.2. Phân loại hệ điều hành
Dưới góc độ loại máy tính
HĐH dành cho Mainframe, Server, PC, PDA...
Dưới góc độ số chương trình được sử dụng cùng lúc
HĐH đơn nhiệm, đa nhiệm
Dưới góc độ người dùng (truy xuất tài nguyên cùng lúc)
Một người dùng, đa người dùng (ngang hàng, khách-chủ)
Dưới góc độ hình thức xử lý
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 10
Phân loại HĐH dưới hình thức xử lý
Hệ
Hệ
thống thống
xử lý theo lô chia sẻ
Hệ
Hệ
Hệ thống thống
thống song song phân tán
xử lý thời gian
thực
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 11
Hệ thống xử lý theo lô
Giám sát, thực hiện một dãy các công việc nối tiếp nhau theo những chỉ thị định trước.
Đa chương trình (multiprogram): Gia tăng khai thác CPU bằng cách tổ chức các công việc sao cho CPU luôn luôn phải trong tình trạng làm việc.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 12
Hệ thống chia sẻ (thời gian)
Hệ thống chia xẻ thời gian còn được gọi là hệ thống đa nhiệm (multitasking): Nhiều công việc
cùng được thực hiện thông qua cơ chế chuyển đổi của CPU, thời gian mỗi lần chuyển đổi diễn ra rất nhanh để có cảm giác các chương trình được thi hành đồng thời.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 13
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 14
Hệ thống song song
Hệ thống có nhiều bộ xử lý cùng chia xẻ hệ thống đường truyền dữ liệu, đồng hồ, bộ nhớ và các thiết bị ngoại vi. Các bộ xử lý này liên lạc bên trong với nhau.
Đa xử lý đối xứng
Mỗi bộ xử lý chạy với một bản sao của hệ điều hành, những bản sao này liên lạc với nhau khi cần thiết.
Đa xử lý bất đối xứng
Mỗi bộ xử lý được giao một công việc riêng biệt.Một bộ xử lý chính kiểm soát toàn bộ hệ thống, các bộ xử lý khác thực hiện theo lệnh của bộ xử lý chính hoặc theo những chỉ thị đã được định nghĩa trước.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 15
Hệ thống phân tán
Mỗi bộ xử lý có bộ nhớ cục bộ riêng.
Các bộ xử lý thông tin với nhau thông qua các đường truyền thông như những bus tốc độ cao hay đường dây điện thoại.
Chia xẻ tài nguyên
Tăng tốc độ tính toán
An toàn
Thông tin liên lạc với nhau
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 16
Hệ thống thời gian thực
Hệ điều hành xử lý thời gian thực phải được định nghĩa tốt, thời gian xử lý nhanh, cho kết quả chính xác trong khoảng thời gian ngắn nhất.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 17
3.2. Hoạt động HĐH
3.2.1. Nạp hệ điều hành
Là quá trình nạp các thành phần chính của hệ điều hành từ đĩa vào bộ nhớ chính khi khởi động hệ thống máy tính
Khởi động hệ thống máy tính:
Bước 1: Khởi động phần cứng
Bước 2: Tải BIOS
Bước hành 3: Tự mồi (bootstrap), nạp hệ điều
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 18
Khởi động phần cứng
Một loạt các thao tác liên quan tới phần cứng cho tới khi tiến trình tự mồi bắt đầu
Mở máy, một tín hiệu điện sẽ theo một đường dẫn được lập trình cố định đi tới CPU, thiết lập
PC một địa chỉ trỏ tới phần đầu của chương trình
POST (Power-on selft test) trong ROM.
POST gồm một dãy các lệnh kiểm tra các thành phần hệ thống máy tính: CPU, bus, Mạch điều khiển màn hình (cạc màn hình), RAM, bàn phím, ổ đĩa v..v để chắc chắn các thành phần này hoạt động tốt .
Kết quả kiểm tra của POST được so sánh với dữ liệu trong CMOS, xác nhận sự thay đổi của cấu hình máy tính.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 19
Tải BIOS
Mã của chương trình BIOS trong ROM và các mạch điều khiển được tải vào RAM
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 20
Bootstrap, nạp hệ điều hành
Quá trình tự mồi (bootstrap) chủ yếu được sử dụng trong các hệ điều hành dựa ổ đĩa (drive-based) để tải hệ điều hành vào quản lý hệ thống.
Chương trình BIOS (được tải từ ROM) lần lượt tìm kiếm tập tin hệ thống của hệ điều hành trên các ổ đĩa khởi động, nó sẽ báo lỗi nếu không tìm thấy.
Tải bản ghi khởi động vào RAM , BIOS nhường quyền điều khiển cho bản ghi khởi động để chương trình này tải các tập tin hệ thống của hệ điều hành vào trong RAM
Tập tin hệ thống điều khiển phần còn lại của quá trình tải hệ điều hành và và cho phép hệ điều hành bắt đầu hoạt động.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 21
11/3/2008 Phần II: Hệ điều hành - Hàn Minh 22
Phương
Lý do nạp hệ điều hành
Dễ dàng cho việc nâng cấp hệ điều hành: Thêm những đặc điểm mới hoặc sửa chữa những lỗi trong hệ điều hành thông qua việc ra những phiên bản mới, thay đổi một tập tin của hệ điều hành
Tạo ra nhiều lựa chọn khác nhau cho
người dùng
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 23
Tương tác HĐH và các thành
phần của hệ thống
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 24
3.2.2. Giao tiếp người dùng/HĐH
Giao diện dòng lệnh (CLI_Command Line Interface): Là cơ chế cho phép người dùng tương tác với hệ điều hành bằng việc gõ vào các lệnh. Hệ điều hành sẽ thực hiện các tác vụ theo các lệnh đó.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 25
Các lệnh được nhập vào từ bàn phím.
Người dùng kết thúc việc nhập một lệnh
văn bản bằng cách nhấn phím Enter.
Bộ thông dịch lệnh _ (Command interpreter) sẽ nhận nội dung lệnh, phân tích và đưa ra các xử lý phù hợp.
Đưa ra thông báo lỗi: lệnh sai cú pháp/lệnh không tồn tại
Đưa ra kết quả ra màn hình (thông thường dưới dạng văn bản)
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 26
Lệnh-command
Lệnh ngắn gọn súc tích (tiếng Anh)
Được bắt đầu từ dấu nhắc lệnh (prompt)
Window : >
Linux: $
Bao gồm: từ khóa lệnh (+ tham số lệnh)
Window: Xem thông tin hệ thống, hiện thị dưới dạng danh sách
>SystemInfo /FO List
Linux: Hiển thị danh sách các tập tin trong thư
mục hiện hành, gồm cả các tập tin ẩn
$ls -a
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 27
Command Interpreter
Là chương trình thông dịch ngôn ngữ dòng lệnh - thông dịch các lệnh đọc từ các thiết bị nhập (bàn phím) hoặc từ một tập tin (file).
MS-DOS/Windows: COMMAND.COM/cmd. exe
Linux: BASH (Bourne-Again Shell), CSH (C Shell)...
Để thực hiện nhiều lệnh chỉ bằng một lệnh, có thể lưu chuỗi lệnh vào tập tin văn bản không định dạng (plain text) và ra lệnh cho CI thực thi tập tin này.
MS-DOS/Windows: Batch file (.bat)
Linux: Shell script
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 28
Ví dụ tập tin .bat
Nội dung tập tin test.bat trong C:\
@echo off
echo Day la file bat chay thu pause
dir c:\windows
pause
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 29
Batch file/Shell script có thể nhận
lệnh từ giao diện dòng lệnh, tập tin
Tiện lợi để tạo nhóm lệnh riêng
Tiết kiệm thời gian
Tự động làm một vài
thường xuyên công việc
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 30
3.2.2. Giao tiếp người dùng/HĐH
Giao diện đồ hoạ (GUI_ Graphical User Interface):Tạo môi trường tương tác thân thiện giữa người dùng và hệ điều hành:
Các hình tượng đồ họa thay thế các dòng lệnh tương tác với máy tinh.
Các lệnh được lựa chọn nhờ thao tác chuột
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 31
3.2.3. Giao tiếp chương trình/HĐH
API- Application Program Interface: Giao diện lập trình ứng dụng, cung cấp các hàm, thủ tục cho chương trình phần mềm truy nhập tới dịch vụ hệ thống (phần cứng) hoặc thư viện phần mềm
System-Call: Lời gọi hệ thống:Cơ chế cho phép chương trình (tiến trình) yêu cầu một dịch vụ từ nhân hệ điều hành.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 32
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 33
Ví dụ
Một số lời gọi hệ thống (system-calls) trong
Unix
System calls cho truy nhập vào ra tập tin mức thấp
creat(name, permissions)
open(name, mode)
close(fd)
unlink(fd)
read(fd, buffer, n_to_read)
write(fd, buffer, n_to_write)
lseek(fd, offest, whence)
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 34
System Calls điều khiển tiến trình
fork()
wait()
execl(), execlp(), execv(), execvp()
exit()
signal(sig, handler)
kill(sig, pid)
System Calls cho IPC
pipe(fildes)
dup(fd)
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 35
Chức năng và dịch vụ của hđh
Chức năng
Quản lý I/O.
Quản Quản Quản lý lý lý tiến trình. tập tin.
bộ nhớ.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 36
3.2. Hoạt động HĐH
Các dịch vụ cung cấp bởi hệ điều hành
Thi hành chương trình : HĐH phải có khả năng nạp chương trình vào bộ nhớ và thi hành nó. Chương trình phải chấm dứt thi hành theo cách thông thường hay bất thường (có lỗi).
Thao tác nhập xuất : Một chương trình thi hành có thể yêu cầu nhập xuất. Nhập xuất này có thể là tập tin hay thiết bị. Đối với thiết bị có một hàm đặc biệt được thi hành. Để tăng hiệu quả, người sử dụng không truy xuất trực tiếp các thiết bị nhập xuất mà thông qua cách thức do hệ điều hành cung cấp.
Thao tác trên hệ thống tập tin
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 37
Các dịch vụ cung cấp bởi HĐH
Thông tin : Có nhiều tình huống một tiến trình cần trao đổi thông tin với một tiến trình khác. Có hai cách thực hiện: Một là thực hiện thay thế tiến trình trên cùng máy tính, hai là thay thế tiến trình trên hệ thống khác trong hệ thống mạng. Thông tin có thể được cài đặt qua chia xẻ bộ nhớ, hoặc bằng kỹ thuật chuyển thông điệp. Việc chuyển thông tin được thực hiện bởi hệ điều hành.
Phát hiện lỗi : Hệ điều hành phải có khả năng báo lỗi. Lỗi xảy ra có thể do CPU, bộ nhớ, trong thiết bị nhập xuất, ... hay trong các chương trình. Đối với mỗi dạng lỗi, hệ điều hành sẽ có cách giải quyết tương ứng.
11/3/2008 Phần II: Hệ điều hành - Hàn Minh Phương 38
Bạn đang đọc truyện trên: AzTruyen.Top