1. Trang chủ
  2. » Công Nghệ Thông Tin

03 an toan he dieu hanh

266 53 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 266
Dung lượng 8,65 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tổng quan về hệ điều hành và an toàn hệ điều hành Chương này trình bày một số nội dung khái quát về nguyên lý hệ điềuhành và an toàn hệ điều hành, gồm: Quản lý tiến trình, bộ nhớ, vào/ra

Trang 1

MỤC LỤC

MỤC LỤC 1

DANH MỤC HÌNH VE 6

DANH MỤC BẢNG 9

DANH MỤC CÁC TỪ VIẾT TẮT 10

LỜI NÓI ĐẦU 12

CHƯƠNG 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ ĐIỀU HÀNH 14

1.1 Tổng quan về nguyên lý hệ điều hành 14

1.1.1 Khái niệm và phân loại hệ điều hành 14

1.1.2 Tiến trình trong hệ điều hành 19

1.1.3 Quản lý bộ nhớ trong 22

1.1.4 Quản lý vào/ra 24

1.1.5 Hệ thống quản lý tập tin 25

1.1.6 Vấn đề tắc nghẽn 30

1.2 Tổng quan về an toàn hệ điều hành 32

1.2.1 Các tiêu chí và mục tiêu an toàn 32

1.2.2 Định nghĩa hệ điều hành an toàn 33

1.2.3 Tính cần thiết của an toàn hệ điều hành 33

1.2.4 Phân loại các mức an toàn của hệ điều hành 38

CHƯƠNG 2 NGUYÊN LÝ AN TOÀN HỆ ĐIỀU HÀNH 44

2.1 Các mô hình chung 44

2.1.1 Mô hình tin cậy 44

2.1.2 Mô hình đe dọa 45

2.1.3 Mô hình bảo mật luồng thông tin 47

Trang 2

2.1.5 Hệ thống và miền bảo vệ 52

2.2 Định danh vào xác thực 55

2.2.1 Định danh 55

2.2.2 Xác thực 56

2.3 Kiểm soát truy nhập 58

2.3.1 Mô hình kiểm soát truy nhập 58

2.3.2 Mô hình ma trận truy nhập và ma trận truy nhập LampSon 59

2.3.3 Kiểm soát truy nhập tùy ý 62

2.3.4 Kiểm soát truy nhập bắt buộc 63

2.3.5 Kiểm soát truy nhập theo vai trò 64

2.3.6 Danh sách kiểm soát truy nhập và danh sách khả năng truy nhập 66

2.3.7 Bộ giám sát tham chiếu 71

2.4 Quản lý và bảo vệ bộ nhớ 73

2.4.1 Địa chỉ rào 74

2.4.2 Định vị lại 75

2.4.3 Đánh trang 76

2.4.4 Phân đoạn 77

2.4.5 Bảo vệ dựa thanh ghi 77

2.5 Nhân an toàn 81

2.6 Chính sách an toàn 81

2.7 Cơ chế kiểm toán 83

2.7.1 Tính cần thiết của kiểm toán 83

2.7.2 Xác định sự kiện để kiểm toán 84

CHƯƠNG 3 CƠ CHẾ AN TOÀN CỦA HỆ ĐIỀU HÀNH WINDOWS 87

Trang 3

3.1.1 Tổng quan về hệ điều hành Windows 87

3.1.2 Kiến trúc khối 91

3.1.3 Kiến trúc chi tiết 96

3.2 Cơ chế an toàn 110

3.2.1 Giới thiệu chung về an toàn và phân hệ an toàn 110

3.2.2 Cơ chế xác thực đăng nhập 118

3.2.3 Giao thức xác thực NTLM 126

3.2.4 Giao thức xác thực NTLM v2 128

3.2.5 Cơ chế kiểm soát truy nhập 139

3.2.6 Cơ chế bảo vệ bộ nhớ 172

3.2.7 Chính sách an toàn và kiểm toán 175

3.2.8 An toàn tập tin và các quyền cho thư mục 178

CHƯƠNG 4 CÁC HIỂM HỌA ĐỐI VỚI HỆ ĐIỀU HÀNH 183

4.1 Các hình thức tấn công phổ biến vào hệ điều hành 183

4.1.1 Tấn công vào máy chủ hoặc máy trạm độc lập 183

4.1.2 Tấn công bằng cách phá mật khẩu 184

4.1.3 Tấn công bằng mã độc 185

4.1.4 Tấn công bộ đệm 185

4.1.5 Tấn công quét cổng 186

4.1.6 Tấn công từ chối dịch vụ 186

4.1.7 Tấn công định tuyến nguồn 187

4.1.8 Tấn công giả mạo 187

4.1.9 Tấn công sử dụng e-mail 188

Trang 4

4.1.11 Tấn công không dây 188

4.2 Các định danh của lỗ hổng hệ điều hành 189

4.2.1 Các định danh của lỗ hổng 189

4.2.2 Các lỗ hổng trên hệ điều hành Windows 190

4.2.3 Các lỗ hổng trên hệ điều hành Linux 194

4.2.4 Các lỗ hổng trên một số hệ điều hành khác 196

4.3 Thực hành 198

4.3.1 Dò quét lỗ hổng hệ điều hành 198

4.3.2 Khai thác lỗ hổng trên hệ điều hành 207

CHƯƠNG 5 CÁC BIỆN PHÁP BẢO ĐẢM AN TOÀN CHO HỆ ĐIỀU HÀNH .211

5.1 Định danh các điểm yếu 211

5.2 Cập nhật và quản lý các bản vá lỗi 213

5.2.1 Các loại bản vá 213

5.2.2 Các giai đoạn quản lý bản vá 215

5.2.3 Quản lý các bản vá 216

5.3 Quản trị bộ chính sách an toàn 217

5.4 Các giải pháp bảo vệ 218

5.5 Thực hành 219

5.5.1 Quản trị cập nhật và các bản vá lỗi 219

5.5.2 Cấu hình và triển khai các bộ chính sách an toàn 232

5.5.3 Hệ thống tệp mã hóa (EFS) và hệ thống tệp mật mã (CFS) 238

5.5.4 Triển khai các giải pháp bảo vệ 239

5.5.5 Bộ công cụ chuẩn đoán và xử lý sự cố hệ điều hành 256

TÀI LIỆU THAM KHẢO 263

Trang 5

DANH MỤC HÌNH VE

Hình 1.1 Mô hình trừu tượng của hệ thống máy tính 14

Hình 1.2 Tiến trình và đa chương 20

Hình 1.3 Sơ đồ chuyển trạng thái giữa các tiến trình 21

Hình 1.4 Ví dụ về deadlock giữa hai tiến trình 31

Hình 1.5 Đối tượng trong Domain 39

Hình 2.1 Biểu đồ luồng thông tin mô tả 48

Hình 2.2 Ví dụ về mô hình bảo mật luồng thông tin Bell-LaPadula 50

Hình 2.3 Ví dụ về mô hình toàn vẹn luồng thông tin BiBa 51

Hình 2.4 Hệ thống với 3 miền bảo vệ 54

Hình 2.5 Cơ chế thực thi và ra quyết định 59

Hình 2.6 Ví dụ về ma trận kiểm soát truy nhập 60

Hình 2.7 Kiểm soát truy nhập bắt buộc 64

Hình 2.8 Mô hình RBAC cơ bản 65

Hình 2.9 Ví dụ về các ACL 69

Hình 2.10 Một danh sách khả năng 70

Hình 2.11 Ma trận kiểm soát truy nhập 70

Hình 2.12 Ví dụ về danh sách khả năng (C – list) 71

Hình 2.13 Bộ giám sát tham chiếu (RM) và cơ chế gọi RM của OS 71

Hình 3.1 Sơ đồ kiến trúc khối của Windows 2003 Server 92

Hình 3.2 Đa xử lý đối xứng trong Windows 95

Hình 3.3 Kiến trúc chi tiết của Windows 2003 Server 96

Hình 3.4 Các hệ thống con trong Windows 97

Hình 3.5 Danh sách các dịch vụ cài đặt trên máy cục bộ 105

Hình 3.6 KO nằm trong EO 107

Hình 3.7 Các kiểu đối tượng trong Windows 107

Hình 3.8 Cấu trúc của một đối tượng 108

Hình 3.9 Các thành phần an toàn trong Windows 117

Hình 3.10 Truyền thông giữa SRM và Lsass 118

Trang 6

Hình 3.12 Kiến trúc xác thực không tương tác 120

Hình 3.13 Xác thực trong Windows 2003 Server 122

Hình 3.14 Các bước tạo và lưu trữ mật khẩu dạng LM Hash 124

Hình 3.15 Cơ chế xác thực kiểu challenge/response 125

Hình 3.16 Xác thực người dùng bằng giao thức LAN Manager 126

Hình 3.17 Tạo và lưu trữ mật khẩu ở dạng NT Hash 127

Hình 3.18 Giao thức xác thực NTLM 127

Hình 3.19 Tính đáp ứng trong giao thức NTLM v2 129

Hình 3.20 Các bước xác thực trong NTLM v2 129

Hình 3.21 Trao đổi các thông báo trong Kerberos 134

Hình 3.22 Sơ đồ nguyên lý hoạt động 134

Hình 3.23 3 phase trong Kerberos 135

Hình 3.24 Người dùng yêu cầu một tập tin từ FileServer 138

Hình 3.25 Cấu trúc của bộ mô tả an toàn 141

Hình 3.26 Tiêu đề của ACL chứa các siêu dữ liệu của ACL 145

Hình 3.27 Cấu trúc của một ACE 146

Hình 3.28 Cấu trúc của mặt nạ truy nhập 149

Hình 3.29 Mối quan hệ giữa các cấu trúc kiểm soát truy nhập 154

Hình 3.30 DACL của tập tin 155

Hình 3.31 Cấu trúc của thẻ bài 156

Hình 3.32 Thẻ bài giản lược 158

Hình 3.33 Thẻ bài đầy đủ chức năng quản trị chứa toàn bộ tập đặc quyền .159

Hình 3.34 Thẻ bài hạn chế của tiến trình 163

Hình 3.35 Ví dụ về xác nhận truy nhập theo thứ tự ACE 165

Hình 3.36 Cấu trúc của SID trong Windows 168

Hình 3.37 Trình soạn thảo cấu hình chính sách an toàn cục bộ 177

Hình 3.38 Luồng chảy của các bản ghi kiểm toán an toàn 178

Hình 4.1 Tình trạng gia tăng số lỗ hổng theo thời gian 191

Hình 4.2 Thống kê số lượng lỗ hổng theo kiểu tấn công 192

Trang 7

Hình 4.4 Thống kê số lỗ hổng trên hệ điều hành Enterprise Linux 194

Hình 4.5 Thống kê theo dạng biểu đồ 195

Hình 4.6 Thống kê theo kiểu lỗ hổng 195

Hình 4.7 Thống kê theo tỷ lệ phần trăm 196

Hình 4.8 Thống kê số lượng lỗ hổng trên Iphone Os 196

Hình 4.9 Thống kê lỗ hổng trên Iphone Os theo dạng biểu đồ 197

Hình 4.10 Thống kê theo kiểu lỗ hổng 197

Hình 4.11 Thống kê theo tỷ lệ phần trăm 198

Hình 4.12 Cấu hình Host Discovery 200

Hình 4.13 Cấu hình Service Discovery 201

Hình 4.14 Cấu hình General Vulnerability Selection 202

Hình 4.15 Cấu hình Windows Module 202

Hình 4.16 Cấu hình Wireless Module 203

Hình 4.17 Cấu hình Web Module 204

Hình 4.18 Cấu hình Optimize 204

Hình 4.19 Cấu hình kiểu Report 205

Hình 4.20 Cấu hình Scheduler 206

Hình 4.21 Báo cáo kết quả dò quét 207

Hình 5.1 Bốn giai đoạn quản lý bản vá 215

DANH MỤC BẢNG Bảng 1.1 Các lớp của hệ thống vào ra 25

Bảng 1.2 Một số thuộc tính cơ bản của tập tin 27

Bảng 2.1 Ma trận truy nhập LampSon 61

Bảng 2.2 Các thành phần của một mục nhập ACL 68

Bảng 2.3 Ví dụ ma trận kiểm soát truy nhập 68

Bảng 3.1 Các phiên bản Windows dựa trên nhân MS – DOS 88

Bảng 3.2 Các phiên bản hệ điều hành Windows dựa trên nhân NT 89

Trang 8

Bảng 3.4 Các tập tin chính trong Windows 2003 Server 95

Bảng 3.5 Danh sách tiền tố các hàm trong Windows 102

Bảng 3.6 Các thuộc tính tiểu chuẩn của phần đầu đối tượng 109

Bảng 3.7 Các dịch vụ đối tượng chung 110

Bảng 3.8 Các mức đánh giá an toàn theo TCSEC 111

Bảng 3.9 Các cờ điều khiển của bộ mô tả an toàn 144

Bảng 3.10 Các cờ quan trọng của ACE 147

Bảng 3.11 Các kiểu ACE 149

Bảng 3.12 Các quyền đặc thù cho các đối tượng của hệ thống tập tin 153

Bảng 3.13 Các nhãn toàn vẹn trong Windows 167

Bảng 3.14 SID định danh thẩm quyền 170

Bảng 3.15 Các giá trị thẩm quyền thứ cấp thông thường 171

Bảng 3.16 Các lựa chọn bảo vệ bộ nhớ được định nghĩa trong Windows API 175

Bảng 3.17 Một số các phép truy nhập cụ thể 181

Bảng 3.18 Ánh xạ các phép truy nhập cụ thể từ các phép truy nhập cơ sở .182

Trang 9

DANH MỤC CÁC TỪ VIẾT TẮT

1 WEP Wired Equivalent Privacy

4 SID Security identifier

6 DAC Discretionary access control

7 MAC Mandatory Access Control

8 RBAC Role-Based Access Control

9 ACL access control list

10 C-List capability list

13 WMI Windows Management Instrumentation

14 DLLs dynamic link libraries

15 HAL Hardware abstraction layer

16 SRM Security reference monitor

18 SAS Secure attention sequence

19 GINA Graphical Identification and Authentication

23 TCSEC Trusted Computer System Evaluation Critiera

24 SAS Secure attention sequence

Trang 10

26 EFS Encrypting File System

27 SRM Security reference monitor

28 Lsass Local security authority subsystem

31 GINA Graphical Identification and Authentication

32 KSecDD Kernel Security Device Driver

33 SSPI Security Support Provider Interface

37 TGS Ticket Granting Service

38 AS Authentication Service

39 ASE Authentication Service Exchange

40 KAS Kerberos Authentication Service

Trang 11

LỜI NÓI ĐẦU

Ngày nay, việc sử dụng các thiết bị số đã trở nên rất phổ biến trong xã hộiloài người Hầu hết các thiết bị số, từ máy tính, mạng máy tính cho đến điệnthoại di động, các thiết bị số cá nhân đều sử dụng các bộ phần mềm điều khiểnquá trình hoạt động, đó chính là các hệ điều hành An toàn hệ điều hành là mộtnhu cầu tất yếu cần đặt ra và giải quyết trong quá trình khai thác, sử dụng cácthiết bị số đó

Như đã biết, hệ điều hành là tầng thấp nhất của phần mềm, cung cấp sựtruy cập đầy đủ tới phần cứng hệ thống, chịu trách nhiệm quản lý, cấp phát, chiasẻ và bảo vệ các tài nguyên Hệ điều hành thực hiện các chức năng chính nhưkiểm soát truy bộ nhớ ứng dụng, chịu trách nhiệm lập lịch cho CPU, kiểm soát

và cấp phát tài nguyên Do vậy, nếu hệ điều hành không hoàn thiện thì tính antoàn của hệ thống sẽ bị tổn thương ở mức độ cao, từ đó đặt ra yêu cầu an toàncủa một hệ thống máy tính phải được gắn liền với một hệ điều hành an toàn

Nội dung của giáo trình bao gồm:

- Chương 1 Tổng quan về hệ điều hành và an toàn hệ điều hành

Chương này trình bày một số nội dung khái quát về nguyên lý hệ điềuhành và an toàn hệ điều hành, gồm: Quản lý tiến trình, bộ nhớ, vào/ra; Các tiêuchí và mục tiêu an toàn, tính cần thiết của an toàn hệ điều hành, phân loại cácmức an toàn của hệ điều hành

- Chương 2 Nguyên lý an toàn hệ điều hành

Nội dung chương này đề cập đến các mô hình chung, vấn đề định danh vàxác thực, nguyên lý kiểm soát truy nhập, vấn đề bảo vệ bộ nhớ, chính sách antoàn và kiểm toán

- Chương 3 Cơ chế an toàn của hệ điều hành Windows

Chương này trình bày về cơ chế an toàn của hệ điều hành Windows baogồm các nội dung: Kiến trúc khối, phân hệ an toàn, cơ chế xác thực đăng nhập,

Trang 12

cơ chế kiểm soát truy nhập, cơ chế bảo vệ bộ nhớ, an toàn tập tin và các quyềnthư mục.

- Chương 4 Các hiểm họa đối với hệ điều hành

Các vấn đề được trình bày trong chương này gồm có: Các hình thức tấncông phổ biến vào hệ điều hành, các định danh của lỗ hổng trên hệ điều hành

- Chương 5 Các biện pháp bảo đảm an toàn cho hệ hệ điều hành

Chương 5 trình bày các biện pháp bảo đảm an toàn cho hệ điều hành nhưđịnh danh các lỗ hổng, quản lý và cập nhật các bản vá lỗi, thực thi bộ chính sách

an toàn,…

Các bài thực hành củng cố nội dung lý thuyết tại chương 4 và chương 5.Giáo trình được biên tập dựa trên các nguồn tài liệu tham khảo, chắc chắncòn rất nhiều khiếm khuyết về nội dung cũng như phương pháp thể hiện, chúngtôi rất mong nhận được những ý kiến đóng góp của đồng nghiệp và bạn đọc để

có thể hoàn chỉnh tiếp trong quá trình thực hiện

Hà Nội, tháng 9 năm 2013

Các tác giả

Trang 13

CHƯƠNG 1 TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN

LÝ AN TOÀN HỆ ĐIỀU HÀNH1.1 Tổng quan về nguyên lý hệ điều hành

1.1.1 Khái niệm và phân loại hệ điều hành

a Khái niệm 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ữangười sử dụng và phần cứng của máy tính Mục tiêu của hệ điều hành là cungcấp một môi trường để người sử dụng có thể thi hành các chương trình Nó làmcho máy tính dể sử dụng hơn, thuận lợi hơn và hiệu quả hơn

Hệ điều hành là một phần quan trọng của hầu hết các hệ thống máy tính.Một hệ thống máy tính thường được chia là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ình TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ

ĐIỀU HÀNH.1 Mô hình trừu tượng của hệ thống máy tính

Hệ điều hành có thể được coi như là bộ phân phối tài nguyên của máy

Trang 14

vùng lưu trữ tập tin, thiết bị nhập xuất v.v… được các chương trình yêu cầu đểgiải quyết vấn đề Hệ điều hành hoạt động như một bộ quản lý các tài nguyên vàphân phối chúng cho các chương trình và người sử dụng khi cần thiết Do có rấtnhiều yêu cầu, hệ điều hành phải giải quyết vấn đề tranh chấp và phảiquyết định cấp phát tài nguyên cho những yêu cầu theo thứ tự nào để hoạt độngcủa máy tính là hiệu quả nhất Một hệ điều hành cũng có thể được coi như là mộtchương trình kiểm soát việc sử dụng máy tính, đặc biệt là các thiết bị nhập xuất.

Tuy nhiên, nhìn chung chưa có định nghĩa nào là hoàn hảo về hệ điềuhành Hệ điều hành tồn tại để giải quyết các vấn đề sử dụng hệ thống máy tính.Mục tiêu cơ bản của nó là giúp cho việc thi hành các chương trình dễ dàng hơn.Mục tiêu thứ hai là hỗ trợ cho các thao tác trên hệ thống máy tính hiệu quả hơn.Mục tiêu này đặc biệt quan trọng trong những hệ thống nhiều người dùng vàtrong những hệ thống lớn(phần cứng + quy mô sử dụng) Tuy nhiên hai mục tiêunày cũng có phần tương phản vì vậy lý thuyết về hệ điều hành tập trung vào việctối ưu hóa việc sử dụng tài nguyên của máy tính

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

Có nhiều nguyên tắc phân loại hệ điều hành như phân loại dựa vào loạimáy tính; dựa vào hình thức xử lý; dựa vào số người dùng và số chương trìnhđược sử dụng cùng lúc Theo cách phân loại dựa vào hình thức xử lý, có các loại

hệ điều hành sau:

 Hệ thống xử lý theo lô đa chương

Khi có nhiều công việc cùng truy xuất lên thiết bị, vấn đề lập lịch cho cáccông việc là cần thiết Khía cạnh quan trọng nhất trong việc lập lịch là khả năng

đa chương Đ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

Ý tưởng như sau: hệ điều hành lưu giữ một phần của các công việc ở nơilưu trữ trong bộ nhớ CPU sẽ lần lượt thực hiện các phần công việc này.Khi đang thực hiện, nếu có yêu cầu truy xuất thiết bị thì CPU không nghỉ mà

Trang 15

Với hệ đa chương hệ điều hành ra quyết định cho người sử dụng vìvậy, hệ điều hành đa chương rất tinh vi Hệ phải xử lý các vấn đề lập lịch chocông việc, lập lịch cho bộ nhớ và cho cả CPU nữa.

 Hệ thống chia sẻthời gian

Hệ thống chia sẻthời gian là một mở rộng logic của hệ đa chương Hệthống này còn được gọi là hệ thống đa nhiệm (multitasking) Nhiều công việccùngđược thực hiện thông qua cơ chế chuyển đổi của CPU như hệ đa chươngnhưng thời gian mỗi lần chuyển đổi diễn ra rất nhanh

Hệ thống chia sẻđược phát triển để cung cấp việc sử dụng bên trong củamột máy tính có giá trị hơn Hệ điều hành chia sẻthời gian dùng lập lịch CPU

và đa chương để cung cấp cho mỗi người sử dụng một phần nhỏ trong máy tínhchia xẻ Một chương trình khi thi hành được gọi là một tiến trình Trong quátrình thi hành của một tiến trình, nó phải thực hiện các thao tác nhập xuất vàtrong khoảng thời gian đó CPU sẽ thi hành một tiến trình khác Hệ điều hànhchia sẻcho phép nhiều người sử dụng chia sẻmáy tính một cách đồng bộ do thờigian chuyển đổi nhanh nên họ có cảm giác là các tiến trình đang được thi hànhcùng lúc

Hệ điều hành chia sẻphức tạp hơn hệ điều hành đa chương Nó phải có cácchức năng: quản trị và bảo vệ bộ nhớ, sử dụng bộ nhớ ảo Nó cũng cung cấp hệthống tập tin truy xuất on-line…

Hệ điều hành chia sẻlà kiểu của các hệ điều hành hiện đại ngày nay

Trang 16

theođúng tỉ lệ thời gian, nghĩa là có n bộ xử lý không có nghĩa là sẽ thực hiệnnhanh hơn n lần.

Hệ thống với máy nhiều bộ xử lý sẽ tối ưu hơn hệ thống có nhiều máy cómột bộ xử lý vì các bộ xử lý chia sẻcác thiết bị ngoại vi, hệ thống lưu trữ, nguồn

… và rất thuận tiện cho nhiều chương trình cùng làm việc trên cùng một tập hợp

dữ liệu

Một lý do nữa là độ tin cậy Các chức năng được xử lý trên nhiều bộ xử lý

và sự hỏng hóc của một bộ xử lý sẽ không ảnh hưởng đến toàn bộ hệ thống

Hệ thống đa xử lý thông thường sử dụng cách đa xử lý đối xứng, trongcách này 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 saonày liên lạc với nhau khi cần thiết Một số hệ thống sử dụng đa xử lý bất đốixứng, trong đó 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 Mô hình này theodạng quan hệ chủ tớ Bộ xử lý chính sẽ lập lịch cho các bộ xử lý khác

Một ví dụ về hệ thống xử lý đối xứng là phiên bản Encore của UNIX chomáy tính Multimax Hệ thống này có rất nhiều bộ xử lý Ưu điểm của nó là nhiềutiến trình có thể thực hiện cùng lúc Một hệ thống đa xử lý cho phép nhiều côngviệc và tài nguyên được chia sẻ tự động trong những bộ xử lý khác nhau

Hệ thống đa xử lý không đồng bộ thường xuất hiện trong những hệ thốnglớn, trong đó hầu hết thời gian hoạt động đều dành cho xử lý nhập xuất

 Hệ thống phân tán

Hệ thống này cũng tương tự như hệ thống chia sẻthời gian nhưng các bộ

xử lý không chia sẻbộ nhớ và đồng hồ, thay vào đó 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

Các bộ xử lý trong hệ phân tán thường khác nhau về kích thước và chứcnăng Nó có thể bao gồm máy vi tính, trạm làm việc, máy mini, và những hệ

Trang 17

thống máy lớn Các bộ xử lý thường được tham khảo với nhiều tên khác nhaunhư site, node, computer v.v tùy thuộc vào trạng thái làm việc của chúng.

Các nguyên nhân phải xây dựng hệ thống phân tán là:

- Chia sẻtài nguyên: Một người sử dụng A có thể sử dụng máy in laser củangười sử dụng B và người sử dụng B có thể truy xuất những tập tin của A Tổngquát, chia sẻtài nguyên trong hệ thống phân tán cung cấp một cơ chế để chiasẻtập tin ở vị trí xa, xử lý thông tin trong một cơ sở dữ liệu phân tán, in ấn tạimột vị trí xa, sử dụng những thiết bị ở xa đểõ thực hiện các thao tác

- Tăng tốc độ tính toán: Một thao tác tính toán được chia làm nhiều phầnnhỏ cùng thực hiện một lúc Hệ thống phân tán cho phép phân chia việc tính toántrên nhiều vị trí khác nhau để tính toán song song

- An toàn: Nếu một vị trí trong hệ thống phân tán bị hỏng, các vị trí khácvẫn tiếp tục làm việc

- Thông tin liên lạc với nhau: Có nhiều lúc, chương trình cần chuyển đổi

dữ liệu từ vị trí này sang vị trí khác Ví dụ trong hệ thống Windows, thường có

sự chia sẻvà chuyển dữ liệu giữa các cửa sổ Khi các vị trí được nối kết với nhautrong một hệ thống mạng, việc trao đổi dữ liệu diễn ra rất dễ Người sử dụng cóthể chuyển tập tin hay các Email cho nhau từ cùng vị trí hay những vị trí khác

 Hệ thống xử lý thời gian thực

Hệ thống xử lý thời gian thực được sử dụng khi có những đòi hỏi khắt khe

về thời gian trên các thao tác của bộ xử lý hoặc dòng dữ liệu, nó thường đượcdùng điều khiển các thiết bị trong các ứng dụng tận hiến (dedicated) Máy tínhphân tích dữ liệu và có thể chỉnh các điều khiển giải quyết cho dữ liệu nhập

Một 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 Hệ thống phải cho kết quả chính xác trong khoảng thời gian bị thúcép nhanh nhất Có hai hệ thống xử lý thời gian thực là hệ thống thời gian thựccứng và hệ thống thời gian thực mềm

Trang 18

Hệ thống thời gian thực cứng là công việc được hoàn tất đúng lúc Lúc đó

dữ liệu thường được lưu trong bộ nhớ ngắn hạn hay trong ROM Việc xử lý theothời gian thực sẽ xung đột với tất cả hệ thống liệt kê ở trên

Dạng thứ hai là hệ thống thời gian thực mềm, mỗi công việc có một độ ưutiên riêng và sẽ được thi hành theo độ ưu tiên đó Có một số lĩnh vực áp dụnghữu hiệu phương pháp này là multimedia hay thực tại ảo

1.1.2 Tiến trình trong hệ điều hành

Khái niệm tiến trình gắn liền với các hệ điều hành đa chương trình Để hỗtrợ sự đa chương, máy tính phải có khả năng thực hiện nhiều tác vụ đồng thời.Nhưng việc điều khiển nhiều hoạt động song song ở cấp độ phần cứng là rất khókhăn Vì thế các nhà thiết kế hệ điều hành đề xuất một mô hình song song gỉalặp bằng cách chuyển đổi bộ xử lý qua lại giữa các chương trình để duy trìhoạt động của nhiều chương trình cùng lúc, điều này tạo cảm giác có nhiềuhoạt động được thực hiện đồng thời

Trong mô hình này, tất cả các phần mềm trong hệ thống được tổ chứcthành một số những tiến trình Tiến trình là một chương trình đang xử lý, sở hữumột con trỏ lệnh, tập các thanh ghi và các biến Để hoàn thành tác vụ của mình,một tiến trình có thể cần đến một số tài nguyên – như CPU, bộ nhớ chính, cáctập tin và thiết bị nhập/xuất

Cần phân biệt hai khái niệm chương trình và tiến trình Một chương trình

là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hànhmột tác vụ nào đó; khi cho thực hiện các chỉ thị này, chương trình chuyển thànhtiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽthi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình

Về mặt ý niệm, có thể xem như mỗi tiến trình sỡ hữu một bộ xử lý ảo choriêng nó, nhưng trong thực tế, chỉ có một bộ xử lý thật sự được chuyển đổi qualại giữa các tiến trình Sự chuyển đổi nhanh chóng này được gọi là sự đachương (multiprogramming) Hệ điều hành chịu trách nhiệm sử dụng một thuậttoán điều phối để quyết định thời điểm cần dừng hoạt động của tiến trình đang

Trang 19

xử lý để phục vụ một tiến trình khác, và lựa chọn tiến trình tiếp theo sẽ đượcphục vụ Bộ phận thực hiện chức năng này của hệ điều hành được gọi là bộ điềuphối (scheduler).

Hình TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ

ĐIỀU HÀNH.2 Tiến trình và đa chươngTrạng thái của tiến trình tại một thời điểm được xác định bởi hoạt độnghiện thời của tiến trình tại thời điểm đó Trong quá trình sống, một tiến trìnhthay đổi trạng thái do nhiều nguyên nhân như: phải chờ một sự kiện nào đó xảy

ra, hay đợi một thao tác nhập/xuất hoàn tất, buộc phải dừng hoạt động do đã hếtthời gian xử lý

Tại một thời điểm, một tiến trình có thể nhận trong một các trạng tháisau đây :

 Mới tạo: tiến trình đang được tạo lập

 Running: các chỉ thị của tiến trình đang được xử lý

 Blocked: tiến trình chờ được cấp phát một tài nguyên, hay chờ một sựkiện xảy ra

 Ready: tiến trình chờ được cấp phát CPU để xử lý

 Kết thúc: tiến trình hoàn tất xử lý

Trang 20

Hình TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ

ĐIỀU HÀNH.3 Sơ đồ chuyển điều khiển giữa các tiến trình

Tại một thời điểm, chỉ có một tiến trình có thể nhận trạng thái running trên một bộ xử lý bất kỳ Trong khi đó, nhiều tiến trình có thể ở trạng thái blocked hay ready.

Các cung chuyển tiếp trong sơ đồ trạng thái biễu diễn sáu sự chuyển trạngthái có thể xảy ra trong các điều kiện sau :

 Tiến trình mới tạo được đưa vào hệ thống

 Bộ điều phối cấp phát cho tiến trình một khoảng thời gian sử dụngCPU

 Tiến trình kết thúc

 Tiến trình yêu cầu một tài nguyên nhưng chưa được đáp ứng vì tàinguyên chưa sẵn sàng để cấp phát tại thời điểm đó ; hoặc tiến trìnhphải chờ một sự kiện hay thao tác nhập/xuất

 Bộ điều phối chọn một tiến trình khác để cho xử lý

 Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát ; hay sựkiện hoặc thao tác nhập/xuất tiến trình đang đợi hoàn tất

Liên quan đến tiến trình còn có các vấn đề khác như: các chế độ xử lý củatiến trình; cấu trúc dữ liệu của khối quản lý tiến trình; các thao tác lên tiển trình;

Trang 21

cấp phát tài nguyên cho tiến trình; điều phối tiến trình; liên lạc giữa các tiếntrình,…

1.1.3 Quản lý bộ nhớ trong

Bộ nhớ trong là thiết bị để thông qua đó CPU có thể trao đổi thông tin vớimôi trường ngoài, do vậy nhu cầu tổ chức, quản lý bộ nhớ là một trong nhữngnhiệm vụ quan trọng của hệ điều hành Bộ nhớ trong được tổ chức như mộtmảng một chiều các từ nhớ (word), mỗi từ nhớ có một địa chỉ Việc trao đổithông tin với môi trường ngoài được thực hiện thông qua các thao tác đọc hoặcghi dữ liệu vào một địa chỉ cụ thể nào đó trong bộ nhớ

Hầu hết các hệ điều hành hiện đại đều cho phép chế độ đa nhiệm nhằmnâng cao hiệu suất sử dụng CPU Tuy nhiên kỹ thuật này lại làm nảy sinh nhucầu chia sẻ bộ nhớ giữa các tiến trình khác nhau, vì bộ nhớ thì hữu hạn và cácyêu cầu bộ nhớ thì vô hạn

Hệ điều hành chịu trách nhiệm cấp phát vùng nhớ cho các tiến trình có yêucầu Để thực hiện tốt nhiệm vụ này, hệ điều hành cần phải xem xét nhiều khíacạnh:

 Sự tương ứng giữa địa chỉ logic và địa chỉ vật lý (physic): làm cáchnào để chuyển đổi một địa chỉ tượng trưng (symbolic) trong chươngtrình thành một địa chỉ thực trong bộ nhớ chính;

 Quản lý bộ nhớ vật lý: làm cách nào để mở rộng bộ nhớ có sẵn nhằmlưu trữ được nhiều tiến trình đồng thời;

 Chia sẻ thông tin: làm thế nào để cho phép hai tiến trình có thể chia sẻthông tin trong bộ nhớ;

 Bảo vệ: làm thế nào để ngăn chặn các tiến trình xâm phạm đến vùngnhớ được cấp phát cho tiến trình khác

Trang 22

a Hàng đợi

Thông thường, một chương trình được lưu trữ trên đĩa như một tập tin nhị

phân có thể xử lý Để thực hiện chương trình, cần nạp chương trình vào bộ nhớ

trong, tạo lập tiến trình tương ứng để xử lý Tại một thời điểm, không thể nạp tất

cả các chương trình cùng lúc vào bộ nhớ trong mà phải thông qua một cơ chế,

gọi là hàng đợi (hay còn gọi là hàng đợi nhập hệ thống): là tập hợp các chương

trình trên đĩa đang chờ được nạp vào bộ nhớ trong để tiến hành xử lý

Các địa chỉ trong chương trình nguồn là địa chỉ tượng trưng, vì thế, một

chương trình phải trải qua nhiều giai đoạn xử lý để chuyển đổi các địa chỉ này

thành các địa chỉ tuyệt đối trong bộ nhớ trong

Có thể thực hiện kết buộc các chỉ thị và dữ liệu với các địa chỉ bộ nhớ vào

một trong những thời điểm sau:

 Thời điểm biên dịch: nếu tại thời điểm biên dịch, có thể biết vị trí mà

tiến trình sẽ thường trú trong bộ nhớ, trình biên dịch có thể phát sinh ngay mã

với các địa chỉ tuyệt đối Tuy nhiên, nếu về sau có sự thay đổi vị trí thường trú

lúc đầu của chương trình, cần phải biên dịch lại chương trình

Thời điểm nạp:nếu tại thờibiên dịch, chưa thểbiết vị trí mà tiếntrình sẽ thường trútrong bộ nhớ, trìnhbiên dịch cần phátsinh mã tươngđối(translatable) Sự liênkết địa chỉ được trìhoãn đến thời điểmchương trình

Trang 23

toán lại các địa chỉtuyệt đối, mà khôngcần biên dịch lại.

 Thời điểm xử lý: nếu có nhu cầu di chuyển tiến trình từ vùng nhớ này

sang vùng nhớ khác trong quá trình tiến trình xử lý, thì thời điểm kết buộc địa

chỉ phải trì hoãn đến tận thời điểm xử lý Để thực hiện kết buộc địa chỉ vào

thời điểm xử lý, cần sử dụng cơ chế phần cứng đặc biệt

b Không gian địa chỉ và không gian vật lý

Khái niệm không gian địa chỉ được xây dựng trên không gian nhớ vật lý,

việc tách rời hai không gian này giúp hệ điều hành dễ dàng xây dựng các cơ chế

và chiến lược quản lý bộ nhớ hiệu quả:

- Địa chỉ logic (còn gọi là địa chỉ ảo): là tất cả các địa chỉ do bộ xử lý tạo

Trang 24

- Không gian vật lý: là tập hợp tất cả các địa chỉ vật lý tương ứng vớicác địa chỉ ảo.

Địa chỉ ảo và địa chỉ vật lý là như nhau trong phương thức kết buộc địa chỉvào thời điểm biên dịch cũng như vào thời điểm nạp Nhưng có sự khác biệtgiữa địa chỉ ảo và địa chỉ vật lý trong phương thức kết buộc vào thời điểm xử lý

Chương trình của người sử dụng chỉ thao tác trên các địa chỉ ảo, khôngbao giờ nhìn thấy các địa chỉ vật lý Địa chỉ thật sự ứng với vị trí của dữ liệutrong bộ nhớ chỉ được xác định khi thực hiện truy xuất đến dữ liệu, việc nàyđược thực hiện thông qua MMU (memory-management unit) - là một cơ chếphần cứng được sử dụng để thực hiện chuyển đổi địa chỉ ảo thành địa chỉ vật lývào thời điểm xử lý

Để cấp phát vùng nhớ cho các tiến trình, các hệ điều hành sử dụng hai cơchế là cấp phát liên tục và cấp phát không liên tục

1.1.4 Quản lý vào/ra

Một trong những chức năng chính của hệ điều hành là quản lý tất cảnhững thiết bị vào/ra của máy tính Hệ điều hành phải ra các chỉ thị điều khiểnthiết bị, kiểm soát các ngắt và lỗi Hệ điều hành phải cung cấp giao tiếp và đơngiản hóa giao tiếp giữa các thiết bị và phần còn lại của hệ thống và giao tiếp nàyphải độc lập với thiết bị

Hệ thống quản lý vào/ra được tổ chức theo từng lớp, mỗi lớp có một chứcnăng nhất định và các lớp có giao tiếp với nhau như bảng sau:

Xử lý của người dùng Tạo lời gọi nhập/xuất, định dạng nhập/xuất

Phần mềm độc lập thiết bị Đặt tên, bảo vệ, tổ chức khối, bộ đệm, định vịĐiều khiển thiết bị Thiết lập thanh ghi thiết bị, kiểm tra trạng tháiKiểm soát ngắt Báo cho driver khi nhập/xuất hoàn tất

Phần cứng Thực hiện thao tác nhập/xuất

Trang 25

Bảng TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ

ĐIỀU HÀNH.1 Các lớp của hệ thống vào ra

Ví dụ: Trong một chương trình ứng dụng, người dùng muốn đọc một khối

từ một tập tin, hệ điều hành được kích hoạtđể thực hiện yêu cầu này Phầnmềmđộc lập thiết bị tìm kiếm trong bộ nhớ cache, nếu khối cần đọc không cósẵn, nó sẽ gọi chương trình điều khiển thiết bị gửi yêu cầuđến phầncứng Tiếntrình bị ngưng lại chođến khi thao tác đĩa hoàn tất Khi thao tác này hoàn tất,phần cứng phát sinh một ngắt Bộ phận kiểm soát ngắt kiểm tra biến cố này, ghinhận trạng thái của thiết bị và đánh thức tiến trình bị ngưng để chấm dứt yêu cầuI/O và cho tiến trình của người sử dụng tiếp tục thực hiện

Để thực hiện các chức năng vào/ra, các hệ điều hành sử dụng kết hợp giữaphần cứng vào/ra và phần mềm vào/ra

1.1.5 Hệ thống quản lý tập tin

Trong hầu hết các ứng dụng, tập tin là thành phần chủ yếu Cho dù mụctiêu của ứng dụng là gì nó cũng phải bao gồm phát sinh và sử dụng thông tin.Thông thường đầu vào của các ứng dụng là tập tin và đầu ra cũng là tập tin choviệc truy xuất của người sử dụng và các chương trình khác sau này Các tậptin được quản lý bởi hệ điều hành với cơ chế gọi là hệ thống quản lý tập tin Baogồm: cách hiển thị, các yếu tố cấu thành tập tin, cách đặt tên, cách truy xuất,cách sử dụng và bảo vệ tập tin, các thao tác trên tập tin Cách tổ chức thư mục,các đặc tính và các thao tác trên thư mục

a Các khái niệm cơ bản

Tập tin: Tập tin là đơn vị lưu trữ thông tin của bộ nhớ ngoài Các tiến trình

có thể đọc hay tạo mới tập tin nếu cần thiết Thông tin trên tập tin là vững bềnkhông bị ảnh hưởng bởi các xử lý tạo hay kết thúc các tiến trình, chỉ mất đi khingười dùng thật sự muốn xóa Tập tin được quản lý bởi hệ điều hành

Thư mục: Các tập tin được quản lý bởi hệ điều hành với cơ chế gọi là hệthống quản lý tập tin Bao gồm: cách hiển thị, các yếu tố cấu thành tập tin,

Trang 26

cách đặt tên, cách truy xuất, cách sử dụng và bảo vệ tập tin, các thao tác trên tậptin Cách tổ chức thư mục, các đặc tính và các thao tác trên thư mục.

b Tổ chức và quản lý các tập tin và thư mục

 Tên tập tin:

Khi tiến trình tạo một tập tin, nó sẽ đặt một tên, khi tiến trình kết thúc tậptin vẫn tồn tại và có thể được truy xuất bởi các tiến trình khác với tên tập tin đó.Cách đặt tên tập tin của mỗi hệ điều hành là khác nhau, đa số các hệ điều hànhcho phép sử dụng 8 chữ cái để đặt tên tập, thường thường thì các ký tự số và ký

tự đặc biệt cũng được sử dụng

 Thuộc tính của tập tin:

Bảo vệ Ai có thể truy xuất được và bằng cách nào

Mật khẩu Mật khẩu cần thiết để truy xuất tập tin

Người tạo Id của người tạo tập tin

Người sở hữu Người sở hữu hiện tại

Chỉ đọc 0 là đọc ghi, 1 là chỉ đọc

Ẩn 0 là bình thường, 1 là không hiển thị khi liệt kê

Hệ thống 0 là bình thường, 1 là tập tin hệ thống

Lưu trữ 0 đã đuợc backup, 1 cần backup

ASCII/binary 0 là tập tin văn bản, 1 là tập tin nhị phân

Truy xuất ngẫu nhiên 0 truy xuất tuần tự, 1 là truy xuất ngẫu nhiênTemp 0 là bình thường, 1 là bị xóa khi tiến trình kết

thúcKhóa 0 là không khóa, khác 0 là khóa

Độ dài của record Số byte trong một record

Vị trí khóa Offset của khóa trong mỗi record

Giờ tạo Ngày và giờ tạo tập tin

Trang 27

Thời gian thay đổi cuối

cùng

Ngày và giờ thay đổi tập tin gần nhất

Kích thước hiện thời Số byte của tập tin

Kích thước tối đa Số byte tối đa của tập tin

Bảng TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ

ĐIỀU HÀNH.2 Một số thuộc tính cơ bản của tập tin

 Hệ thống thư mục theo cấp bậc:

Một thư mục thường thường chứa một số entry, mỗi entry cho một tập tin.

Mỗi entry chứa tên tập tin, thuộc tính và địa chỉ trên đĩa lưu dữ liệu hoặc mộtentry chỉ chứa tên tập tin và một con trỏ, trỏ tới một cấu trúc, trên đó có thuộctính và vị trí lưu trữ của tập tin

Khi một tập tin được mở, hệ điều hành tìm trên thư mục của nó cho tới khitìm thấy tên của tập tin được mở Sau đó nó sẽ xác định thuộc tính cũng như địachỉ lưu trữ trên đĩa và đưa vào một bảng trong bộ nhớ Những truy xuất sau đóthực hiện trong bộ nhớ chính

Số lượng thư mục trên mỗi hệ thống là khác nhau Thiết kế đơn giản nhất

là hệ thống chỉ có thư mục đơn (còn gọi là thư mục một cấp), chứa tất cả các tậptin của tất cả người dùng, cách này dễ tổ chức và khai thác nhưng cũng dễ gây rakhó khăn khi có nhiều người sử dụng vì sẽ có nhiều tập tin trùng tên Ngay cảtrong trường hợp chỉ có một người sử dụng, nếu có nhiều tập tin thì việc đặt têncho một tập tin mới không trùng lắp là một vấn đề khó

Cách thứ hai là có một thư mục gốc và trong đó có nhiều thư mục con,trong mỗi thư mục con chứa tập tin của người sử dụng (còn gọi là thư mục haicấp), cách này tránh được trường hợp xung đột tên nhưng cũng còn khó khăn vớingười dùng có nhiều tập tin Người sử dụng luôn muốn nhóm các ứng dụng lạimột cách logic

Trang 28

Từ đó, hệ thống thư mục theo cấp bậc (còn gọi là cây thư mục) được hìnhthành với mô hình một thư mục có thể chứa tập tin hoặc một thư mục con và cứtiếp tục như vậy hình thành cây thư mục như trong các hệ điều hành DOS,Windows,…

c Các thao tác trên tập tin và thư mục

- Mở: trước khi sử dụng một tập tin, tiến trình phải mở nó Mục tiêu của

mở là cho phép hệ thống thiết lập một số thuộc tính và địa chỉ đĩa trong bộ nhớ

để tăng tốc độ truy xuất

- Đóng: khi chấm dứt truy xuất, thuộc tính và địa chỉ trên đĩa không cầndùng nữa, tập tin được đóng lại để giải phóng vùng nhớ Một số hệ thống hạnchế tối đa số tập tin mở trong một tiến trình

- Đọc: đọc dữ liệu từ tập tin tại vị trí hiện thời của đầu đọc, nơi gọi sẽ chobiết cần bao nhiêu dữ liệu và vị trí của buffer lưu trữ nó

- Ghi: ghi dữ liệu lên tập tin từ vị trí hiện thời của đầu đọc Nếu là cuối tậptin, kích thước tập tin sẽ tăng lên, nếu đang ở giữa tập tin, dữ liệu sẽ bị ghi chồnglên

- Thêm: gần giống như WRITE nhưng dữ liệu luôn được ghi vào cuối tậptin

- Tìm: dùng để truy xuất tập tin ngẫu nhiên Khi xuất hiện lời gọi hệ thống,

vị trí con trỏ đang ở vị trí hiện hành được di chuyển tới vị trí cần thiết Sau đó dữliệu sẽ được đọc ghi tại vị trí này

Trang 29

- Lấy thuộc tính: lấy thuộc tính của tập tin cho tiến trình

- Thiết lập thuộc tính: thay đổi thuộc tính của tập tin sau một thời gian sửdụng

- Đổi tên: thay đổi tên của tập tin đã tồn tại

 Thư mục:

- Tạo: một thư mục được tạo, nó rỗng

- Xóa: xoá một thư mục

- Mở thư mục: thư mục có thể được đọc Ví dụ để liệt kê tất cả tập tintrong một thư mục, chương trình liệt kê mở thư mục và đọc ra tên của tất cả tậptin chứa trong đó Trước khi thư mục được đọc, nó phải được mở ra trước

- Đóng thư mục: khi một thư mục đã được đọc xong, phải đóng thưmục để giải phóng vùng nhớ

- Đọc thư mục: lệnh này trả về entry tiếp theo trong thư mục đã mở Thôngthường có thể đọc thư mục bằng lời gọi hệ thống READ, lệnh đọc thư mục luônluôn trả về một entry dưới dạng chuẩn

- Đổi tên: cũng như tập tin, thư mục cũng có thể được đổi tên

- Liên kết : kỹ thuật này cho phép một tập tin có thể xuất hiện trong nhiềuthư mục khác nhau Khi có yêu cầu, một liên kết sẽ được tạo giữa tập tin và mộtđường dẫn được cung cấp

- Bỏ liên kết: nếu tập tin chỉ còn liên kết với một thư mục, nó sẽ bị loại bỏhoàn toàn khỏi hệ thống, nếu nhiều thì nó bị giảm chỉ số liên kết

Trang 30

không thể thay đổi trạng thái của nó một cách vô thời hạn vì yêu cầu tài nguyêncủa nó đang được sử dụng bởi một tiến trình chờ đợi Khi đó hệ thống bị cho là

- Sử dụng tài nguyên: Tiến trình quản lý và sử dụng tài nguyên đã đượccấp phát

- Giải phóng tài nguyên: Tiến trình thực hiện giải phóng (trả) tài nguyênkhi sử dụng xong

Bế tắc là một vấn đề phổ biến trong các hệ thống đa xử lý, tính toán songsong và hệ thống phân tán, trong đó phần mềm và phần cứng được sử dụng để xử

lý các tài nguyên chia sẻ và thực hiện đồng bộ hóa,

Ví dụ, một máy tính có ba ổ đĩa CD và ba tiến trình Mỗi tiến trình đang

sử dụng một trong các ổ đĩa CD đó Nếu bây giờ mỗi tiến trình yêu cầu sử dụng

ổ đĩa khác thì ba tiến trình sẽ rơi vào một trạng thái bế tắc, vì mỗi tiến trình đangchờ đợi sự kiện giải phóng ổ đĩa CD, mà điều đó chỉ có thể thực hiện bởi mộttrong những tiến trình đang chờ đợi khác, kết quả là trong một chuỗi vòng tròn

Trang 31

Hình TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ

ĐIỀU HÀNH.4 Ví dụ về deadlock giữa hai tiến trìnhHình 1.4 cho thấy cả hai tiến trình P1, P2 đều cần nguồn lực (tài nguyên)

để tiếp tục thực hiện P1 yêu cầu thêm nguồn R1 và đang sở hữu nguồn tàinguyên R2, P2 yêu cầu thêm nguồn R2 và là sở hữu của R1, kếu quả là khôngtiến trình nào có thể tiếp tục

1.2 Tổng quan về an toàn hệ điều hành

1.2.1 Các tiêu chí và mục tiêu an toàn

Một tiêu chí an toàn xác định các hoạt động có thể thực thi bởi một hệthống trong khi vẫn ngăn chặn được các truy nhập không được cấp quyền (cáctruy nhập trái phép) Một tiêu chí an toàn định nghĩa một yêu cầu mà thiết kế của

hệ thống có thể thỏa mãn

Các mục tiêu an toàn mô tả cách thức hệ thống cài đặt các quyền truy nhậptới tài nguyên của hệ thống sao cho thỏa mãn các điều sau: bí mật, toàn vẹn, vàtính sẵn sàng Một truy nhập tới hệ thống được phát biểu theo cách truyền thốngtrong các thuật ngữ với các chủ thể (các tiến trình, người dùng, ) có thể thực thivới các hành động (đọc, ghi, ) trên những đối tượng (tập tin, thư mục, ) Cácyêu cầu về bí mật giới hạn các đối tượng mà mỗi một chủ thể có thể đọc bởi vìcác đối tượng có thể chứa các bí mật mà không phải tất các các chủ thể được cấp

Trang 32

các đối tượng mà các chủ thể có thể ghi bởi vì các đối tượng có thể chứa thôngtin và các chủ thể khác dựa trên đó để thực thi các hành động đúng đắn của họ.Một số chủ thể có thể không tin cậy để sửa đổi những đối tượng đó Các yêu cầu

về tính sẵn sàng giới hạn các tài nguyên của hệ thống (bộ lưu trữ, CPU,…) màcác chủ thể có thể tiêu tốn bởi vì chúng có thể làm cạn kiệt các tài nguyên này

Nhiệm vụ của các nhà phát triển hệ điều hành an toàn là định nghĩa cáctiêu chí an toàn mà bản thân nó có thể được hệ thống thực hiện, vì vậy các tiêuchí an toàn dựa trên chức năng là không đủ Mặt khác, các mục tiêu bí mật vàtoàn vẹn thường ngăn chặn các chức năng khác vì tiêu chí an toàn, chúng có thể

là “quá chặt” và hạn chế tính năng của một số phần mềm Trong quá khứ, các hệđiều hành đạt được tiêu chí về tính bí mật và toàn vẹn dữ liệu thường khôngđược sử dụng rộng rãi bởi vì chúng ngăn cấm sự thực thi của quá nhiều ứng dụng(hoặc đơn giản là thiếu các ứng dụng phổ biến chạy trên hệ điều hành đó) Cáccông nghệ mới, ví dụ như công nghệ máy ảo, cho phép nhiều hệ thống phầnmềm thương mại có thể được thực thi và được tách biệt trên cùng một hệ thốngphần cứng Vì thế, phần mềm có thể được sử dụng để được chạy trên cùng một

hệ thống, nhưng chạy tách biệt nhau, trên các hệ thống ảo riêng biệt trên cơ sởchia sẻ phần cứng hệ thống

1.2.2 Định nghĩa hệ điều hành an toàn

An toàn hệ điều hành là quá trình bảo đảm tính toàn vẹn, bảo mật và sẵnsàng An toàn hệ điều hành đề cập chi tiết đến các bước hoặc biện pháp được sửdụng để bảo vệ hệ điều hành trước các mối đe dọa (mã độc hại, các tấn công từxa,…) An toàn hệ điều hành bao gồm tất cả các kỹ thuật kiểm soát, phòng ngừa,bảo vệ bất kỳ nguồn tài sản nào của máy tính có khả năng bị đánh cắp, chỉnh sửahoặc xóa nếu tính an toàn của hệ điều hành bị tổn thương

1.2.3 Tính cần thiết của an toàn hệ điều hành

An toàn là rất cần thiết vì các hệ thống máy tính và mạng lưu giữ rất nhiềuthông tin và tài nguyên khác nhau Ví dụ, khi người dùng sử dụng thẻ tín dụng đểmua hàng qua internet thì phải cần đến nhà cung cấp dịch vụ internet cung cấp

Trang 33

một kênh an toàn để thực hiện giao dịch và bảo đảm tất cả những thông tin cungcấp không bị lộ; phòng nhân sự của một công ty luôn phải bảo đảm bí mật nhữngthông tin nhạy cảm của nhân viên trong công ty Đây chỉ là những ví dụ lý giảitại sao an toàn hệ điều hành và an toàn mạng là cần thiết Mục đích của an toàn

có thể được chia thành các nhóm sau:

a Bảo vệ thông tin và tài nguyên

Các hệ thống máy tính lưu giữ rất nhiều thông tin và tài nguyên cần đượcbảo vệ Trong một công ty, những thông tin và tài nguyên này có thể là dữ liệu kếtoán, thông tin nguồn nhân lực, thông tin quản lý, bán hàng, nghiên cứu, sángchế, phân phối, thông tin về nhà máy và thông tin về các hệ thống nghiên cứu.Đối với rất nhiều công ty, toàn bộ dữ liệu quan trọng của họ thường được lưutrong một cơ sở dữ liệu và được quản lý và sử dụng bởi một chương trình phầnmềm Các tấn công vào hệ thống có thể xuất phát từ những đối thủ kinh doanh,khách hàng, những nhân viên biến chất, …

Các hệ thống máy tính ở các trung tâm đào tạo lưu giữ tất cả các loại tàinguyên, đôi khi chúng được chia thành 2 nhóm là nhóm tính toán và nhóm quảntrị Những tài nguyên tính toán bao gồm cơ sở dữ liệu nghiên cứu, các máy tính

và phần mềm trong các phòng thực hành, thông tin về lớp học và các bài luận vàcác máy tính dùng cho các dự án công nghệ cao Những tài nguyên quản trị baogồm thông tin về sinh viên, hồ sơ đăng ký, các hệ thống kế toán và nguồn nhânlực, các hệ thống quản lý quỹ, phần mềm quản lý việc cấp phép và các hệ thốngphát triển Các tấn công vào các trung tâm đào tạo có thể xuất phát từ bên tronghoặc bên ngoài Ví dụ, ở một trung tâm đào tạo, một giám đốc kinh doanh đã tấncông các hệ thống để bí mật biển thủ hàng nghìn đô la Ở một trung tâm khác,một nhân viên bảo vệ khoa công nghệ thông tin đã thường xuyên xâm nhập các

hệ thống thông qua các máy tính sơ ý bỏ lại trong trạng thái đăng nhập trong cácphòng của các lập trình viên ứng dụng và hệ thống

Mỗi quốc gia sở hữu một số lượng máy tính và tài nguyên thông tin điện

Trang 34

đó, các phương pháp để bảo đảm an toàn cho những thông tin này có thể rấtphức tạp và nhạy cảm Các tấn công có thể xuất phát từ nhiều nguồn khác nhau,

cả từ bên trong và bên ngoài quốc gia Tất nhiên, hậu quả mà những tấn côngthành công để lại sẽ rất nghiêm trọng

Những người dùng máy tính là một nhóm rất lớn lưu giữ nhiều thông tinquan trọng cần được bảo vệ Ví dụ, có trên 15 triệu người dùng sử dụng máy tính

để thông tin liên lạc ở Mỹ Tất cả những người dùng này lưu dữ, tải lên hoặc tảixuống những thông tin như những tài liệu văn bản, đồ hoạ và bảng tính, ở mộtkhía cạnh nào đó, những thông tin này lại thuộc quyền sở hữu của các tổ chức

mà họ đang làm việc Những thông tin trên máy tính cũng bao gồm những bảnghi cá nhân, thông tin thuế và những dữ liệu nhạy cảm khác

b Bảo đảm tính riêng tư

Các hệ thống máy tính lưu giữ rất nhiều thông tin cá nhân cần được giữ bímật Những thông tin này bao gồm:

- Số thẻ bảo hiểm xã hội

- Số thẻ ngân hàng

- Số thẻ tín dụng

- Thông tin về gia đình

- Thông tin về sức khoẻ

- Thông tin việc làm

- Thông tin về sinh viên

- Thông tin về các khoản mục đầu tư

- Thông tin về sổ hưu trí

Tính riêng tư là yêu cầu rất quan trọng mà các ngân hàng, các công ty tíndụng, các công ty đầu tư và các hãng khác cần phải đảm bảo để gửi đi các tài liệuthông tin chi tiết về cách họ sử dụng và chia sẻ thông tin về khách hàng Cáchãng này có những quy định bắt buộc để bảo đảm những thông tin cá nhân được

Trang 35

bí mật và bắt buộc phải thực hiện những quy định đó để bảo đảm tính riêng tư.Hậu quả nghiêm trọng sẽ xảy ra nếu một kẻ giả mạo truy nhập được những thôngtin cá nhân

c Phát hiện các lỗ hổng an toàn và gỡ rối phần mềm

Các nhà sản xuất các thiết bị phần cứng và phần mềm thường gặp phải rấtnhiều áp lực để đưa sản phẩm của họ ra thị trường càng nhanh càng tốt Nếu sảnphẩm của một nhà sản xuất tung ra muộn, kết quả là đối thủ cạnh tranh sẽ chiếmmất thị phần hoặc nhà sản xuất sẽ là mục tiêu của những chỉ trích trên cácphương tiện thông tin đại chúng

Các sản phẩm mới vội vã được đưa ra thị trường thường chứa những lỗhổng an toàn hoặc không ổn định do chúng không được kiểm tra đánh giá mộtcách kỹ lưỡng Ví dụ, một số hệ điều hành có một khoản mục "guest" được tạosẵn Những khoản mục "guest" này thường không được kích hoạt hoặc được bảo

vệ bằng mật khẩu và chúng được cấu hình để giới hạn các truy nhập vào một hệthống Cách đây không lâu, một nhà sản xuất hệ điều hành đã vô tình tiếp thị mộtphiên bản hệ điều hành mới, trong đó khoản mục "guest" đã được kích hoạt vàkhông được bảo vệ bằng mật khẩu và cho phép truy nhập hệ thống một cáchrộng rãi

Một số hệ điều hành mới thường có những lỗ hổng bảo mật truy nhậpinternet hoặc các lỗi làm cho hệ thống bị các xung đột không mong muốn, làmcho các lệnh không hoạt động bình thường và nhiều vấn đề khác nữa Khi bạnmua một hệ điều hành mới, một phần mềm mới hoặc một thiết bị phần cứng mới,bạn nên có kế hoạch kiểm tra một cách nghiêm ngặt chúng để bảo đảm tính antoàn và tin cậy Ngoài ra, nên kiểm tra các tính năng an toàn mặc định như khoảnmục guest để chắc chắn rằng bạn cấu hình chúng theo cách an toàn nhất Nên càiđặt tất cả các bản vá lỗi hoặc các gói dịch vụ mới nhất cho các hệ thống mới củamình Một số người quản trị hệ thống chỉ thích mua các hệ thống mới chỉ sau 6tháng hoặc một năm chúng có mặt trên thị trường, tức là sau khi các người dùng

Trang 36

khác đã sử dụng nó trong các tình huống cụ thể, tìm và thông báo các lỗi cho nhàsản xuất để sửa chữa chúng.

Một vấn đề khác nảy sinh đó là các bản vá lỗi hệ thống được vội vã công

bố trước khi chúng được kiểm tra một cách kỹ lưỡng Đôi khi một nhà sản xuấtlại thu hồi lại một bản vá lỗi trên thị trường chỉ sau một thời gian ngắn ngủi đượccông bố, bởi vì chúng xuất hiện những vấn đề mới Nếu không cấp bách lắm, tốtnhất người sử dụng nên chờ cho đến khi cảm thấy chắc chắn rằng không có mộtvấn đề nào này sinh rồi mới cài đặt bản vá lỗi, giống như đã làm với các phiênbản hệ điều hành mới

Đôi khi các nhà sản xuất lại công bố các tính năng an toàn nhưng lại rất dễ

bị bỏ qua vì nó bất tiện cho người dùng Ví dụ, vẫn có những hệ điều hành chophép người dùng bỏ qua giai đoạn đăng nhập Một số hệ điều hành trước đây lạicho phép thiết lập các khoản mục người dùng mới mà không yêu cầu đặt mậtkhẩu truy nhập

d Tổn thất vì lỗi hay sự bất cẩn của con người

Các tính năng an toàn của hệ điều hành cũng chưa quyết định nếu thiếungười biết cách cấu hình và sử dụng chúng Một hệ điều hành có rất nhiều tínhnăng an toàn, nhưng những tính năng này sẽ trở nên vô ích nếu người dùngkhông biết cách thực hiện hoặc sử dụng chúng một cách tối ưu Ví dụ, cho dùmột hệ điều hành có tuỳ chọn yêu cầu người dùng thay đổi mật khẩu truy nhậpcủa họ sau một khoảng thời gian nhất định, nhưng một công ty lại không áp dụngđiều đó Hậu quả là, sau một thời gian nhất định mọi người có thể trao đổi mậtkhẩu cho nhau, và dữ liệu của công ty có nguy cơ mất an toàn với những người

đã chuyển đi, những người biến chất hoặc những người săn tìm thông tin bí mật

Trang 37

- Thiếu thời gian.

- Do chính sách của các cơ quan, tổ chức

- Không kiểm tra đánh giá thường xuyên

- Thói quen làm việc theo một cách nhất định

Có rất nhiều cách để khắc phục yếu tố con người trong vấn đề bảo đảm antoàn cho một tổ chức Chẳng hạn, nên sử dụng các hệ điều hành cho phép tổchức cài đặt các chính sách an toàn trong hệ thống Ví dụ, người quản trị có thểcài đặt một chính sách an toàn yêu cầu người dùng thay đổi mật khẩu của họ saumột khoảng thời gian là 45 ngày và yêu cầu độ dài mật khẩu tối thiểu là 8 ký tự.Nếu trong tổ chức sử dụng một kết nối internet không an toàn, thì nên đặt chínhsách dịch vụ thư mục ngăn chặn một số người dùng nhất định hoặc tất cả ngườidùng sử dụng các trình duyệt internet

Triển khai các chính sách an toàn bằng văn bản là một cách khác để bảođảm người dùng trong một tổ chức biết được các chính sách này và tầm quantrọng của chúng Các thành phần của chính sách an toàn bằng văn bản có thểđược cấu hình trong hệ điều hành và các chính sách an toàn phần mềm mạng.Ngoài ra, các chính sách an toàn bằng văn bản còn có thể được sử dụng để thaythế các chính sách hạn chế sự an toàn trong một tổ chức

Đào tạo là một phương pháp khác có thể giúp cải thiện năng lực và sự lơđãng của con người Việc đào tạo liên quan đến ít nhất 2 nhóm người trong một

tổ chức Đào tạo cho các nhà quản trị hệ thống và quản trị mạng về các công cụ

an toàn và cách sử dụng chúng như cấu hình các chính sách an toàn Đào tạo chongười dùng về các phương pháp an toàn cơ bản mà họ có thể triển khai như tạomột khẩu an toàn, mã hoá những tệp nhạy cảm

Kiểm tra các tính năng an toàn cũng là một cách để đánh giá các yếu tố vềcon người Tất cả các hệ điều hành và phần mềm cần được kiểm tra trước khiđưa công bố ra thị trường Một số tổ chức dùng một đội ngũ an toàn để kiểm tracác hệ thống Các tổ chức khác thì triển khai hệ thống máy tính để kiểm tra sự an

Trang 38

thân thiện lấy việc cố gắng bẻ gãy các hệ thống để tìm ra các lỗ hổng an toàn cầnphải sửa chữa, để bảo đảm rằng các hệ thống và dữ liệu đó đã được bảo vệ.

1.2.4 Phân loại các mức an toàn của hệ điều hành

a An toàn đăng nhập

An toàn đăng nhập đòi hỏi người dùng phải cung cấp khoản mục ngườidùng và mật khẩu để truy nhập vào một hệ điều hành nào đó hoặc để xác nhậnquyền truy nhập mạng thông qua một dịch vụ thư mục Những người quản trịmáy chủ và quản trị mạng thường cài đặt kiểu an toàn này như là một trongnhững phòng ngừa an toàn cơ bản nhất Mấu chốt để sử dụng thành công phươngpháp an toàn này là hướng dẫn người dùng giữ mật khẩu một cách bí mật vàchọn những mật khẩu khó đoán

Một số mạng (như các mạng dùng máy chủ Windows 2000 Server vàWindows Server 2003) được tổ chức thành các vùng Một vùng là một thànhphần cơ bản hay một thùng chứa lưu giữ thông tin về tất cả các tài nguyên mạngđược nhóm trong nó như các máy chủ, máy in và các tài nguyên vật lý khác,người dùng và nhóm người dùng Mỗi tài nguyên trong một vùng được gọi làmột đối tượng (object) trong vùng đó (như hình 1-5) Ví dụ, khi ta tạo ra mộtkhoản mục người dùng mới, nó sẽ trở thành một đối tượng trong vùng Các máytính chia sẻ và các thư mục chia sẻ cũng là các đối tượng trong vùng

Trang 39

Hình TỔNG QUAN VỀ HỆ ĐIỀU HÀNH VÀ NGUYÊN LÝ AN TOÀN HỆ

ĐIỀU HÀNH.5 Đối tượng trong DomainMột khoản mục người dùng có một vai trò quan trọng đặc biệt vì nó cungcấp quyền truy nhập tới vùng Khi nhiều vùng thiết lập các mối quan hệ tin cậy 2chiều, một khoản mục người dùng hoàn toàn có thể cho phép người dùng đó cóquyền truy nhập đến tất cả các tài nguyên trong tất cả các vùng có quan hệ tincậy 2 chiều này Về khía cạnh này, thì một khoản mục người dùng đơn lẻ có thể

là một cách rất mạnh để truy nhập vào các tài nguyên, điều đó lý giải tại sao việcbảo vệ mật khẩu cho khoản mục là rất quan trọng

b An toàn chứng chỉ số

Trong một số hệ điều hành, các dịch vụ chứng chỉ điện tử có thể được càiđặt để trao đổi các chứng chỉ giữa các trạm truyền thông trong một mạng Cácchứng chỉ này được sử dụng để xác nhận tính xác thực của quá trình truyềnthông, để bảo đảm rằng các bên tham gia truyền thông là đúng Điều này rấtquan trọng trên internet và các mạng liên quan đến trao đổi thông tin tài chính và

Trang 40

mạng hoặc một máy chủ nào đó, nó có thể được sử dụng để quyết định nhữngdịch vụ mạng nào khách hàng được phép truy cập.

c An toàn tệp và thư mục

Các hệ điều hành cung cấp một cách để bảo vệ các thư mục và các tệpthông qua các danh sách người dùng và nhóm người dùng có quyền truy nhậpnhững tài nguyên này Các thuộc tính của thư mục và tệp cũng có thể được sửdụng để quản lý truy nhập và hỗ trợ việc tạo các dữ liệu sao lưu

Khi các danh sách được sử dụng để quản lý các tài nguyên này, ngườidùng có thể chỉ được phép xem nội dung của một thư mục hay đọc nội dung củamột tệp nào đó; hoặc người dùng có thể có quyền sửa đổi dữ liệu hay tạo các tệpmới Trong một số hệ điều hành, một danh sách truy nhập được tạo ra để từ chốimột nhóm người dùng truy nhập đến một tệp hay một thư mục nào đó Một cáchkhác trong việc sử dụng danh sách là chỉ ra người chủ sở hữu tệp hoặc thư mục.Thông thường, người chủ sở hữu của tệp hoặc thư mục có khả năng quản lý danhsách những người có quyền truy nhập những tệp và thư mục này

Một thuộc tính (attribute) là một đặc tính hoặc một đánh dấu liên quan đếnmột tệp hay một thư mục Nó được sử dụng để hỗ trợ cho việc quản lý truy nhập

và sao lưu dự phòng Các hệ thống tệp FAT và NTFS tương thích với hệ điềuhành Windows, Unix/Linux và Netware cho phép đặt các thuộc tính cho các thưmục và các tệp

d An toàn tài nguyên chia sẻ

Các hệ điều hành và dịch vụ thư mục mạng có khả năng chia sẻ các tàinguyên trên mạng Các thư mục và máy in mạng là hai ví dụ quan trọng về tàinguyên có thể chia sẻ Các tài nguyên chia sẻ thường được thực hiện bởi mộtdanh sách người dùng và nhóm người dùng có quyền cấu hình

Một cách khác để kiểm soát truy nhập tài nguyên là thông qua các domain,

do đó trước khi có thể yêu cầu truy nhập tài nguyên, một khoản mục người dùngphải được phép truy nhập domain Ngoài ra, các tài nguyên cũng có thể được

Ngày đăng: 02/10/2021, 19:49

TỪ KHÓA LIÊN QUAN

w