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.... Hệ điều hành Hệ điều hành là một chương trình hay một hệ
Trang 1Phần II: Hệ điều hành
Trang 2Mộ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.
Trang 3Hệ đ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.
Trang 5Chươ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
Trang 63.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ềuhà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ùngbảng điều khiển
Trang 7Giai đ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
Trang 8Giai đ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
Trang 9Giai đ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á
Trang 103.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ý
Trang 11Phân loại HĐH dưới hình thức xử lý
Trang 12Hệ 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.
Trang 13Hệ 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
Trang 15 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.
Trang 17Hệ 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
Trang 18 Bước 2: Tải BIOS
Bước 3: Tự mồi (bootstrap), nạp hệ điều
hành
Trang 19Khở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ìnhPOST (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ềukhiể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
Trang 20Tả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
Trang 21Bootstrap, 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
Trang 23Lý 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
Trang 24Tương tác HĐH và các thành
phần của hệ thống
Trang 253.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 đó.
Trang 27 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
Trang 28Command 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
Trang 30 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 công việc
thường xuyên
Trang 313.2.2 Giao tiếp người dùng/HĐH
Giao diện đồ hoạ
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ácdòng lệnh tương tácvới máy tinh
Các lệnh được lựa
chọn nhờ thao tác
Trang 323.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.
Trang 34 read(fd, buffer, n_to_read)
write(fd, buffer, n_to_write)
lseek(fd, offest, whence)
Trang 35 System Calls điều khiển tiến trình
Trang 373.2 Hoạt động HĐH
Các dịch vụ cung cấp bởi hệ điều hành
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 theocách thông thường hay bất thường (có lỗi)
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ệuquả, người sử dụng không truy xuất trực tiếpcá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
Trang 38Cá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.