Tai lieu on cuoi ki HDH

34 292 0
Tai lieu on cuoi ki HDH

Đ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

I. Mô hình process: a. Khái niệm process: Process là chương trình được thực thi: Được nạp vào bộ nhớ: mã chương trình, mã lệnh……. Có các thông tin trạng thái: thanh ghi PC, các thanh ghi,… Mỗi process thực thi trên một CPU ảo Hệ thống có nhiều process đồng thời: Đa chương 1 CPU. Đa xử lý nhiều CPU trên 1 máy. Phân bố nhiều CPU trên nhiều máy. b. Tổ chức thứ bậc các process: Tạo process mới : hệ điều hành thực hiện Tạo cấu trúc thông tin quản lý Cập nhật vùng nhớ, nạp chương trình Tình huống tạo process: Hệ điều hành tạo process mới. User yêu cầu tạo process mới. Process tạo process mới. Kết thúc process: Chủ động: Kết thúc bình thường Kết thúc có lỗi sai Bị động: Bị kết thúc bởi yêu cầu của process khác Kết thúc do lỗi nghiêm trọng (kết thúc bởi hệ điều hành) Thu hồi tài nguyên Quan hệ thứ bậc Parentchild (chacon) Process tạo: Parent process. Process được tạo: Child process. Hiện thực: UNIX : process group: khi cha bị hủy, con bị hủy theo Windows: không có tổ chức thứ bậc, các process ngang hàng.

20/12/2010 Ôn thi cuối hệ điều hành Vấn đề b7@2e Quản lý process I Mô hình process: a Khái niệm process: − Process chương trình thực thi:  Được nạp vào nhớ: mã chương trình, mã lệnh……  Có thông tin trạng thái: ghi PC, ghi,… − Mỗi process thực thi CPU ảo − Hệ thống có nhiều process đồng thời:  Đa chương - CPU  Đa xử lý - nhiều CPU máy  Phân bố - nhiều CPU nhiều máy b Tổ chức thứ bậc process: − Tạo process : hệ điều hành thực  Tạo cấu trúc thông tin quản lý  Cập nhật vùng nhớ, nạp chương trình − Tình tạo process:  Hệ điều hành tạo process  User yêu cầu tạo process  Process tạo process − Kết thúc process:  Chủ động:  Kết thúc bình thường  Kết thúc có lỗi sai  Bị động:  Bị kết thúc yêu cầu process khác  Kết thúc lỗi nghiêm trọng (kết thúc hệ điều hành)  Thu hồi tài nguyên − Quan hệ thứ bậc  Parent-child (cha-con)  Process tạo: Parent process  Process tạo: Child process  Hiện thực:  UNIX : process group: cha bị hủy, bị hủy theo  Windows: tổ chức thứ bậc, process ngang hàng c Các trạng thái process: Mô hình đơn giản: Page of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e Mô hình trạng thái: − Thực thi – Running:  Đang thực thi (đang sử dụng CPU)  Chỉ có running process thời điểm hệ thống đa chương − Sẵn sàng – Ready:  Sẵn sàng thực thi, tạm dừng chờ CPU  Có nhiều ready process  Được quản lý ready queue − Bị chặn – Blocked:  Không thể thực thi có biến cố xảy  Có nhiều blocked process  Được quản lý blocked queue Chuyển trạng thái: − Running -> Blocked(1): chờ biến cố − Running -> Ready (2): hết thời gian − Ready - > Running (3): thực thi − Blocked -> Ready (4): biến cố xảy Thời điểm chuyển trạng thái:  Ngắt quãng thời gian – Clock Interrupt  Dùng để kiểm soát thời gian  Ngắt quãng thiết bị - I/O Interrupt  Liên quan đến thiết bị I/O  Lệnh gọi hệ thống, lỗi – System call, trap  Khi gọi system calls, hay có lỗi  Lỗi truy suất nhớ (Memory Fault)  System Call, trap Bộ điều phối:(scheduler) Page of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e Mô hình trạng thái: − New: khối thông tin quản lý process tạo Process chưa nạp vào nhớ − Exit: process kết thúc, khối thông tin process lưu trữ  cho phép rút trích − Chuyển trạng thái:  NULL -> new  New -> Ready : Khi số process nạp chưa vượt giới hạn  Running -> Exit : Process kết thúc xảy tương ứng với tình chủ động Trạng thái trì hoãn (Suspend): − Tiến trình không thực thi chuyển tạm nhớ -> đình hoãn − Dành nhớ để nạp tiến trình thực thi khác − Mô hình trạng thái đình hoãn: − Mô hình trạng thái đình hoãn: • • • Blocked -> Blocked / Suspend  Không process sẵn sang  Còn Process sẵn sang cần thêm nhớ Blocked/ Suspend -> Ready/Suspend Ready/Suspend -> Ready Page of 34 Ôn thi cuối hệ điều hành • • 20/12/2010 b7@2e  Không process trạng thái sẵn sàng  Process trạng thái sẵn sàng/ đình hoãn có độ ưu tiên cao Ready -> Ready/Suspend  Cần thêm nhớ process trạng thái sẵn sang có độ ưu tiên thấp process bị chặn Blocked/Suspend -> Blocked  Kích thước nhớ cho phép  Process trạng thái bị chặn/đình hoãn có độ ưu tiên cao process trạng thái sẵn sang/đình hoãn II Hiện thực process: − Hệ điều hành tổ chức quản lý bảng:  Bảng process – Process Tables  Bảng nhớ - Memory Tables  Bảng File – File Tables  Bảng xuất nhập – I/O Tables  Memory table:  Thông tin cấp phát nhớ cho process  Bộ nhớ  Bộ nhớ phụ  Các thuộc tính bảo vệ vùng nhớ dung chung  Thông tin cần cho việc quản lý nhớ ảo  I/O table:  Thông tin sử dụng thiết bị I/O  Thiết bị khả dụng  Thiết bị cấp phát  Trạng thái hoạt động I/O  Vị trí vùng nhớ chuyển liệu  File Table:  Vị trí lưu trữ  Trạng thái hành  Thuộc tính  Hầu hết thông tin quản lý hệ thống quản lý file − Cấu trúc bảng phụ thuộc hệ điều hành − Process nhớ -> ảnh process (process image) − Thông tin quản lý process:  Danh hiệu (ID) cho phép xác định process  Trạng thái xử lý: + Thanh ghi PC, ghi flag + Các ghi  Thông tin điều khiển + Trạng thái process + Tài nguyên sử dụng (bộ nhớ, file, I/O) + Quyền truy xuất + Độ ưu tiên +…  PCB : Process Control Block − Khối thông tin quản lý process Page of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e  Được tạo quản lý hệ điều hành  Được tạo vào thời điểm tạo process − Chứa thông tin cần thiết để quản lý process  Process ID  Thông tin trạng thái CPU  Thông tin điều khiển Process  Chuyển đổi ngữ cảnh: công đoạn  Công đoạn 1: + Lưu ngữ cảnh processor (nội dung ghi) + Cập nhật PCB process thực thi + Đưa PCB vào hàng đợi thích hợp – sẵn sàng, bị chặn  Công đoạn 2: + Chọn process khác để thực thi + Cập nhật PCB process chọn + Cập nhật cấu trúc quản lý nhớ + Khôi phục ngữ cảnh process chọn III Truyền thông process a Tương tác process − Nhiều tiến trình thực đồng thời − Ba dạng tương tác tiến trình  Các process độc lập  Các process biết gián tiếp (thông qua tài nguyên dùng chung)  Các process biết trực tiếp (các process thuộc phần mềm) − Các process dùng chung tài nguyên Việc dùng chung tài nguyên dẫn đến tranh chấp b Tranh chấp tài nguyên − Điều kiện dẫn đến tranh chấp:  Hai nhiều process truy suất tài nguyên dùng chung  Thứ tự truy xuất ảnh hưởng đến kết thực process (truy xuất có cập nhật, sửa đổi) − Khái niệm:  Tài nguyên tranh chấp: tài nguyên dùng chung, thứ tự truy xuất khác có kết khác  Vùng tranh chấp: đoạn mã chương trình có dùng chung tài nguyên tranh chấp ( Phần chương trình truy xuất tài nguyên tranh chấp) b Loại trừ tương hỗ (giải pháp giải tranh chấp tài nguyên)  Khái niệm: − Giải pháp giải triệt để vấn đề tranh chấp tài nguyên process: − Khi có process vào vùng tranh chấp tất process khác phải vùng tranh chấp  Các vấn đề nảy sinh: − Deadlock − Starvation  Các yêu cầu: (1) (2) (3) (4) Tại thời điểm có tối đa process vùng tranh chấp.( Điều kiện tiên quyết) Không có giả sử tốc độ số lượng CPU Không có process vùng tranh chấp ảnh hưởng đến process khác Không có process chờ vô hạn định Page of 34 20/12/2010 Ôn thi cuối hệ điều hành b7@2e  Áp dụng: − Nguyên tắc chung: • Đi vào vùng tranh chấp (enter_region())  Kiểm tra điều kiện “được vào” + Thỏa: báo hiệu vào + Không thỏa: chờ • Ra khỏi vùng tranh chấp (leave_region())  Báo hiệu: “đã ra” − Cấu trúc process: while(TRUE){ enter_region(); critical_region(); leave_region(); noncritical_region(); } //kiểm tra điều kiện //vùng tranh chấp //thông báo trạng thái //vùng không tranh chấp  Cơ chế chờ: Có dạng chờ: − Busy-Waiting  Chờ vòng lặp  Lặp vòng kiểm tra điều kiện “được vào”  Dùng giải pháp loại trừ tương hỗ  Bằng phần mềm  Phần cứng hỗ trợ − Sleep-Wakeup  Chờ trạng thái Blocked:  Process chờ vào vùng tranh chấp -> chuyển sang trạng thía Blocked (sleep)  Process khỏi vùng tranh chấp báo hiệu -> đánh thức process chờ  Giải pháp loại trừ tương hỗ có hỗ trợ hệ điều hành  Giải pháp:  Phần mềm giải loại trừ tương hỗ: − Giải thuật đơn giản: P0 flag=0; while(TRUE){ while(flag==0) flag=1; //vào critical_region(); flag=0; //ra noncritical_region(); } −  Giải    (chưa giải được) thuật luân phiên nghiêm ngặt: (Strict Alternation) Giải trường hợp process (P0 P1) tài nguyên Hai process dùng biến turn để xác định đến phiên process vào vùng tranh chấp Khởi động turn = P0 P1 Page of 34 Ôn thi cuối hệ điều hành 20/12/2010 while(TRUE){ while(TRUE){ while(turn!=0); while(turn!=1); critical_region(); critical_region(); turn=1; turn=0; noncritical_region(); noncritical_region(); } } b7@2e   − Xét hoạt động P0 (tương tự cho P1) Hoạt động P0: P0 kiểm tra biến turn: P0 vào vùng tranh chấp turn = P0 chờ turn = P0 gán turn = rời vùng tranh chấp  Hoạt động P0 với P1: Giả sử P0 đến vòng while: P1 vùng tranh chấp  turn = 0;  P0 vào vùng tranh chấp P1 vùng tranh chấp  turn = 1;  P0 chờ P1 đến vòng while: biến turn dùng chung nên có process vào vùng tranh chấp, process chờ vòng while  Đánh giá giải thuật luân phiên nghiêm ngặt  Đạt yêu cầu (1) yêu cầu (4)  Giả sử P0 vào vùng tranh chấp 100 lần/đơn_vị_thời_gian , P1 vào vùng tranh chấp lần/đơn_vị_thời_gian: luân phiên nghiêm ngặt nên P0 vào vùng tranh chấp lần/đơn_vị_thời_gian  không thỏa yêu cầu (2)  Giả sử P1 có lỗi vùng tranh chấp: P0 dừng mãi vòng while  không thỏa yêu cầu (3) Giải thuật Peterson:  Xét trường hợp process (P0 P1) tài nguyên  Hai process dùng chung:  Biến turn: xác định đến phiên process vào vùng tranh chấp  Mảng boolean interested[2]: thể process sẵn sàng vào vùng tranh chấp  Interested[0] : P0 sẵn sàng vào vùng tranh chấp  khởi động interested[0] = interested[1]=FALSE #define FALSE #define TRUE #define N //số process int turn; //đến phiên process int interested[N]; //process sẵn sàng void enter_region(int process) { int other; //process lại other = - process; interested[process] = TRUE; //thể process sẵn sàng turn = process; //đặt phiên while (turn == process && interested[other] == TRUE); } void leave_region(int process) { interested[process] = FALSE; //rời vùng tranh chấp } Page of 34 20/12/2010 Ôn thi cuối hệ điều hành b7@2e  Phần cứng hỗ trợ giải loại trừ tương hỗ: − TSL (Test Set Lock): Đọc giá trị từ nhớ vào ghi sau ghi giá trị khác (thường 1) vào từ nhớ Thao tác đọc ghi nêu lệnh – Thao tác đơn vị (atomic, primitive)  Ứng dụng lệnh TSL loại trừ tương hỗ: Giải trường hợp n process n process dùng chung biến flag, khợi động flag = enter_region: TSL REGISTER,FLAG;|đưa FLAG vào ghi ghi giá trị vào FLAG CMP REGISTER,0; |so sánh FLAG với JNE ENTER_REGION; |khi FLAG!=0 tức có process vào  lặp RET; |nếu FLAG==0  trở hàm gọi (vào vùng tranh chấp) leave_region: MOVE FLAG,0; RET; |gán giá trị vào FLAG |trở hàm gọi (vào vùng không tranh chấp) − CPMXCHG (IA32) – Compare and Exchange Cú pháp: CMPXCHG DEST, SRC Hoạt động: CMP accumulator(AL/AX/EAX) với toán hạng đích.Nếu toán hạng nguồn copy sang toán hạng đích Còn không toán hạng đích copy sang accumulator IF accumulator = DEST THEN ZF  DEST  SRC ELSE ZF  accumulator  DEST FI − SWAP: Định nghĩa: void Swap(boolean &a, boolean &b){ boolean temp = a; a = b; b = temp; } Swap thao tác nội dung từ; thị TSL, thực thi theo tính nguyên tử Hoạt động loại trừ tương hỗ: biến luận lý toàn cục lock khai báo khởi tạo false Ngoài ra, trình có biến luận lý cục key Cấu trúc trình Pi hiển thị sau: do{ } key = true; while (key == true) Swap(lock, key); critical_region(); lock = false; noncritical_region(); Page of 34 20/12/2010 Ôn thi cuối hệ điều hành b7@2e  Hệ điều hành hỗ trợ (Semaphores) a/ Khái niệm: Semaphore kỹ thuật hệ điều hành hỗ trợ:  Xử lý loại trừ tương hỗ  Đồng process Dùng để báo hiệu (signaling) Khi process chờ báo hiệu vào trạng thái blocked, không chờ vòng lặp b/ Cấu trúc liệu: struct semaphore{ int count; queueType queue; } c/ Tác vụ: Ba tác vụ đơn vị:  Khởi động giá trị - init() ; (Semaphore nhận giá trị không âm.)  Giảm giá trị - down() / wait() / P() ; (Giảm giá trị semaphore đơn vị Nếu semaphore âm process gọi thao tác down() bị blocked, vào hàng đợi semaphore.)  Tăng giá trị - up() / signal() / V(); (Tăng giá trị semaphore đơn vị Nếu semaphore không dương có process hàng đợi semaphore chuyển sang trạng thái ready ) void down(semaphore s){ s.count ; if(s.count < 0){ đưa process vào s.queue; block process; } } void up(semaphores){ s.count++; if(s.count địa tuyến tính: − Chuyển đổi địa tuyến tính -> địa vật lý: Page 21 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e Vấn đề III Quản lý xuất nhập (I/O) I Nguyên lý phần cứng xuất nhập: Phân loại thiết bị xuất nhập: − Block devices – Thiết bị dạng khối:  Thông tin lưu theo khối, khối có địa  Đọc ghi theo khối độc lập  Ví dụ: đĩa từ − Charater devices – Thiết bị dạng ký tự  Thông tin truyền theo chuỗi ký tự  Không có địa  Vd: bàn phím, card mạng, chuột…   Không dạng Vd: file system, clock… − Abstract devices – Các thiết bị trừu tượng Thành phần mạch điều khiển: − Thiết bị I/O gồm có thành phần:  Thành phần khí  Thành phần điện -> mạch điều khiển Có thể điều khiển nhiều thiết bị − Nhiệm vụ mạch điều khiển:  Chuyển đổi liệu (bits, streams, blocks)  Kiễm soát lỗi (nều cần thiết)  Tồn kiến trúc hệ thống − Mạch điều khiển kết nối với I/O bus − Thiết bị nối với mạch điều khiển − Thông số:  Địa (theo phương pháp xuất nhập)  Tập lệnh điều khiển − Phần mềm điều khiển thiết bị thông qua mạch điều khiển với tập lệnh  Vd: FDC Floopy Disk Controller có lệnh SEEK, READ, WRITE,… Địa thiết bị I/O: − Memory mapped I/O:  Thiết bị nhớ dùng chung không gian địa  Xuất nhập tương đương đọc ghi nhớ  Không cần lệnh I/O − Isolated I/O  Dùng không gian địa riêng Page 22 of 34 Ôn thi cuối hệ điều hành   20/12/2010 b7@2e Cần tín hiệu điều khiển I/O riêng Cần lệnh I/O Interrupt: − Cần Interrupt Controller Interrupt handler − Hoạt động: CPU yêu cầu xuất nhập Thiết bị yêu cầu ngắt quãng (interrupt) sẵn sàng Thực thi chương trình xử lý ngắt − Thông số thiết bị:  Địa I/O  Yêu cầu ngắt (IRQ i) DMA: − Cần có DMA Controller − Hoạt động: CPU gởi yêu cầu xuất nhập cho DMAC DMAC thực trao đổi liệu nhớ thiết bị Khi kết thúc, DMAC gởi tín hiệu ngắt quãng cho CPU − Thông số thiết bị:  Địa I/O  Yêu cầu ngắt (IRQ i)  Kênh DMA (DMA channel) II Tổ chức phần mềm xuất nhập Xử lý ngắt quãng − Process yêu cầu I/O bị blocked có ngắt quãng − Chương trình xử lý ngắt quãng thực thi, chuyên blocked process sang trạng thái ready Chương trình điều khiển thiết bị − Device driver chứa đoạn mã phụ thuộc loại thiết bị − Device driver trao đổi liệu với ghi mạch điều khiển, kiểm tra trạng thái thiết bị − Ví dụ: Windows driver (Universal driver, Minidriver) Phần mềm I/O cấp hệ điều hành − Các hàm I/O chung cho thiết bị, tạo giao diện thống cho phần mềm cấp user − Giải vấn đề:  Đặt tên  Bảo vệ  Tổ chức buffer  Báo lỗi Phần mềm I/O cấp user − Các yêu cầu I/O gọi thông qua hàm thư viện xuất nhập III Đĩa từ Phần cứng đĩa từ: − Cấu trúc mặt đĩa: track, sector Page 23 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e − Đĩa từ : hard driver  Track, Sector, Cylinder…  Đơn vị truy xuất: sector  Các bước truy xuất sector:  Di chuyển hệ thống đầu từ đến Cylinder chứa sector – Seek time (mili sec)  Chờ sector xoay đến vị trí đầu từ - Rotational latency (rpm)  Truy xuất sector  Thông số tổng quát: tốc độ truy xuất (Data Transfer Rate) theo MB/sec − Mạch điều khiển đĩa: Disk Controller  Các chuẩn : SCSI, IDE − SCSI (Small Computer System Interface):  Dạng I/O bus, điều khiển nhiều loại thiết bị: đĩa cứng, CDROM, scanner, máy in…  Có thể đến 15 thiết bị/cáp − Chuẩn IDE (Integrated Drive Electronics):  Còn gọi ATA (AT Attachment)  EIDE (Extended IDE ) -> ATA -2  thiết bị  Điều khiển CDROM  Hỗ trợ LBA (Logical Block Addressing)  ATA-4  Ultra ATA ATA – 33/66/100 : tốc độ DMA 33MHz − Chuẩn Serial ATA (SATA)  Tốc độ cao, từ 150 MB/sec  Chỉ điều khiển đĩa  Dễ cài đặt Các phương pháp điều phối đĩa từ: − Có thể có nhiều yêu cầu truy xuất đĩa đồng thời  Cần chọn xử lý yêu cầu − Xử lý yêu cầu: di chuyển hệ thống đầu từ  Điều phồi đĩa từ Các phương pháp điều phối đĩa từ: − Random: chọn yêu cầu đáp ứng cách ngẫu nhiên − Priority: đáp ứng yêu cầu theo độ ưu tiên process yêu cầu tối ưu hóa việc sử dụng đĩa đáp ứng số mục tiêu khác Công việc ngắn có ưu tiên cao hơn, cho thời gian đáp ứng tương đối tốt − FIFO: chọn yêu cầu có thứ tự xuất yêu cầu − SSF (Shortest Seek First): chọn đáp ứng yêu cầu cho khoảng di chuyển đầu từ so với vị trí ngắn (minimum seek time) Có thể dẫn đến starvation process yêu cầu truy xuất track biên − SCAN – gọi elevator algorithm:  Hệ thống đầu từ di chuyển theo hướng  Xử lý yêu cầu theo hướng  Nếu hết yêu cầu hay đến Cylinder cuối di chuyển theo hướng ngược lại − C-SCAN  Hệ thống đầu từ di chuyển theo hướng  Xử lý yêu cầu theo hướng  Nếu hết yêu cầu hay đến Cylinder cuối di chuyển nhanh vế phía Cylinder − Thực tế: Page 24 of 34 Ôn thi cuối hệ điều hành   20/12/2010 b7@2e Nếu số yêu cầu ít: dùng SSF Nếu số yêu cầu nhiều: dùng C-SCAN IV RAID Định nghĩa: − RAID: Redundant array of independent disks − Một đĩa luận lý từ nhiều đĩa vật lí − Mục đích:  Tăng hiệu suất đọc/ghi  Tăng độ tin cậy  phát lỗi sai khôi phục Mức (level) − RAID level  Tổ chức lưu trữ script hai đĩa đối xứng  mirror  Real-time backup  Chi phí cao  Dùng để lưu trữ phần mềm hệ thống liệu quan trọng − RAID level  Strip kích thước nhỏ: byte, word  Hai nhóm đĩa: nhóm chứa liệu & nhóm chứa mã sửa sai (Hamming code)  Mã sửa sai tính toán cho bit liệu đĩa liệu − RAID level  Strip kích thước nhỏ: byte, word  đĩa chứa mã sửa sai: parity bit (bit chẵn, lẻ)  Xác định parity bit: XN-1(i) = XN-2(i) XN-3(i) … Xk(i) … X0(i) − RAID level  Strip kích thước lớn  Parity strip: XN-1(i) = XN-2(i) XN-3(i) … Xk(i) … X0(i)  Vấn đề cập nhật  Cập nhật strip k ( Xk(i)  Xk’(i) )  Cập nhật parity strip XN-1(i) = XN-1(i) Xk(i) Xk’(i)  Chỉ có đĩa chứa parity strip: bottleneck − RAID level  Số đĩa cứng yêu cầu : ổ đĩa - Ưu điểm : sử dụng chuẩn Stripped cấp độ block kết hợp với parity , bảo vệ liệu tốt , đọc liệu cao , phục hồi lại liệu đơn giản gặp cố đơn giản - Khuyết điểm : Bộ điều khiển cho RAID phức tạp , tốc độ ghi cao bình thường - Chi phí dành cho RAID5 cao - Ứng dụng vào server Mail , web , máy chủ game … - Tổng dung lượng =dung lượng đĩa nhỏ x (số đĩa cứng -1) − RAID level  Sử dụng đĩa liệu độc lập hệ thống phân tán - Số đĩa cứng yêu cầu : đĩa - Ưu điểm RAID level có độ an toàn mức cao , giống RAID level lại khác chỗ có chế thực tính toán kiểm tra lỗi độc lập với nhằm tăng cường khả chịu lỗi , liệu tách từ khối block Page 25 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e đặt vào tập hợp ổ đĩa , tập hợp thứ bao gồm thông tin kiểm tra tính toán ghi tất đỉa Vò RAID level có khả dung lỗi cao chịu nhiều ổ đĩa cứng hư đồng thời (tất nhiên hư phải có giới hạn hư lúc hết loạt ) - Khuyết điểm : Bộ điều khiển phức tạp , khả ghi phải qua chế thực tính toán tốn nhiều ổ đĩa - Giá thành cho giải pháp RAID6 cao - Ứng dụng quan nhà nước , phủ … V Clock Khái niệm − Clock gọi timer, sở cho thao tác hệ thống chia sẻ thời gian (time sharing) − Clock dùng để tính thời gian, ngăn chặn việc process sử dụng CPU − Về hình thức clock device driver (không dạng character, không dạng block) Phần cứng clock − Gồm thành phần:  Bộ tạo dao động – Crystal oscillator  Bộ đếm – Counter  Thanh ghi – Holding register − Có chế độ hoạt động  Đếm lần – one-shot mode  Bộ đếm đặt giá trị ban đầu  Bộ đếm thực đếm xuống  Khi đếm đạt tạo tín hiệu ngắt quãng  Đếm liên tục – square-ware mode  Bộ đếm ghi đặt giá trị ban đầu  Bộ đếm thực đếm xuống  Khi đếm đạt thì: + Tạo tín hiệu ngắt quãng + Sao chép giá trị ghi sang đếm + Lập lại việc đếm xuống Ứng dụng clock − Phần cứng clock tạo ngắt quãng theo thời gian xác định Clock driver thực xử lý Các hệ điều hành cung cấp thao tác thời gian khác − Các ứng dụng clock:  Duy trì thời gian:  Khuôn dạng thời gian phụ thuộc hệ điều hành  Điều phối process/thread:  Clock tạo ngắt quãng định kỳ  tương ứng với đơn vị thời gian q  Tạo timer cho phần mềm ứng dụng  Thực thao tác thống kê, giám sát hệ thống Vấn đề IV Hệ thống File I Hiện thực hệ thống file FAT: Page 26 of 34 Ôn thi cuối hệ điều hành 20/12/2010 − Mỗi partition theo dạng danh sách liên kết có FAT:  Số phần tử với số khối:  Chứa danh sách liên kết khối tất file  Quản lý khối chưa sử dụng  Quản lý khối không sử dụng − Cấu trúc FAT partition:  Cấu trúc FAT 16: Boot sector Mẫu tin khởi động: Các thông số partition Đoạn chương trình khởi động FAT FAT2 Bản FAT Root folder Thư mục gốc Data Dữ liệu file, thư mục  b7@2e Cấu trúc FAT 32: − Thông số:  Kích thước phần tử FAT: 16 bit: FAT16 32 bit: FAT32 (không dùng bit sau)  Kích thước cluster: 512 bytes -> 64KB − Các vấn đề FAT  Phân mảnh bên  Do kích thước đơn vị cấp phát cố định Page 27 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e  Giải quyết: nén đĩa(dis compresstion) Phân mảnh bên  Do thay file  Giải quyết: chương trình công cụ dạng defragmentation/speeddisk − Thư mục FAT: Mỗi file quản lý phần tử thư mục(directory entry): ○ Tên, thuộc tính ○ Địa cluster file  Phần tử thư mục - MSDOS   Filename, Extension: tên file phần mở rộng  Attributes: thuộc tính (read only, hidden, system, archive, subdirectory)  Date, Time: ngày tạo file  First block number: địa cluster file  Size: kích thước file  b/ Phần tử thư mục – Windows 98  NT: tương thích windows NT  Địa cluster kích thước 32 bit  Sec: có nhiều loại date/time NTFS: − Là hệ thống file chuẩn Windows NT/2K/XP/2K3 − Có nhiều ưu điểm:  Kích thước file, volume lớn  Có khả phục hồi, nén, mã hóa tốt  Bảo mật tốt  Truy xuất nhanh − Đặc điểm:  NTFS sử dụng số cluster 64 bit, địa hóa đến 16 exabytes  Khả khôi phục: o Hoạt động làm thay đổi cấu trúc NTFS thiết kế thao tác đơn vị (atomic transaction) Page 28 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e o Lưu trữ dự phòng thông tin quan trọng hệ thống file  Khả bảo vệ file: o Thông tin bảo vệ file lưu đĩa phần file o Hệ thống kiểm tra quyền truy cập process truy xuất đến file − Cấu trúc NTFS partition:  Boot sector:  Thông tin hệ thống file  Chương trình nạp file khởi động HDH (ntldr)  MFT: file quản lý hệ thống file  System files: file hệ thống (metadata) − Các file hệ thống:  Được tạo định dạng partition  Gồm file:  MFT, MFT mirror  Log file  Cluster Bitmap file (quản lý free blocks)  Boot file  Bad cluster file − MFT (Master File Table):  Quản lý hệ thống file NTFS partition  Bao gồm record (1KB)  Mỗi file hay folder quản lý hay nhiều MFT record  File, folder kích thước nhỏ (normal): record  File, folder kích thước lớn (large): có thêm phần mở rộng  MFT records: o File thường: (có block)  File name header o File lớn: (có MFT record)  Base record  File entension record  Second extension record  Thư mục thường  Truy xuất file Page 29 of 34 20/12/2010 Ôn thi cuối hệ điều hành b7@2e Dạng i-node: − Dùng hệ điều hành UNIX − Tồ chức, quản lý:  Mỗi file quản lý bảng, gọi i–nodes, lưu thông tin: loại file, thông số thời gian, bảo vệ file, địa khối file  File kích thước nhỏ dùng i-node chứa địa khối file  File kích thước lớn cần thêm khối gián tiếp (indirect block), chứa địa chỉ, khối file hay khối gián tiếp cao − Cấu trúc partition theo i-node: − Kích thước:     Boot block: khối khởi động Super block: thông tin hệ thống file I nodes: bảng i–node Data blocks: khối liệu Page 30 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e − Directory i-node − Truy xuất file: Page 31 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e Các bước truy xuất /usr/ast/mbox Hệ thống file Linux − Xuất phát từ Minix file system − Phát triển với cấu trúc VFS kernel: Virtual File System − Hiện thực thêm hệ thống file theo dạng i-node:  Extended File System (Ext)  Second Extended File System (Ext2)  Cấu trúc VFS: Page 32 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e  Cấu trúc partition theo Ext2:      Super block, Group descriptor: thông tin hệ thống file Block bitmap: quản lý khối i-node bit map: quản lý bảng i-node i-nodes: bảng i-node Data blocks: khối liệu Page 33 of 34 Ôn thi cuối hệ điều hành 20/12/2010 b7@2e Credits Châu Chí Minh Hà Vị Biếu Nguyễn Thanh Nhân Trần Đăng Khoa Tài liệu tham khảo Slide giảng thầy Ninh Xuân Hương Slide giảng thầy Huỳnh Minh Quang Giáo trình Hệ điều hành – Đại học Cần Thơ Đề cương hệ điều hành – Hồng Chí Thành Operating Systems Design and Implementation – Andrew S Tanenbaum Page 34 of 34 ... while(turn!=1); critical_region(); critical_region(); turn=1; turn=0; noncritical_region(); noncritical_region(); } } b7@2e   − Xét hoạt động P0 (tương tự cho P1) Hoạt động P0: P0 ki m tra biến turn:... ra” − Cấu trúc process: while(TRUE){ enter_region(); critical_region(); leave_region(); noncritical_region(); } / /ki m tra điều ki n //vùng tranh chấp //thông báo trạng thái //vùng không tranh... mutex_lock(m); critical_region(); mutex_unlock(m); noncritcal_region(); } // // // // ki m tra điều ki n vùng tranh chấp thông báo trạng thái vùng không tranh chấp g/ Monitors Module phần mềm có

Ngày đăng: 09/06/2017, 12:32

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan