You are on page 1of 22

HỆ ĐIỀU

GiảngHÀNH
viên: Ths Lê Thị Cúc
Sinh viên thực hiện: Phạm Văn Thuận
Lớp K22-D

3/2022
Tổng quan về hệ điều hành
01 Khái niệm, chức năng, phân loại và thành phần

Cấu trúc hệ điều hành


02 Các dịch vụ, lời gọi hệ thống và cấu trúc

Tiến trình và luồng


03 Tiến trình,
Luồng
Lập lịch cho CPU
04 Lập lịch, tiêu chuẩn định thời, các giải
thuật
Đồng bộ giữa các tiến trình
05 Yêu cầu độc quyền truy xuất, phối hợp đồng bộ

Khóa chết - Deadlock


06 Deadlock, xử lý, ngăn ngừa deadlock

Quản lý bộ nhớ
07 Overlay, thuật toán, phân trang, phân đoạn, thay trang
Tổng quan về hệ điều hành
01 Khái niệm, chức năng, phân loại và thành phần

Khái niệm, chức


năng
1 chương trình, hệ chương trình
Trung gian giữa người dùng và phần cứng máy tính
Cung cấp môi trường cho người dùng sử dụng chương trình
Quản lý, phân phối tài nguyên
Tổng quan về hệ điều hành
01 Khái niệm, chức năng, phân loại và thành phần

Phân loại Hệ điều hành

Hệ điều hành Đơn chương Hệ điều hành Đa chương

Hệ thống chỉ thực hiện 1 chương trình Hệ thống thực hiện đồng thời nhiều chương trình

Chiếm giữ mọi tài nguyên hệ thống Các chương trình được phân phối bộ nhớ và CPU
Thực hiện lần lượt các chương trình
CPU chỉ thực hiện 1 thao tác người dùng tại thời điểm đó
Tổng quan về hệ điều hành
01 Khái niệm, chức năng, phân loại và thành phần

Thành phần Hệ điều hành


Điều phối hoạt
động

Phân phối tài


nguyên

Hoạt động mạng

Hệ thống bảo vệ

Thông dịch
lệnh
Cấu trúc Hệ điều hành
02 Các dịch vụ, lời gọi hệ thống, cấu trúc

Các dịch vụ

Cung cấp môi trường để thực thi chương trình,


dịch vụ
• Giao diện người dùng
• Thực thi chương trình
• Hoạt động xuất nhập
• Thao tác hệ thống tệp
• Phân bổ tài nguyên....
Cấu trúc Hệ điều hành
02 Các dịch vụ, lời gọi hệ thống và cấu trúc

• Cung cấp giao diện giữa tiến trình-hệ điều hành


• Yêu cầu sử dụng các dịch vụ hệ điều hành
Lời gọi hệ thống • Điều khiển tiến trình
• Quản lý tập tin, thiết bị
• Duy trì thông tin, giao tiếp...

Cấu trúc bằng:


• Cấu trúc đơn giản: MS-DOS
Cấu trúc hệ điều hành • Cấu trúc phức tạp: UNIX
• Cấu trúc lớp trừu tượng
• Cấu trúc vi phân Micro Kernel - mạch
Tiến trình và luồng
03 Tiến trình, luồng

Thực hiện công việc được mô tả thông qua các chương trình
Tiến trình
Có 1 trong các trạng thái: new, running, waiting, ready, terminated

Là một dòng xử lý cơ bản trong hệ thống, xử lý tuần tự đoạn code của nó


Luồng
Mỗi tiến trình có thể có nhiều luồng
nhưng các luồng đều chia sẻ không gian địa chỉ của chúng
Lập lịch cho CPU
04 Lập lịch, tiêu chuẩn định thời và các giải thuật
Khi CPU rỗi, hệ điều hành chọn các tiến trình sẵn sàng
thực hiện trong bộ nhớ và phân phối CPU

Trình lập lịch CPU


Tiến trình được thực hiện bởi trình lập lịch ngắn kỳ

Running, waiting → ready: ưu tiên trước, không độc quyền


Preemptive / non preemptive
Running → waiting, end: độc quyền, không được ưu tiên trước

Trình điều vận Trao quyền điều khiển CPU cho tiến trình được lựa chọn bởi trình lập lịch CPU
Lập lịch cho CPU
04 Lập lịch, tiêu chuẩn định thời và các giải thuật

Tiêu chuẩn định


thời

Turn around time Tổng thời gian thực hiện 1 tiến trình

Waiting time Thời gian tiến trình chờ đợi trong ready queue

Từ thời điểm tiến trình vào


Response time
cho đến khi nhận được đáp ứng đầu tiên của hệ thống
Lập lịch cho CPU
04 Lập lịch, tiêu chuẩn định thời và các giải thuật

Các giải thuật lập lịch

First-come, first-served (FCFS) Shortest remaining time first (SRTF) - preemptive

Shortest Job First (SJF) - non preemptive Round robin (RR)


Các giải thuật lập lịch

FCFS SJF SRTF RR

Không ưu tiên trước Ưu tiên trước Tiến trình sử dụng


Tiến trình nào
yêu cầu CPU một lượng nhỏ
Mỗi tiến trình, thời gian sử dụng CPU
trước, Nếu 1 tiến trình thời gian của CPU
tiếp sau nó được sử dụng để lập lịch
sẽ được phân đến có thời gian (q) Sau thời gian q,
các tiến trình với thời gian chờ đợi ngắn
phối CPU trước sử dụng CPU tiến trình đưa vào
nhất
(không được ưu ngắn hơn thì thời cuối ready queue
tiên) Một tiến trình nếu sử dụng CPU gian còn lại của
thì không nhường cho tiến trình tiến trình đang
khác cho đến khi nó kết thúc thực hiện sẽ ưu
SJF là tối ưu, cho thời gian chờ đợi tiên tiến trình
trung bình của các tiến trình là mới đến trước
nhỏ nhất
Đồng bộ giữa các tiến trình Đồng bộ hóa để đảm bảo hoạt động đồng thời của các tiến
05 Yêu cầu độc quyền truy xuất, phối hợp đồng bộ trình không tác động sai lệch đến nhau: có 2 nguyên nhân

Yêu cầu độc quyền truy xuất Yêu cầu phối hợp đồng bộ

Phân loại tài nguyên trong hệ thống

Các tiến trình trong hệ thống thường hoạt động


• Tài nguyên chia sẻ
độc lập và không đồng bộ với nhau
Cho phép nhiều tiến trình đồng thời truy xuất
Khi có nhiều tiến trình cùng phối hợp hoàn thành
nhiệm vụ, có thể dẫn đến yêu cầu đồng bộ
• Tài nguyên không chia sẻ
Tiến trình này sử dụng kết quả của tiến trình kia,
Tại 1 thời điểm chỉ 1 tiến trình được sử dụng
cần hoàn thiện các tiến trình con rồi mới đến tiến
trình cha
Mỗi tiến trình có đoạn mã gọi là Miền Găng chứa
Đồng bộ giữa các tiến trình
05 Yêu cầu độc quyền truy xuất, phối hợp đồng bộ
các lệnh có thể thay đổi các biến dùng chung

Độc quyền truy xuất Tiến triển Giới hạn đợi

Nếu không có tiến


trình nào trong miền Thời gian từ khi tiến trình
Nếu tiến trình P đang
găng, và có 1 số tiến yêu cầu cho đến khi thực
trong miền găng thì
trình muốn vào miền sự bước vào miền găng
không tiến trình nào được
găng thì 1 tiến trình phải bị chặn bởi giới hạn
bước vào miền găng
nào đó phải được vào nào đó
miền găng
Khóa chết - Deadlock
06 Deadlock, giải thuật phát hiện deadlock

Là hiện tượng 1 tiến trình chiếm hữu tài nguyên lâu


dài, làm cho các tiến trình có nhu cầu sử dụng tài
nguyên này luôn ở trạng thái waiting

Ngăn chặn, loại trừ lẫn nhau, tại 1 thời điểm


chỉ có thể sử dụng 1 tài nguyên

Đang giữ ít nhất 1 tài nguyên và đợi để nhận tài


nguyên khác (đang được giữ bởi tài nguyên khác)
Phương pháp xử lý deadlock Cho phép hệ thống đi vào trạng thái deadlock rồi khôi phục lại

Bỏ qua vấn đề này, xem như deadlock không bao giờ xuất hiện
trong hệ thống

Ngăn cản cách tạo yêu cầu:


Ngăn ngừa deadlock • Đảm bảo hệ thống không có các file không thể chia sẻ
• 1 tiến trình không bao giờ phải chờ tài nguyên có thể chia sẻ

Không có ưu tiên:
• Nếu 1 tiến trình đang giữ 1 số tài nguyên và yêu cầu tài
nguyên khác mà không thể được phân phối ngay cho nó thì
tất cả các tài nguyên nó đang giữ được giải phóng
• Các tài nguyên ưu tiên được thêm vào danh sách tài nguyên
dành cho tiến trình đang chờ đợi
• Tiến trình sẽ được khởi động lại chỉ khi nó có thể lấy lại các tài
nguyên cũ của nó, cũng như các tài nguyên mới mà nó đang
yêu cầu
Quản lý bộ nhớ
07 Overlay, thuật toán, phân trang, phân đoạn, thay trang

Cơ chế Overlay Phân đoạn đơn giản Phân trang đơn giản Thuật toán

Tại mỗi thời First Fit Best Fit Worst Fit


Tiến trình mới đến
điểm, chỉ giữ lại Xác định điểm đầu và muốn cấp phát bộ Kiểm tra Khi có bộ Tiến trình đi
trong bộ nhớ kích thước của nhớ khối bộ nhớ trống qua toàn bộ
những lệnh segment nhớ trống với sự lãng bộ nhớ và
hoặc dữ liệu cần Trong bộ nhớ vật lý tuần tự, phí (dư tìm kiếm
thiết, giải phóng Từ Segment table ta có các frame rỗi nếu có thừa) bộ phân vùng
các lệnh/dữ liệu xác định đoạn cho khối bộ nhớ tối lớn
chưa hoặc từng segment Khi cấp phát vào phải nhớ lớn thiểu, nó nhất→tiến
không cần dùng thông qua bảng trang hơn kích được trình được
đến. thước yêu phân bổ đặt trong
cầu thì sẽ cho tiến phân vùng
được trình này đó
phân bổ
Giải thuật thay trang

Giải thuật FIFO Đánh dấu mốc IN

Giải thuật LRU Đánh dấu mốc USE

Lâu nhất trong tương


Giải thuật optimal
lai không được sử dụng
Thực hành với MSDOS

Lệnh md để tạo thư mục

Lệnh cd để di chuyển vào trong thư mục

Lệnh copy con để tạo file, nhập nội


dung file và ctrl z để thoát khỏi file

Tiếp tục sử dụng lệnh copy để


sao chép file đếm thư mục
Thực hành với Linux

pwd để in ra đường dẫn đang đứng

Lệnh mkdir để tạo thư mục Lệnh touch để tạo file

Lệnh cd để di chuyển vào trong thư mục


Th a nk
yo u!

You might also like