Tài liệu Hệ điều hành tiếng Việt
lượt xem 16
download
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.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tài liệu Hệ điều hành tiếng Việt
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 1
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 2
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 3
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 4
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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 http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 5
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 6
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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: Quản lý bộ nhớ; Quản lý bộ vi xử lý; Quản lý thiết bị; Quản lý file; Bảo mật; Kiểm soát hiệu năng hệ thống; Job accounting (Thống kê kế toán); Giúp đỡ tìm ra lỗi; Kết nối giữa các phần mềm và người sử dụng. Quản lý bộ nhớ Là sự quản lý về bộ nhớ sơ cấp hay là bộ nhớ chính. Bộ nhớ chính là một mảng rộng của các từ hoặc các byte, mà tại nơi đó mỗi từ hoặc byte có một địa chỉ riêng. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 7
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. Quản lý thiết bị OS quản lý giao tiếp thiết bị thông qua các chương trình điều khiển tương ứng của nó. Hệ điều hành thực hiện các hoạt động sau để quản lý thiết bị: Theo dõi tất cả các thiết bị. Chương trình chịu trách nhiệm thực hiện nhiệm vụ này được biết đến với tên gọi là Kiểm soát I/O. 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ị. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 8
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. Bảo mật -- Với mật khẩu và các công cụ khác, ngăn chặn các sự truy cập không được cấp phát quyền tới chương trình và dữ liệu. Kiểm soát hiệu năng hệ thống -- Ghi chép lại thời gian trì hoãn giữa yêu cầu cho một dịch vụ và sự phản ứng lại từ hệ thống. Job accounting -- Theo dõi thời gian và nguồn tài nguyên được sử dụng bởi các công việc và người sử dụng khác nhau. Giúp đỡ phát hiện ra lỗi -- Thông báo và phát hiện các lỗi. Kết nối giữa người sử dụng và phần mềm -- Sự kết nối và chỉ định của trình biên dịch, 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 9
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com Hệ điều hành Batch Những người sử dụng Hệ điều hành Batch không tương tác với máy tính một cách trực tiếp. Mỗi người sử dụng chuẩn bị phần việc của họ trên một thiết bị off-line như các thẻ đục lỗ (punch cards) và đệ trình nó tới người điều hành máy tính. Để tăng tốc độ xử lý, các phần việc với các yêu cầu tương tự nhau được kết tụ lại với nhau và chạy như là một nhóm. Do đó, các nhà lập trình buông chương trình của họ cho người điều hành. Sau đó người điều hành sắp xếp các chương trình vào các tụ với các yêu cầu tương tự nhau. 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 10
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 11
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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ư http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 12
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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: Sự thi hành chương trình Các hoạt động I/O Thao tác hệ thống file Giao tiếp Thẩm tra lỗi Cấp phát tài nguyên http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 13
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com Bảo vệ Sự thi hành chương trình 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. Hoạt động I/O Hệ thống phụ I/O bao gồm các thiết bị I/O và phần mềm điều khiển (drivers) tương ứng. Các bộ điều khiển ẩn những nét đặc thù của các thiết bị phần cứng cụ thể từ người sử dụng. Hệ điều hành quản lý giao tiếp giữa người dùng và các thiết bị drivers. 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 hoạt động I/O: Hoạt động I/O nghĩa là hoạt động đọc hoặc viết bất kỳ file nào hoặc bất kỳ thiết bị I/O cụ thể nào. 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 14
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com Thao tác hệ thống file File đại diện cho một tập hợp các thông tin liên quan được thu thập. Máy tính có thể lưu file trên ổ cứng (kho lưu thứ cấp), cho mục đích lưu trong thời gian dài. Một vài ví dụ của phương tiện lưu giữ là các băng từ, đĩa từ và các đĩa quang như CD, DVD. Mỗi một phương tiện có các thuộc tính riêng của nó như tốc độ, dung lượng, tỉ lệ trao đổi dữ liệu và các phương thức truy cập dữ liệu. Một hệ thống file thường được tổ chức vào trong các thư mục để sử dụng và điều hướng dễ dàng. Những thư mục này có thể chứa các file và các thư mục khá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ý file: 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 15
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. Trình bảo mật Giả sử rằng một hệ thống đang có nhiều người sử dụng đang chạy đồng thời nhiều tiến trình, thì khi đó mỗi tiến trình khác nhau phải được bảo vệ từ các hoạt động của nó. Trình bảo mật này liên quan tới kỹ thuật hoặc phương thức để kiểm soát sự truy cập vào các chương trình, các bộ xử lý, hoặc người sử dụng tới các nguồn tài nguyên được xác định rõ bởi hệ thống máy tính. Dưới đây là các hoạt động chính của Hệ điều hành liên quan tới trình bảo mật: 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: http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 16
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 17
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 18
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 19
- http://vietjack.com/operating_system/index.jsp Copyright © vietjack.com 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ả năng tương tác 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. http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Trang 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Tài liệu Hướng dẫn sử dụng Ubuntu bằng tiếng Việt
6 p | 1901 | 490
-
Hệ diều hành Windows 7 và những tính năng hữu ích dành cho người dùng cuối
37 p | 386 | 166
-
Giáo trình Sử dụng hệ điều hành và quản lý máy tính
145 p | 352 | 138
-
Sử dụng Ubuntu bằng tiếng Việt
16 p | 241 | 107
-
Những tính năng hữu ích trong windows 7 (Tiếng Việt)
117 p | 232 | 105
-
WInXP tiếng việt
21 p | 268 | 85
-
Cơ bản về hệ điều hành phân tán (Phần 1) - Chương 1
23 p | 199 | 37
-
TÀI LIỆU ĐÀO TẠO QUẢN TRỊ HỆ THỐNG LINUX 1
123 p | 113 | 33
-
Tài liệu hướng dẫn Ubuntu bằng tiếng Việt
16 p | 186 | 32
-
Tài liệu jQuery tiếng Việt
93 p | 144 | 31
-
Bài giảng Hệ điều hành phân tán
0 p | 134 | 24
-
Tài liệu giảng dạy Hệ điều hành Windows (Nghề: Tin học văn phòng - Trình độ: Trung cấp) - Trường CĐ Xây dựng Nam Định
100 p | 33 | 9
-
Cài đánh Tiếng Việt cho Ubuntu 14.04
3 p | 97 | 8
-
6 ứng dụng thuần Việt thú vị cho điện thoại Lumia
12 p | 92 | 7
-
Windows XP Tips part 12
5 p | 70 | 7
-
Viết status Yahoo Messenger bằng tiếng Việt
4 p | 90 | 6
-
Windows XP Tips part 11
5 p | 81 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn