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

Tags: