intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Nguyên lý hệ điều hành: Chương 1 - Phạm Quang Dũng

Chia sẻ: Sao Cũng được | Ngày: | Loại File: PDF | Số trang:11

66
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng chương 1 trình bày các nội dung chính như: Hệ điều hành (Operating System) làm việc gì? Tổ chức của hệ thống máy tính, cấu trúc của hệ điều hành, hoạt động của hệ điều hành, sự quản lý tiến trình, sự quản lý bộ nhớ chính,... Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Nguyên lý hệ điều hành: Chương 1 - Phạm Quang Dũng

Nội dung chương 1<br /> <br /> BÀI GIẢNG<br /> <br /> NGUYÊN LÝ HỆ ĐIỀU HÀNH<br /> <br /> Hệ điều hành (Operating System) làm việc gì?<br /> Tổ chức của hệ thống máy tính<br /> Cấu trúc của HĐH<br /> <br /> Chương 1: Giới thiệu chung<br /> <br /> Hoạt động của HĐH<br /> Sự quản lý tiến trình<br /> Sự quản lý bộ nhớ chính<br /> <br /> Phạm Quang Dũng<br /> Bộ môn Khoa học máy tính<br /> Khoa Công nghệ thông tin<br /> Trường ĐH Nông nghiệp Hà Nội<br /> Website: fita.hua.edu.vn/pqdung<br /> <br /> Sự quản lý bộ nhớ lưu trữ<br /> Protection và Security<br /> Các môi trường sử dụng máy tính<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> Mục tiêu<br /> <br /> 1.2<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> 1.1. Hệ điều hành làm việc gì<br /> <br /> Cung cấp một chuyến du ngoạn lớn qua các thành<br /> <br /> Cung cấp sự tổng quát về tổ chức hệ thống máy tính<br /> <br /> Hệ điều hành (Operating System): Là một chương<br /> trình hoạt động như một lớp trung gian giữa người<br /> sử dụng máy tính và phần cứng máy tính.<br /> <br /> cơ bản.<br /> <br /> Các mục đích của HĐH:<br /> <br /> phần chính của hệ điều hành.<br /> <br /> Thực hiện các chương trình của người sử dụng và giúp<br /> việc giải các bài toán của người sử dụng dễ dàng hơn.<br /> Giúp cho việc sử dụng hệ thống máy tính thuận tiện hơn.<br /> Sử dụng phần cứng máy tính theo một cách hiệu quả.<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.3<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.4<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> 1<br /> <br /> Cấu trúc của hệ thống máy tính<br /> <br /> Bốn thành phần hệ thống máy tính<br /> <br /> 1. Phần cứng (Hardware) – cung cấp các tài nguyên<br /> tính toán cơ bản (CPU, memory, I/O devices)<br /> 2. Hệ điều hành (Operating system) – điều khiển và sắp<br /> xếp việc sử dụng phần cứng trong các chương trình<br /> ứng dụng khác nhau đối với những người sử dụng<br /> khác nhau.<br /> 3. Các chương trình ứng dụng (Applications programs)<br /> – định cách sử dụng tài nguyên hệ thống để giải<br /> quyết các bài toán của người sử dụng (word<br /> processors, compilers, database systems, video games)<br /> <br /> 4. Users (people, machines, other computers)<br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.5<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Các cách nhìn đối với hệ điều hành<br /> Là trình phân phối tài nguyên (Resource allocator) – quản lý và<br /> quyết định phân phối các tài nguyên (CPU, không gian bộ nhớ,<br /> các thiết bị vào/ra...) cho các yêu cầu nhằm đạt hiệu quả và<br /> công bằng.<br /> Là một chương trình điều khiển (Control program) – điều khiển<br /> sự thực hiện các chương trình của người sử dụng và sự hoạt<br /> động của các thiết bị vào/ra để ngăn các lỗi và sự sử dụng sai.<br /> Không có định nghĩa hoàn toán đúng về HĐH.<br /> Kernel (nhân) – là một chương trình chạy liên tục không<br /> ngừng trên máy tính (tất cả các chương trình khác là chương<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.6<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Những gì dễ nhầm với hệ điều hành?<br /> Các lệnh/ứng dụng truy vấn trạng thái hệ thống:<br /> <br /> ls (UNIX), Task<br /> <br /> Manager (Windows). Đó là các công cụ và không chạy liên tục.<br /> Các trình điều khiển thiết bị ngoại vi (drivers): khiến cho HĐH có<br /> thể sử dụng phần cứng mới, chúng là OS extensions chứ không<br /> phải là bản thân OS. Cũng giống như browser plugin và browser.<br /> Các phần mềm có thể đơn phương truy nhập phần cứng:<br /> VMWare là một virtual PC (không phải hardware). Có thể cài<br /> Windows “trên” nó.<br /> Java VM là một virtual machine (không phải hardware), API<br /> (application program interface) của nó là một HĐH suy rộng.<br /> (Careful: JavaOS là một project riêng)<br /> <br /> trình hệ thống hoặc chương trình ứng dụng).<br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.7<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.8<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> 2<br /> <br /> Tại sao phải nghiên cứu HĐH?<br /> Thiết kế HĐH là một nghiên cứu riêng (case study) rất<br /> tốt về thiết kế kỹ nghệ phần mềm.<br /> The better you know the OS, the better apps you<br /> write, the better you understand its bugs and work<br /> around them.<br /> HĐH sử dụng các thuật giải phức tạp, rất nhiều trong<br /> đó có thể được sử dụng lại trong các phần mềm<br /> khác, vd: phát hiện bế tắc (deadlock detection).<br /> <br /> Sự khởi động máy tính<br /> bootstrap program (chương trình mồi) được nạp khi<br /> bật máy hoặc khi khởi động lại.<br /> Thường được chứa trong ROM hoặc EPROM, thường được<br /> gọi là firmware.<br /> Khởi tạo tất cả các khía cạnh của hệ thống.<br /> Nạp nhân (kernel) của HĐH và bắt đầu sự thực hiện.<br /> <br /> HĐH cần có sự phát triển nhanh của phần cứng.<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.9<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> 1.2. Tổ chức của hệ thống máy tính<br /> Một hoặc nhiều CPU, device controler kết nối với nhau bằng bus<br /> chung cho phép truy nhập bộ nhớ chia sẻ.<br /> Sự thực hiện đồng thời của CPU và các thiết bị cạnh tranh các<br /> chu kỳ bộ nhớ.<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.10<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Hoạt động của hệ thống máy tính<br /> Các thiết bị vào-ra và CPU có thể thực hiện đồng thời.<br /> Mỗi mạch điều khiển thiết bị (device controller) phụ trách một loại<br /> thiết bị riêng và có một bộ nhớ đệm riêng (local buffer).<br /> CPU chuyển dữ liệu từ/đến bộ nhớ chính đến/từ các buffer.<br /> Vào-ra từ thiết bị đến local buffer của mạch điều khiển.<br /> Mạch điều khiển thiết bị thông báo cho CPU biết nó đã hoàn tất<br /> công việc của nó bằng cách gây ra một ngắt (interrupt).<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.11<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.12<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> 3<br /> <br /> Các chức năng chính của ngắt<br /> HĐH được điều khiển bằng ngắt (interrupt driven), nghĩa là mã<br /> lệnh của nó chỉ được gọi đến khi ngắt xuất hiện.<br /> Thông thường ngắt chuyển điều khiển cho thường trình dịch vụ<br /> ngắt thông qua vector ngắt (interrupt vector), có chứa địa chỉ của<br /> tất cả các thường trình dịch vụ ngắt (interrupt service routine).<br /> Kiến trúc ngắt (Interrupt architecture) phải lưu địa chỉ của lệnh bị<br /> ngắt.<br /> <br /> Xử lý ngắt<br /> HĐH duy trì trạng thái của CPU bằng cách lưu giữ nội dung các<br /> thanh ghi, bộ đếm chương trình (program counter - PC) và địa<br /> chỉ của lệnh bị ngắt.<br /> HĐH xác định loại ngắt nào đã xuất hiện và có những hành động<br /> thực hiện tương ứng:<br /> polling<br /> vectored<br /> <br /> Các ngắt đến bị vô hiệu (disabled) trong khi một ngắt đang được<br /> thực hiện để tránh bị mất ngắt (lost interrupt).<br /> <br /> Thường trình dịch vụ ngắt (interrupt service routine) chịu trách<br /> nhiệm thực hiện các ngắt, CPU được dành cho xử lý ngắt.<br /> <br /> Một bẫy (trap) là phần mềm tạo ngắt gây ra bởi một lỗi hoặc yêu<br /> cầu của người sử dụng.<br /> <br /> Sau khi phục vụ ngắt, HĐH khôi phục lại ngữ cảnh trước ngắt<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.13<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> Interrupt Timeline<br /> <br /> 1.14<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Cấu trúc vào-ra<br /> Synchronous I/O: Sau khi bắt đầu vào-ra, quyền kiểm soát chỉ<br /> quay lại chương trình của người sử dụng khi vào-ra đó kết thúc.<br /> Chờ lệnh làm rỗi CPU cho đến khi có lệnh ngắt kế tiếp.<br /> Chờ theo vòng lặp kiểm tra CPU rỗi → tranh chấp truy nhập bộ nhớ.<br /> Tại một thời điểm, chỉ có 1 yêu cầu vào-ra được thực hiện, không có<br /> sự xử lý I/O đồng thời.<br /> <br /> Asynchronous I/O: Sau khi I/O bắt đầu, quyền kiểm soát quay lại<br /> chương trình của người sử dụng mà không cần chờ I/O kết thúc.<br /> System call – gửi yêu cầu tới HĐH cho phép người sử dụng đợi I/O<br /> kết thúc (nếu muốn).<br /> Bảng trạng thái thiết bị (Device-status table) chứa thông tin (entry)<br /> của mỗi thiết bị I/O cho biết trạng thái, địa chỉ và loại của thiết bị.<br /> HĐH tra cứu vào bảng I/O device để xác định trạng thái thiết bị và<br /> sửa đổi thông tin để thêm thông tin ngắt.<br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.15<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.16<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> 4<br /> <br /> Mô tả 2 phương pháp vào-ra<br /> Đồng bộ - Synchronous<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> Bảng trạng thái thiết bị<br /> <br /> Không đồng bộ - Asynchronous<br /> <br /> 1.17<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> Cấu trúc DMA (Direct Memory Access)<br /> Được sử dụng cho các thiết bị tốc độ cao (disk, communications<br /> network) để có thể tăng tốc độ trao đổi thông tin gần tới tốc độ<br /> <br /> 1.18<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Cấu trúc hệ thống nhớ<br /> Bộ nhớ chính (Main memory: RAM) – phương tiện lưu trữ lớn<br /> duy nhất mà CPU có thể truy nhập trực tiếp.<br /> <br /> bộ nhớ.<br /> <br /> Quá nhỏ để có thể lưu trữ ổn định tất cả các chương trình và dữ<br /> liệu cần thiết.<br /> <br /> Mạch điều khiển thiết bị chuyển toàn bộ các khối dữ liệu (block<br /> <br /> Có tính không ổn định ⇒ mất dữ liệu khi tắt nguồn.<br /> <br /> of data) từ bộ nhớ buffer trực tiếp tới bộ nhớ chính không qua sự<br /> can thiệp của CPU.<br /> Chỉ có 01 ngắt được sinh ra đối với mỗi block, tối ưu hơn là mỗi<br /> ngắt đối với 01 byte (hoặc word) đối với các thiết bị tốc độ chậm.<br /> <br /> Bộ nhớ thứ cấp (Secondary storage) – là sự mở rộng của bộ<br /> nhớ chính, để cung cấp dung lượng bộ nhớ lớn và ổn định.<br /> Vd: Đĩa từ (Magnetic disks: đĩa cứng, đĩa mềm)<br /> Cấu tạo bằng kim loại cứng hoặc các miếng kính được bao bọc<br /> bởi vật liệu nhiễm từ.<br /> Bề mặt đĩa được chia (vật lý) thành các tracks, mỗi track được chia<br /> thành các sectors.<br /> Mạch điều khiển đĩa (disk controller) xác định sự tương tác vật lý<br /> giữa thiết bị và máy tính.<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.19<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> Bài giảng Nguyên lý Hệ điều hành<br /> <br /> 1.20<br /> <br /> Phạm Quang Dũng ©2008<br /> <br /> 5<br /> <br />
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2