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

Tài liệu Hệ điều hành tiếng Việt

84 326 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 84
Dung lượng 1,31 MB

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

Nội dung

Hệ điều hành (OS) là một tập hợp phần mềm mà quản lý nguồn tài nguyên phần cứng của máy tính và cung cấp các dịch vụ phổ biến cho các chương trình máy tính. Hệ điều hành là một bộ phận mang tính sống còn của phần mềm hệ thống trong hệ thống máy tính. Tham khảo tài liệu Hệ điều hành tiếng Việt để hiểu hơn về vấn đề này.

Trang 1

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 1

Mục lục

Giới thiệu về Hệ điều hành 6

Đối với độc giả 6

Điều kiện tiền đề 6

Tổng quan về Hệ điều hành 6

Định nghĩa 6

Quản lý bộ nhớ 7

Quản lý bộ vi xử lý 8

Quản lý thiết bị 8

Quản lý file 9

Các hoạt động quan trọng khác 9

Các kiểu Hệ điều hành 9

Hệ điều hành Batch 10

Hệ điều hành Time-sharings 10

Hệ điều hành được phân phối (distributed) 11

Hệ điều hành hệ thống 12

Hệ điều hành thời gian thực (real time) 12

Các hệ thống thời gian thực cứng 13

Các Hệ điều hành thời gian thực mềm 13

Các dịch vụ của Hệ điều hành 13

Sự thi hành chương trình 14

Hoạt động I/O 14

Thao tác hệ thống file 15

Giao tiếp 15

Kiểm soát lỗi 16

Quản lý tài nguyên 16

Trình bảo mật 16

Các thu ộc tính của Hệ điều hành 16

Trang 2

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 2

Tiến trình xử lý Batch 17

Các lợi thế 17

Các bất lợi 17

Đa nhiệm 18

Đa chương trình 19

Các lợi thế 20

Các bất lợi 20

Khả năng tương tác 20

Hệ thống thời gian thực 20

Môi trường được phân phối 21

Spooling 21

Các lợi thế 22

Các tiến trình xử lý trong OS 22

Tiến trình xử lý 22

Chương trình 23

Các trạng thái tiến trình 23

Khối kiểm soát tiến trình, PCB 24

Ghi lịch trình tiến trình trong OS 26

Định nghĩa 26

Sắp hàng lịch trình 27

Hai mẫu trạng thái tiến trình 28

Bộ lập lịch trình 28

Bộ lập lịch trình thời hạn dài 29

Bộ lịch trình thời hạn ngắn 29

Bộ lịch trình thời hạn trung 29

So sánh giữa các bộ lịch trình 30

Chuyển bối cảnh (context switch) 31

Các thu ật toán lập lịch trình trong OS 32

Lập lịch trình vào đầu phục vụ trước (FCFS) 33

Trang 3

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 3

Lập lịch trình công việc ngắn nhất phục vụ trước (SJF) 34

Lập lịch trình quyền ưu tiên 35

Lập lịch trình Round Robin 36

Lập lịch trình đa hàng 37

Chế độ đa luồng (Multi-thread) trong OS 37

Thread là gì? 38

Sự khác nhau giữa Tiến trình và thread 38

Các lợi thế của Thread 41

Các kiểu Thread 41

Các thread mức độ người dùng 41

Các lợi thế 42

Các bất lợi 42

Các thread mức độ Kernel 42

Các lợi thế 43

Các bất lợi 43

Các mô hình đa thread 43

Chế độ Many to Many 43

Chế độ Many to One 44

Chế độ One to One 45

Sự khác nhau giữa chế độ mức độ người sử dụng và mức độ Kernel 45

Quản lý bộ nhớ trong OS 46

Tải động (dynamic loading) 47

Kết nối động 48

Không gian địa chỉ vật lý – logic 48

Swapping 48

Sự cấp phát bộ nhớ 49

Sự phân mảnh (Fragmentation) 50

Kỹ thuật đánh số trang 51

Kỹ thuật phân đoạn 53

Trang 4

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 4

Bộ nhớ ảo trong OS 54

Kỹ thuật đánh số trang yêu cầu (demand paging) 55

Các lợi thế 58

Các bất lợi 58

Thuật toán đổi vị trí trang 58

Chuỗi tham chiếu 59

Thuật toán Vào đầu ra đầu (First In First Out - FIFO) 59

Thuật toán Trang quang học 60

Thuật toán Được sử dụng gần đây nhất (Least Recently Used - LRU) 60

Thuật toán Chuyển hoán đệm trang 61

Thuật toán Được sử dụng thường xuyên ít nhất (Least frequently Used - LFU) 61

Thuật toán Được sử dụng thường xuyên nhất (Most Frequently Used MFU) 61

Phần cứng Nhập/Xuất (IO) trong OS 62

Tổng quan 62

Chuỗi daisy 62

Bộ điều khiển 62

Cổng I/O 62

Polling 63

Các thiết bị I/O 64

Sự truy cập bộ nhớ trực tiếp (DMA) 65

Các bộ điều khiển thiết bị 67

Phần mềm Nhập/Xuất (I/O) trong OS 67

Các phần mềm ngắt (interrupts) 67

Giao diện I/O ứng dụng 68

Các đồng hồ xung 69

Hệ thống phụ Kernel I/O 72

Bộ điều khiển thiết bị 73

Hệ thống file trong OS 73

File 74

Trang 5

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 5

Cấu trúc file 74

Kiểu file 74

Các file thường 74

File thư mục 74

Các file đặc biệt 74

Kỹ thuật truy cập file 75

Truy cập liên tục 75

Sự truy cập trực tiếp/ngẫu nhiên 75

Sự truy cập liên tục theo chỉ mục 75

Sự cấp phát không gian 76

Sự cấp phát liên tục 76

Sự cấp phát theo kết nối 76

Sự cấp phát theo chỉ mục 76

Bảo mật trong OS 77

Sự xác minh 77

Các mật khẩu Một lần 78

Các sự đe dọa tới chương trình 78

Các mối đe dọa tới hệ thống 79

Các phân hạng bảo vệ máy tính 79

Hệ điều hành Linux 80

Các thành phần của hệ thống Linux 81

Chế độ kernel và chế độ người dùng 81

Các đặc điểm cơ bản 82

Cấu trúc 83

Tài liệu tham khảo về OS 83

Các đường link hữu ích về Hệ điều hành 84

Trang 6

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 6

Giới thiệu về Hệ điều hành

Một Hệ điều hành (OS) là một tập hợp phần mềm mà quản lý nguồn tài nguyên phần cứng của máy tính và cung cấp các dịch vụ phổ biến cho các chương trình máy tính Hệ điều hành là một bộ phận mang tính sống còn của phần mềm hệ thống trong hệ thống máy tính

Phần hướng dẫn này sẽ đưa bạn từng bước tiếp cận với các khái niệm của OS

Loạt bài hướng dẫn của chúng tôi dựa trên nguồn tài liệu của: Tutorialspoint

Đối với độc giả

Bài tham khảo này giúp cho các sinh viên khoa học máy tính có sự hiểu biết cơ bản về các khái niệm tiên tiến liên quan đến Hệ điều hành

Điều kiện tiền đề

Trước khi bắt đầu tiến hành nghiên cứu phần hướng dẫn này, tôi giả sử rằng bạn đã có sự hiểu biết về các khái niệm máy tính cơ bản như bàn phím, chuột, màn hình, thiết bị đầu vào, bộ nhớ sơ cấp và bộ nhớ thứ cấp… Nếu bạn chưa thực sự nắm vững các khái niệm này, thì tôi xin đề nghị bạn nghiên cứu qua phần hướng dẫn của chúng tôi về Các khái niệm cơ sở về máy tính (Computer Fundermentals)

Tổng quan về Hệ điều hành

Một Hệ điều hành là một trung gian kết nối giữa người sử dụng và phần cứng máy tính Nó cung cấp cho người sử dụng một môi trường mà trong đó một người sử dụng có thể chạy các chương trình một cách thuận lợi và hiệu quả

Theo ngôn ngữ kỹ thuật, nó là một phần mềm mà quản lý điều hành phần cứng Một Hệ điều hành điều khiển sự cấp phát của các tài nguyên và dịch vụ như bộ nhớ, các bộ xử lý, các thiết bị và thông tin

Định nghĩa

Một Hệ điều hành là một chương trình mà hoạt động như một giao diện giữa người sử dụng và phần cứng máy tính và điều khiển sự thực hiện của tất cả các loại chương trình

Trang 7

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 7

Dưới đây là một vài các chức năng quan trọng của một Hệ điều hành:

 Kiểm soát hiệu năng hệ thống;

 Job accounting (Thống kê kế toán);

Trang 8

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 8

Bộ nhớ chính cung cấp một kho lưu nhanh mà có thể được truy cập trực tiếp bởi CPU Do đó để một chương trình có thể chạy được, nó phải trong bộ nhớ chính Hệ điều hành thực hiện các hoạt động sau cho Quản lý bộ nhớ:

 Theo dõi bộ nhớ chính, ví dụ như phần nào đang sử dụng bởi ai đó, phần nào không sử dụng

 Trong chế độ đa chương trình, OS quyết định tiến trình nào chọn bộ nhớ khi nào và bao nhiêu

 Cấp phát bộ nhớ khi một tiến trình yêu cầu

 Trả lại bộ nhớ khi tiến trình không cần nữa hoặc đã kết thúc

Quản lý bộ vi xử lý

Trong môi trường đa chương trình, OS quyết định tiến trình nào nhận bộ vi xử lý khi nào và bao lâu Chức năng này được gọi là bản danh biểu (lịch trình) của tiến trình OS thực hiện các hoạt động sau để quản lý bộ vi xử lý:

 Theo dõi bộ vi xử lý và trạng thái của tiến trình Chương trình chịu trách nhiệm cho nhiệm

vụ này được biết đến với tên gọi điều khiển luồng tín hiệu

 Cấp phát bộ vi xử lý (CPU) tới một tiến trình

 Trả lại cấp phát bộ vi xử lý khi tiến trình không cần nữa

 Quyết định tiến trình nào nhận thiết bị khi nào và trong bao lâu;

 Cấp phát thiết bị theo cách hiệu quả nhất

 Trả lại cấp phát thiết bị

Trang 9

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 9

Quản lý file

Một hệ thống file thường được tổ chức trong các thư mục để dễ dàng cho việc điều hướng và sử dụng Những thư mục này có thể chứa các file và các thư mục khác Hệ điều hành thực hiện các hoạt động sau để quản lý file:

 Kiểm tra thông tin, vị trí, trạng thái… Các phương tiện thu thập này thường được biết như

là hệ thống file

 Quyết định ai nhận nguồn tài nguyên nào;

 Cấp phát nguồn tài nguyên;

 Trả lại cấp phát nguồn tài nguyên

Các hoạt động quan trọng khác

Dưới đây là một vài các hoạt động quan trọng mà Hệ điều hành thực hiện

phát quyền tới chương trình và dữ liệu

vụ và sự phản ứng lại từ hệ thống

và người sử dụng khác nhau

phiên dịch, bộ biên mã và phần mềm khác tới các người sử dụng khác nhau của hệ thống máy tính

Các kiểu Hệ điều hành

Hệ điều hành có từ thế hệ máy tính đầu tiên Hệ điều hành tiếp tục phát triển theo thời gian Dưới đây là một số loại Hệ điều hành mà được sử dụng phổ biến nhất

Trang 10

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 10

Tuy nhiên có những vấn đề mà xảy ra với Hệ điều hành Batch như sau:

 Thiếu sự tương tác (hay giao diện tương tác) giữa người sử dụng và phần việc của họ

 CPU thường không làm gì, bởi vì tốc đọ của các thiết bị I/O là chậm hơn CPU

 Rất khó để cung cấp quyền ưu tiên như ý muốn

Hệ điều hành Time-sharings

Time-sharings là một kỹ thuật mà cho phép nhiều người, ở tại các terminal khác nhau, khả năng sử dụng một Hệ điều hành riêng biệt tại cùng một thời điểm Thời gian của bộ vi xử lý đồng thời được chia sẻ bởi những người sử dụng Điểm khác nhau chính giữa Hệ điều hành đa chương trình Batch và Hệ điều hành đa nhiệm: mục tiêu của Hệ điều hành Batch là tối đa hóa sự sử dụng của

bộ xử lý, trong khi đó mục tiêu của Hệ điều hành đa nhiệm là tối thiểu thời gian phản hồi

Nhiều chương trình được chạy bởi CPU bằng cách chuyển mạch giữa chúng, nhưng sự chuyển mạch xảy ra thường xuyên Do đó, người sử dụng có thể nhận sự phản hồi ngay lập tức Ví dụ, trong một tiến trình truyền tải, bộ xử lý chạy mỗi chương trình người sử dụng một xung ngắn của máy tính hóa Đó là nếu n người đang sử dụng hiện tại, mỗi người dùng có thể nhận xung thời gian Khi người sử dụng đệ trình lệnh, thời gian phản hồi chỉ là trong vài giây ngắn

Hệ điều hành sử dụng đa chương trình và biểu đồ lập chương trình CPU để cung cấp cho mỗi người sử dụng với một phần nhỏ của thời gian Các hệ thống máy tính mà được thiết kế đầu tiên như Hệ điều hành Batch đã được chỉnh sửa thành dạng Hệ điều hành chia sẻ thời gian

Các lợi thế của Hệ điều hành Time-sharings như sau:

 Lợi thế của sự phản hồi nhanh

 Tránh được sự sao nhân của phần mềm

Trang 11

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 11

 Giảm thời gian CPU không làm việc

Bất lợi của Hệ điều hành này là:

 Vấn đề của sự đáng tin cậy

 QVấn đề bảo mật và tính nguyên vẹn của các chương trình và dữ liệu của người sử dụng được đặt dấu hỏi

 Vấn đề về sự trao đổi dữ liệu

Hệ điều hành được phân phối (distributed)

Hệ điều hành này sử dụng nhiều bộ xử lý trung tâm để phục vụ nhiều ứng dụng và nhiều người sử dụng Các chương trình xử lý dữ liệu được phân phối bên trong các bộ xử lý một cách phù hợp mà mỗi chương trình có thể thực hiện một công việc một cách hiệu quả nhất

Các bộ xử lý giao tiếp với nhau thông qua các đường kết nối đa dạng (như các cổng bus tốc độ cao hoặc các đường dây điện thoại) Những cái này được gọi như là các hệ thống bị ghép một cách lỏng lẻo hoặc các hệ thống được phân phối Các bộ xử lý trong hệ thống này có thể đa dạng

cả về kích cỡ và chức năng Những bộ xử lý được gọi như các site, các nút, các máy tính…

Các lợi thế của Hệ điều hành được phân phối là:

 Với nguồn tài nguyên dễ dàng chia sẻ, người sử dụng tại cùng một site có thể để sử dụng các tài nguyên có sẵn tại site khác

 Tăng tốc độ trao đổi dữ liệu với nhau thông qua mail điện tử

 Nếu một site bị lỗi trong hệ thống phân phối, thì các site còn lại có thể có khả năng tiếp tục hoạt động

 Chất lượng phục vụ tốt hơn đối với khách hàng

 Giảm thiểu lượng tải trên máy host

 Giảm thiểu sự trì hoãn trong quá trình xử lý dữ liệu

Trang 12

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 12

Hệ điều hành hệ thống

Network Operating System chạy trên một server và cung cấp cho server khả năng để quản lý dữ liệu, các người sử dụng, các nhóm, sự bảo mật, các chương trình ứng dụng và các chức năng hệ thống khác Mục đích đầu tiên của Hệ điều hành này là để cho phép các file được chia sẻ và việc truy cập vào máy in trong nhiều máy tính trong một hệ thống, đặc biệt như trong hệ thống mạng LAN, hệ thống mạng cá nhân hoặc các hệ thống khác Các ví dụ của mạng hệ thống là Microsoft Windows Server 2003, Microsoft Windows Server 2008, Unix, Linux, Mac OS X, Novell NetWare,

và BSD

Các lợi thế của Hệ điều hành hệ thống là:

 Server trung tâm mang tính ổn định cao

 Sự bảo mật là được quản lý

 Việc nâng cấp với công nghệ và phần cứng mới có thể dễ dàng được tích hợp vào trong hệ thống

 Có thể truy cập từ xa tới server từ các máy nội bộ và các kiểu hệ thống khác nhau

Sự bất lợi của loại Hệ điều hành này là:

 Chi phí cao để mua sắm và chạy một server;

 Phụ thuộc vào một vị trí server trung tâm cho hầu hết các hoạt động;

 Luôn yêu cầu được duy trì và cập nhật;

Hệ điều hành thời gian thực (real time)

Hệ điều hành thời gian thực là một định nghĩa như là hệ thống xử lý dữ liệu mà trong đó khoản thời gian cần thiết để xử lý và phản hồi tới các dữ liệu đầu vào là ngắn để mà nó kiểm soát môi trường Tiến trình xử lý thời gian thực thường là trực tuyến trong khi hệ thống trực tuyến không cần thiết phải là thời gian thực Thời gian tốn bởi hệ thống để phản hồi tới mỗi dữ liệu đầu vào và hiển thị thông tin được cập nhật theo yêu cầu được gọi là thời gian phản hồi Vì thế trong phương thức này thời gian phản hồi là ít hơn khi so sánh với tiến trình xử lý trực tuyến

Hệ điều hành thời gian thực được sử dụng khi có các yêu cầu thời gian cứng nhắc trên một hoạt động của một bộ xử lý hoặc luồng dữ liệu và các hệ thống thời gian thực có thể được sử dụng như

Trang 13

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 13

là một thiết bị điều khiển Hệ điều hành này được xác định rõ, ràng buộc về thời gian được bố trí, nếu không thì hệ thống sẽ gặp sự cố Ví dụ, các thí nghiệm khoa học, các hệ thống ảnh y tế, hệ thống vũ khí, robot, hệ thống quản lý luồng bay…

Có hai kiểu Hệ điều hành thời gian thực:

Các hệ thống thời gian thực cứng

Các hệ thống này đảm bảo rằng các nhiệm vụ quan trọng được hoàn thành đúng thời gian Trong

hệ thống thời gian thực cứng, kho lưu thứ cấp được hạn chế hoặc bị quên với dữ liệu được lưu trong ROM Trong các hệ thống này, bộ nhớ ảo thường không bao giờ được tìm thấy

Các Hệ điều hành thời gian thực mềm

Các hệ thống này thì ít có sự giới hạn hơn Các nhiệm vụ quan trọng nhận quyền ưu tiên thực hiện

so với các nhiệm vụ khác và trả lại quyền ưu tiên tới khi nó hoàn thành Hệ điều hành này có các tiện ích bị giới hạn hơn các hệ thống thời gian thực cứng Ví dụ, đa phương tiện, các dự án khoa học tiên tiến như tham dò đáy biển, thăm dò không gian…

Các dịch vụ của Hệ điều hành

Một Hệ điều hành cung cấp các dịch vụ tới cả người sử dụng và tới các chương trình:

 Nó cung cấp các chương trình một môi trường để chạy;

 Nó cung cấp cho người sử dụng các dịch vụ để thực hiện các chương trình theo cách tiện lợi nhất

Dưới đây là một vài dịch vụ phổ biến được cung cấp bởi các Hệ điều hành:

Trang 14

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 14

 Bảo vệ

Hệ điều hành vận dụng nhiều loại hoạt động từ các chương trình người dùng đến các chương trình

hệ thống như Spooler, tên server, file server… Mỗi một hoạt động được đóng gói như là một tiến trình

Một tiến trình bao gồm một dãy thi hành đầy đủ (mã để chạy, dữ liệu để thao tác, đăng ký, nguồn

OS để sử dụng) Dưới đây là các hoạt động chính của một Hệ điều hành liên quan tới quản lý chương trình:

 Tải một chương trình vào trong bộ nhớ

 Chạy chương trình đó

 Điều khiển sự thi hành của chương trình

 Cung cấp một kỹ thuật cho sự đồng bộ tiến trình xử lý

 Cung cấp một kỹ thuật cho giao tiếp tiến trình

 Cung cấp một kỹ thuật cho việc xử lý các sự bế tắc

 Chương trình có thể yêu cầu bất cứ thiết bị I/O nào trong khi chạy

 Hệ điều hành cung cấp sự truy cập tới các thiết bị I/O khi được yêu cầu

Trang 15

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 15

 Chương trình cần đọc hoặc viết một file

 Hệ điều hành cung cấp sự cho phép tới chương trình để thực hiện hoạt động trên các file

 Sự cho phép đa dạng từ chỉ đọc (read-only), đọc-viết,…

 Hệ điều hành cung cấp một giao diện tới người sử dụng để tạo/xóa các file

 Hệ điều hành cung cấp một giao diện tới người sử dụng để tạo/xóa các thư mục

 Hệ điều hành cung cấp một giao diện tới người sử dụng để tạo bản dự phòng (các bản sao) của hệ thống file

Giao tiếp

Trong hệ thống được phân phối mà là một tập hợp của các bộ xử lý không chia sẻ bộ nhớ, các thiết bị ngoại vi, hoặc đồng hồ xung thì Hệ điều hành này quản lý sự truyền thông tin giữa các tiến trình xử lý Nhiều tiến trình xử lý với trao đổi thông tin với nhau thông qua các đường dẫn thông tin trong mạng hệ thống

Hệ điều hành kiểm soát chiến lược kết nối và tuyến đường, và các vấn đề về các sự xung đột và bảo mật Dưới đây là các hoạt động chính của một Hệ điều hành liên quan tới trao đổi thông tin:

 Hai tiến trình thường yêu cầu dữ liệu được truyền tải giữa chúng;

 Cả hai tiến trình có thể trên một máy tính hoặc trên hai máy tính khác nhau nhưng được kết nối với nhau thông qua mạng hệ thống máy tính

 Giao tiếp có thể được thực hiện theo hai phương thức: bởi Bộ nhớ được chia sẻ hoặc bởi thông báo trao đổi

Trang 16

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 16

Kiểm soát lỗi

Các lỗi hay trục trặc có thể xảy ra bất cứ lúc nào và bất cứ đâu Lỗi có thể xảy ra trong CPU, trong các thiết bị I/O hoặc trong bộ nhớ cứng Dưới đây là các hoạt động chính của một Hệ điều hành liên quan tới kiểm soát lỗi:

 Hệ điều hành liên tục nhận biết các lỗi có thể nhận biết

 Hệ điều hành thực hiện các hành động phù hợp để chỉnh sửa các lỗi

Quản lý tài nguyên

Trong môi trường đa nhiệm hoặc nhiều người sử dụng, các nguồn tài nguyên như bộ nhớ chính, CPU, và việc lưu giữ file được cấp phát tới mỗi người sử dụng hoặc mỗi công việc Dưới đây là các hoạt động chính của một Hệ điều hành liên quan tới quản lý tài nguyên:

 Hệ điều hành quản lý tất cả nguồn tài nguyên bằng việc sử dụng các bảng biểu lịch trình

 Giải thuật lịch trình CPU được sử dụng để mang lại sự tiện ích hóa lớn nhất của CPU

 OS đảm bảo rằng tất cả các sự truy cập tới tài nguyên hệ thống được kiểm soát

 OS bảo đảm rằng các thiết bị ngoại vi được bảo về từ các cố gắng truy cập không được cấp phép

 OS cung cấp tính năng xác minh cho mỗi người sử dụng (gọi là mật khẩu)

Các thuộc tính của Hệ điều hành

Dưới đây là các nhiệm vụ quan trọng mà Hệ điều hành kiểm soát:

Trang 17

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 17

Tiến trình xử lý Batch

Tiến trình xử lý Batch là một kỹ thuật trong đó Hệ điều hành thu thập các chương trình và dữ liệu với nhau trong một batch trước khi bắt đầu tiến trình xử lý Hệ điều hành thực hiện các hoạt động sau liên quan tới tiến trình xử lý batch:

 OS xác định rõ một công việc mà sắp hàng trước theo thứ tự các lệnh, các chương trình và

dữ liệu như là một đơn vị đơn lẻ

 OS giữ số hiệu của các công việc trong bộ nhớ và thực hiện chúng mà không cần bất cứ thông tin nhãn hiệu

 Các công việc được xử lý theo thứ tự đề trình, ví dụ: số hiệu đầu tiên thì xử lý đầu tiên

 Khi công việc kết thúc, bộ nhớ của nó được giải phóng và kết quả đầu ra cho công việc được sao vào trong spool đầu ra để cho tiến trình xử lý hoặc tiến trình in sau đó

Các lợi thế

 Tiến trình xử lý batch thực hiện nhiều công việc của người điều hành tới máy tính

 Tăng hiệu suất: một công việc mới được bắt đầu ngay sau khi công việc trước kết thúc mà không cần bất cứ sự xen vào nào của người điều khiển

Các bất lợi

 Khó để gỡ lỗi (debug) chương trình

 Một công việc có thể nhập một vòng lặp vô hạn

Trang 18

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 18

 Do thiếu lịch trình bảo mật, một Batch có thể ảnh hưởng đến các công việc đang trong quãng thời gian chờ xử lý

Đa nhiệm

Đa nhiệm liên quan tới khái niệm trong đó nhiều công việc được thực hiện liên tục bởi CPU bằng cách chuyển đổi giữa chúng Trình chuyển đổi này xảy ra liên tục để người sử dụng có thể tương tác với mỗi chương trình trong khi nó đang chạy Hệ điều hành thực hiện các hoạt động sau liên quan đến đa nhiệm:

 Người sử dụng cung cấp chỉ dẫn tới Hệ điều hành hoặc tới chương trình một cách trực tiếp,

và nhận phản hồi ngay lập tức

 Hệ điều hành điều khiển đa nhiệm theo cách mà nó có thể kiểm soát nhiều hoạt động/thực hiện nhiều chương trình cùng một lúc

 Hệ điều hành đa nhiệm cũng còn được biết là Hệ điều hành Time-Sharing

 Hệ điều hành đa nhiệm được phát triển để cung cấp giao diện sử dụng của một hệ thống máy tính ở một mức chi phí hợp lý

 Hệ điều hành time-sharings sử dụng khái niệm lịch trình và chế độ đa chương trình CPU để cung cấp cho mỗi người sử dụng mộ phần nhỏ của một CPU được chia sẻ phiên sử dụng

 Mỗi người sử dụng có ít nhất một chương trình riêng trong bộ nhớ

 Một chương trình được tải vào trong bộ nhớ và đang thực hiện một tiến trình phổ biến

Trang 19

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 19

 Khi một tiến trình thực hiện, nó chạy chỉ trong một thời gian ngắn trước khi nó kết thúc hoặc cần thực hiện I/O

 Khi I/O tương tác chạy, nó tốn một thời gian khá dài để kết thúc Trong suốt thời gian này, một CPU có thể được tiện ích hóa (trưng dụng để sử dụng) bởi một chương trình khác

 Hệ điều hành cho phép những người sử dụng chia sẻ máy tính một cách liên tục Khi mỗi hoạt động hoặc lệnh trong hệ thống time-sharing dự định hoạt động trong một thời gian ngắn, thì chỉ một phần nhỏ thời gian CPU được cần cho mỗi người sử dụng

 Khi hệ thống chuyển đổi CPU một cách nhanh chóng từ một người sử dụng/một chương trình tới kế tiếp, mỗi người sử dụng được cung cấp một khoảng CPU riêng cho mình, trong khi mà một CPU thực sự đang được chia sẻ bên trong những người sử dụng

Đa chương trình

Khi hai hoặc nhiều chương trình đang ở trong bộ nhớ tại cùng một thời điểm, thì bộ xử lý được chia sẻ tới đa chương trình Đa chương trình giả định một bộ xử lý được chia sẻ Đa chương trình làm tăng tiến ích hóa CPU bằng việc tổ chức các công việc để mà CPU luôn luôn thực hiện một công việc

Hình dưới biểu thị bộ nhớ cho hệ thống đa chương trình

Trang 20

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 20

Hệ điều hành thực hiện các hoạt động sau liên quan tới đa chương trình:

 Giữ một số công việc trong bộ nhớ tại cùng một thời điểm

 Bộ tổng hợp phụ lịch trình công việc được giữ trong khu vực công việc

 Đa chương trình chọn và bắt đầu chạy một công việc trong bộ nhớ

 Đa chương trình giám sát trạng thái của tất cả các chương trình đang hoạt động và nguồn tài nguyên hệ thống sử dụng chương trình quản lý bộ nhớ để đảm bảo rằng CPU không bao giờ rảng rỗi trừ khi không có công việc nào được đệ trình

Các lợi thế

 Tối đa sử dụng CPU ở tốc độ cao và hiệu quả

 Người sử dụng cảm nhận rằng nhiều chương trình được cấp phát CPU một cách liên tục

Các bất lợi

 Lịch trình CPU được yêu cầu

 Để dàn xếp chỗ cho nhiều công việc trong bộ nhớ, chương trình quản lý bộ nhớ được yêu cầu

Khái niệm này là một người sử dụng có khả năng tương tác với hệ thống máy tính Hệ điều hành thực hiện các hoạt động liên quan tới khả năng tương tác như sau:

 OS cung cấp người sử dụng một giao diện để tương tác với hệ thống

 OS quản lý các thiết bị đầu vào để nhận dữ liệu đầu vào từ người sử dụng Ví dụ: bàn phím

 OS quản lý các thiết bị đầu ra để hiển thị kết quả đầu ra tới người sử dụng Ví dụ: màn hình

 Thời gian phản hồi hệ thống cần ngắn từ lúc người sử dụng đệ trình và chờ đợi kết quả

Hệ thống thời gian thực

Hệ thống thời gian thực thường là các hệ thống được nhúng Hệ điều hành thực hiện các hoạt động sau liên quan tới hệ thống thời gian thực

Trang 21

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 21

 Trong những hệ thống này, Hệ điều hành một cách đặc trưng đọc và phản ứng lại các dữ liệu nhạy

 Hệ điều hành phải bảo đảm sự phản hồi tới các sự kiện trong một thời gian đã được chỉnh trước để đảm bảo việc thực hiện chính xác

Môi trường được phân phối

Môi trường được phân phối liên quan tới nhiều CPU hoặc bộ xử lý độc lập trong hệ thống máy tính

Hệ điều hành thực hiện các hoạt động sau liên quan tới môi trường được phân phối:

 OS phân phối các logic kỹ thuật tính toán trong các bộ xử lý vật lý

 Các bộ xử lý không chia sẻ bộ nhớ và một đồng hồ xung

 Thay vào đó, mỗi bộ xử lý có một bộ nhớ nội bộ riêng

 OS quản lý trao đổi thông tin giữa các bộ xử lý Chúng trao đổi thông tin với nhau thông qua các đường dẫn trao đổi đa dạng

Spooling

Spooling là từ viết tắt cho các hoạt động ngoại vi đồng thời trên đường dây dẫn Spooling đề cập đến việc đặt dữ liệu của các công việc I/O đa dạng vào trong một bộ đệm Bộ đệm này là một khu vực đặc biệt trong bộ nhớ hoặc ổ cứng mà có thể truy cập tới các thiết bị I/O Hệ điều hành thực hiện các hoạt động liên quan đến môi trường được phân phối như sau:

 OS kiểm soát việc spooling các dữ liệu thiết bị I/O khi các thiết bị có các tỉ lệ truy cập dữ liệu khác nhau

 OS duy trì bộ đệm spooling mà cung cấp một ga chờ, tại nơi này dữ liệu có thể chờ đợi trong khi các thiết bị chậm hơn bắt kịp nó

 OS duy trì kỹ thuật tính toán song song bởi vì tiến trình spooling khi một máy tính thực hiện I/O trong fashing song song Nó có thể đọc dữ liệu từ băng, ghi dữ liệu vào đĩa và viết ra một băng in khác trong khi nó đang thực hiện công việc tính toán

Trang 22

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 22

Các lợi thế

 Hoạt động spooling sử dụng một đĩa cứng như là bộ đệm lớn

 Spooling có khả năng chồng các hoạt động I/O cho một công việc với các hoạt động bộ xử

lý cho công việc khác

Trang 23

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 23

Trong khi chạy chương trình, nó có thể yêu cầu một số nguồn tài

nguyên

Xác định trạng thái việc thực hiện tiến trình Một tiến trình xử lý có thể chạy tới khi hoàn thành chỉ khi tất cả các nguồn tài nguyên được yêu

cầu đã được cấp phát tới nó Hai hoặc nhiều tiến trình xử lý có thể

được thi hành cùng một chương trình, mỗi trong số chúng sử dụng

dữ liệu và nguồn tài nguyên riêng.

Khi một tiến trình xử lý thực hiện, nó thay đổi các trạng thái Trạng thái của tiến trình được xác định

rõ như là hoạt động hiện tại của tiến trình

Tiến trình xử lý có thể có một trong 5 trạng thái sau tại một thời điểm:

STT Trạng thái & Miêu tả

Tiến trình mới được tạo

Tiến trình đang đợi để được chỉ định tới một bộ xử lý Hay là các tiến

trình đang trong trạng thái sẵn sàng đang đợi để có một bộ xử lý

được cấp phát cho tới chúng bởi Hệ điều hành để mà chúng có thể

Trang 24

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 24

chạy.

Các chỉ dẫn tiến trình vừa được thực hiện (ví dụ: tiến trình đang thực

hiện).

Tiến trình đang chờ cho một số sự kiện xảy ra (như sự hoàn thành

của một hoạt động I/O).

Tiến trình đã kết thúc việc thực hiện.

Mỗi tiến trình được biểu diễn trong một Hệ điều hành bởi một khối kiểm soát (PCB), mà cũng được gọi là khối điều khiển nhiệm vụ PCB là một cấu trúc dữ liệu được sử dụng bởi Hệ điều hành Hệ điều hành nhóm tất cả thông tin mà cần cho những tiến trình cụ thể

PCB chứa nhiều phần thông tin liên kết với một tiến trình cụ thể mà được miêu tả trong bảng dưới đây:

Trang 25

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 25

STT Thông tin & Miêu tả

Chỉ tới khối điều khiển tiến trình khác Con trỏ được sử dụng để duy

trì bảng biểu của chương trình.

Bao gồm các thanh ghi mang mục đích chung, các con trỏ stack, các

thanh ghi chỉ số,… Số lượng và kiểu của thanh ghi nhìn chung phụ

thuộc vào kiến trúc máy tính.

Thông tin này có thể bao gồm giá trị của các thanh ghi cơ sở và giới

hạn, trang bảng, hoặc bảng phân đoạn phụ thuộc vào hệ thống bộ

nhớ được sử dụng bởi Hệ điều hành Thông tin này là hữu ích cho

việc trả lại cấp phát bộ nhớ khi tiến trình hoàn thành.

Bao gồm dung lượng CPU và thời gian thực được sử dụng, thời gian giới hạn, số hiệu công việc hoặc tiến trình, tổng số….

Trang 26

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 26

Khối điều khiển tiến trình (PCU) gồm bảng lịch trình CPU, quản lý nguồn tài nguyên I/O, thông tin quản lý file… PCB phục vụ kho lưu cho bất kỳ thông tin nào mà có thể đa dạng từ tiến trình đến tiến trình Bộ tải/bộ kết nối thiết lập các cờ hiệu và các thanh ghi khi một tiến trình được tạo Nếu một tiến trình không cố định, nội dung của thanh ghi được lưu trên một stack và con trỏ tới khung stack cụ thể được lưu trong PCB Nhưng kỹ thuật này, trạng thái phần cứng có thể được lưu lại để

mà tiến trình có thể được ghi vào lịch trình để chạy lại

Ghi lịch trình tiến trình trong OS

Định nghĩa

Ghi lịch trình tiến trình là một hoạt động của bộ quản lý tiến trình mà điều khiển sự di chuyển của tiến trình đang chạy từ CPU và việc lựa chọn của tiến trình khác trên cơ sở của một chiến lược cụ thể

Ghi lịch trình tiến trình là một phần tất yếu của Hệ điều hành đa chương trình Những Hệ điều hành như vậy cho phép nhiều hơn một tiến trình được tải vào trong bộ nhớ có thể chạy tại một thời điểm

và tải tiến trình chia sẻ CPU sử dụng việc dồn thời gian (time multiplexing)

Trang 27

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 27

S ắp hàng lịch trình

Sắp hàng lịch trình liên quan tới các hàng của các tiến trình hoặc thiết bị Khi tiến trình nhập vào trong hệ thống, thì tiến trình này được đặt vào trong một hàng công việc Hàng này bao gồm tất cả các tiến trình trong hệ thống Hệ điều hành cũng duy trì các hàng khác như hàng thiết bị Hàng thiết

bị là một hàng cho nhiều tiến trình mà đang đợi cho một thiết bị I/O cụ thể Mỗi thiết bị có một hàng thiết bị riêng của nó

Dưới đây chỉ sơ đồ của ghi lịch trình tiến trình:

 Hàng tượng trưng bởi một hộp chữ nhật

 Các vòng đại diện cho các nguồn tài nguyên mà phục vụ cho các hàng

 Mũi tên chỉ luồng tiến trình trong hệ thống

Có hai loại sắp hàng:

 Hàng sẵn sàng (ready queue)

 Hàng thiết bị (device queue)

Trang 28

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 28

Một tiến trình mới được đến được đặt trong một hàng sẵn sàng Các tiến trình đợi trong hàng sẵn sàng để chờ cấp phát CPU Một khi CPU được chỉ định tới một tiến trình, thì tiến trình đó sẽ chạy Trong khi chạy chương trình, bất kỳ một sự kiện nào sau đây có thể xảy ra

 Tiến trình có thể thông báo một yêu cầu I/O và sau đó nó có thể được đặt vào trong một hàng I/O

 Tiến trình có thể tạo một tiến trình phụ mới và sẽ đợi cho nó kết thúc

 Tiến trình có thể bị mạnh mẽ di chuyển từ CPU, do sự ngắt tín hiệu và quay trở lại hàng sẵn sàng

Hai mẫu trạng thái tiến trình

Là hai trạng thái đang chạy và không đang chạy mà được miêu tả như dưới đây:

STT Trạng thái & Miêu tả

Khi một tiến trình mới được tạo bởi Hệ điều hành mà nhập vào trong

hệ thống thì trạng thái là đang chạy.

Các tiến trình không trong trạng thái đang chạy được giữ trong hàng, chờ cho đến lượt để thực hiện Mỗi tiến trình nhập vào trong hàng là

một con trỏ tới một tiến trình cụ thể Hàng được thực hiện bằng việc

sử dụng danh sách kết nối Sử dụng bộ phận gửi đi như sau Khi một tiến trình bị ngắt, tiến trình đó được gửi vào trong hàng đợi Nếu tiến

trình đã hoàn thành hoặc bị ngưng, tiến trình được loại bỏ Trong

trường hợp còn lại, bộ phận gửi sau đó chọn một tiến trình từ hàng

để chạy.

B ộ lập lịch trình

Các bộ lập lịch trình là các phần mềm hệ thống đặc biệt mà điều khiển lịch trình tiến trình theo các cách khác nhau Nhiệm vụ chính của nó là để chọn các công việc để được đệ trình vào trong hệ thống và để quyết định tiến trình nào để chạy Các bộ lập tiến trình có ba loại:

Trang 29

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 29

Trên một số hệ thống, bảng lịch trình thời hạn dài có thể không có sẵn hoặc là tối thiểu Hệ điều hành chia phiên không có bộ lịch trình thời hạn dài Khi tiến trình thay đổi trạng thái từ mới sang sẵn sàng, thì sau đó nó sử dụng bộ lịch trình thời hạn dài

Nó cũng được gọi là bộ lịch trình CPU Đối tượng chính là làm tăng hiệu suất hệ thống trong sự phù hợp với các bộ tiêu chí được chọn Nó thay đổi từ trạng thái sẵn sàng sang trạng thái chạy của tiến trình Bộ lịch trình CPU chọn tiến trình trong các tiến trình mà sẵn sàng để thực hiện và cấp phát CPU cho một trong số chúng

Bộ lịch trình thời hạn ngắn cũng được biết như bộ gửi đi, thực hiện một cách liên tục và điều khiển luồng khuynh hướng của tiến trình chạy kế tiếp Bộ lịch trình thời hạn ngắn thì nhanh hơn bộ lịch trình thời hạn dài

B ộ lịch trình thời hạn trung

Là một phần của việc trao đổi (swapping) Nó gỡ bỏ tiến trình từ bộ nhớ Nó giảm mức độ của đa chương trình Bộ lịch trình này phụ trách xử lý các tiến trình được chuyển đổi

Trang 30

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 30

Tiến trình đang chạy có thể trở thành không cố định nếu nó tạo một yêu cầu I/O Tiến trình không

cố định không thể làm cho việc tiến hành tới khi hoàn thiện Trong tình huống này, để gỡ bỏ tiến trình từ bộ nhớ và tạo không gian cho các tiến trình khác, tiến trình không cố định được di chuyển tới kho lưu thứ cấp Tiến trình này được gọi là swapping Swapping có thể cần thiết để cải thiện việc trộn tiến trình

So sánh giữa các bộ lịch trình

hạn dài

Bộ lịch trình thời hạn ngắn

Bộ lịch trình thời hạn trung

1 Là một bộ lịch trình

công việc

Là một bộ lịch trình CPU

Là một bộ lịch trình swapping tiến trình

lịch trình thời hạn

ngắn

Tốc độ nhanh hơn hai bộ còn lại

Tốc độ ở trong khoảng giữa hai bộ còn lại

của đa chương trình

Nó cung cấp điều khiển ít hơn qua mức độ của đa chương trình

Nó giảm mức độ của đa chương trình

Trang 31

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 31

để thực hiện

Nó có thể giới thiệu lại tiến trình vào trong bộ nhớ và việc thực hiện có thể được tiếp tục

Chuyển bối cảnh (context switch)

Một context switch là một kỹ thuật để lưu và lưu lại trạng thái hoặc bối cảnh của một CPU trong khối điều khiển tiến trình PCB để mà một sự thi hành tiến trình có thể được hồi phục lại cùng thời điểm vào thời gian sau Sử dụng kỹ thuật này một context switch cho nhiều tiến trình khả năng để chia sẻ một CPU đơn Context switch là một phần thiết yếu của các tính năng của Hệ điều hành đa nhiệm

Khi bộ lịch trình chuyển CPU từ chế độ đang chạy một tiến trình tới thực hiện một tiến trình khác,

bộ chuyển bối cảnh lưu nội dung của tất cả các thanh ghi xử lý co tiến trình được gỡ bỏ từ CPU, trong dấu hiệu nhận diện tiến trình của nó Bối cảnh của một tiến trình được đại diện trong khối điều khiển tiến trình của nó

Thời gian chuyển bối cảnh là không tinh khiết Chuyển bối cảnh có thể ảnh hưởng một cách mạnh

mẽ tới hiệu suất khi các máy tính hiện đại có nhiều thanh ghi trạng thái và chung để được lưu Thời gian chuyển đổi là phụ thuộc nhiều vào sự hỗ trợ của phần cứng Chuyển đổi bối cảnh yêu cầu (n+m)bxk đơn vị thời gian để lưu trạng thái của bộ xử lý với n thanh ghi chung, giả sử b là các hoạt động lưu được yêu cầu để lưu n và m thanh ghi của hai khối điều khiển tiến trình và mỗi việc chỉ lệnh lưu yêu cầu k thời gian đơn vị

Trang 32

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 32

Một vài hệ thống phần cứng dùng hai hoặc nhiều bộ các thanh ghi xử lý để giảm lượng thời gian chuyển đổi bối cảnh Khi một tiến trình được chuyển đổi, thông tin sau được lưu:

 Bộ đếm chương trình

 Thông tin lịch trình

 Giá trị thanh ghi cơ sở và giới hạn

 Thanh ghi được sử dụng hiện tại

 Trạng thái thay đổi

 Trạng thái I/O

 Thông tin thống kê

Các thuật toán lập lịch trình trong OS

Chúng ta sẽ bàn luận 5 thuật toán lập lịch trình chính ở đây:

Trang 33

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 33

 Lập lịch trình vào đầu phục vụ trước (First Come First Serve – FCFS)

 Lập lịch trình công việc ngắn nhất phục vụ trước (Shortest-Job-First SJF)

 Lập lịch trình quyền ưu tiên

 Lập lịch trình Round Robin (RR)

 Lập lịch trình nhiều hàng mức độ (multilevel queue)

Lập lịch trình vào đầu phục vụ trước (FCFS)

 Các công việc được chạy trên chế độ vào đầu phục vụ đầu

 Dễ hiểu và thực hiện

 Hiệu suất thấp khi thời gian chờ đợi trung bình là cao

Thời gian đợi của mỗi tiến trình như sau:

Tiến

trình

Thời gian đợi: thời gian phục vụ - thời gian đến

Trang 34

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 34

Thời gian trung bình: (0+4+6+13) / 4 = 5.55

Lập lịch trình công việc ngắn nhất phục vụ trước (SJF)

 Cách tiếp cận tốt nhất để giảm thiểu tối đa thời gian đợi

 Không dễ dàng để thực hiện

 Các bộ xử lý nên biết trước khoảng thời gian mà tiến trình sẽ tốn

Thời gian đợi của mỗi tiến trình như sau:

Tiến

trình

Thời gian chờ: thời gian phục vụ - thời gian đến

Trang 35

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 35

Thời gian chờ trung bình: (3+0+14+5) / 4 = 5.50

Lập lịch trình quyền ưu tiên

 Mỗi tiến trình được chỉ định một quyền ưu tiên Tiến trình có quyền ưu tiên cao nhất được thực hiện đầu tiên và tiếp tục với phương thức tương tự

 Các tiến trình với quyền ưu tiên như nhau được thực hiện theo thứ tự nhập đầu thì phục vụ đầu

 Quyền ưu tiên có thể được quyết định dựa trên các yêu cầu của bộ nhớ, thời gian hoặc bất

kỳ yêu cầu nguồn tài nguyên khác

Thời gian chờ của mỗi tiến trình như sau:

Trang 36

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 36

 Một khi một tiến trình được chạy trong một quãng thời gian đã cho trước Tiến trình được

ưu tiên và tiến trình khác được thực hiện trong quãng thời gian cho trước

 Việc chuyển đổi bối cảnh được sử dụng để lưu trạng thái của các tiến trình được ưu tiên

Thời gian chờ của mỗi tiến trình như sau:

Trang 37

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 37

 Chế độ nhiều hàng được duy trì cho các tiến trình

 Mỗi hàng có thể có thuật toán lập lịch trình riêng của nó

 Các quyền ưu tiên được chỉ định tới mỗi hàng

Chế độ đa luồng (Multi-thread) trong OS

Trang 38

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 38

Thread là gì?

Một thread là một dòng của việc thi hành thông qua mã tiến trình, với bộ đếm chương trình riêng, các thanh ghi hệ thống và stack của nó Một thread cũng được gọi là một tiến trình nhẹ Các thread cung cấp một cách để cải thiện hiệu suất ứng dụng thông qua quan hệ song song Các thread đại diện cho một cách tiếp cận phần mềm để cải thiện hiệu suất của Hệ điều hành bằng việc giảm tổng phí luồng bằng với một tiến trình cổ điển

Mỗi thread sở hữu chính xác một tiến trình và không thread nào có thể tồn tại bên ngoài một tiến trình Mỗi thread đại diện cho một luồng điểu khiển Các thread được sử dụng một cách thành công trong việc thực hiện các server hệ thống và các server web Chúng cũng cung cấp một nền tảng phù hợp cho sự thi hành song song của ứng dụng trên nhiều bộ xử lý bộ nhớ được chia sẻ Dưới đây là hình ảnh chỉ sự làm việc của các tiến trình đơn và đa

thì nhẹ

Trang 39

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 39

hơn và yêu cầu ít tài nguyên hơn tiến trình

2 Chuyển đổi tiến trình cần sự tương tác với Hệ điều hành Chuyển

đổi thread không cần tương tác với

Hệ điều hành

3 Trong môi trường đa tiến trình, mỗi tiến trình chạy với cùng

một mã nhưng có bộ nhớ và nguồn file riêng cho từng tiến

trình.

Tất cả thread

có thể chia sẻ cùng một bộ thiết lập các file mở, các tiến trình con.

4 Nếu một tiến trình được đóng khối thì khi đó không tiến trình

nào khác có thể chạy tới khi tiến trình đầu tiên được mở

Trong khi một thread

Trang 40

http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 40

đóng khối và đang đợi, tiến trình thứ hai trong cùng một nhiệm

vụ có thể chạy.

5 Nhiều tiến trình không sử dụng thread thì dùng nhiều tài

nguyên hơn.

Nhiều tiến trình được thread

sử dụng ít tài nguyên hơn.

6 Trong môi trường đa tiến trình, mỗi tiến trình hoạt động một

cách độc lập với tiến trình khác.

Một thread

có thể đọc, viết hoặc thay đổi dữ

Ngày đăng: 20/09/2015, 09:40

HÌNH ẢNH LIÊN QUAN

Hình dưới biểu thị bộ nhớ cho hệ thống đa chương trình. - Tài liệu Hệ điều hành tiếng Việt
Hình d ưới biểu thị bộ nhớ cho hệ thống đa chương trình (Trang 19)

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w