Hệđiều hành (Operating System) PHAN Xuân Huy

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Hệđiều hành (Operating System) PHAN Xuân Huy"

Transcript

1 Hệđiều hành (Operating System) PHAN Xuân Huy 1

2 Thông tin giới thiệu Bố cụcmônhọc: 45 LT + 30 TH Hình thứcthi: Lý thuyết: 7 điểm (Không sử dụng tài liệu) Thực hành: 3 điểm (Theo qui định của GVHDTH) Các thắcmắc vui lòng liên hệ: Phan Xuân Huy pxhuy@fit.hcmuns.edu.vn Giáo trình môn học: Hệ điều hành LêKhắc Nhiên Ân ĐHKHTN Tp.HCM Hệ điều hành nâng cao - Trần Hạnh Nhi ĐHKHTN Tp.HCM 2

3 Mụctiêucủamônhọc: Cung cấp Các kiến thức cơ bản về HĐH đa nhiệm Hiểu rõmôhìnhtổ chức, nguyên lý hoạt động, của cácthànhphần cơ sở của một HĐH hiện đại Biết cáchsử dụng/quản trị các HĐH thông dụng, khai thác tốtcácdịch vụ của HĐH. 3

4 Thảo luận 1CPU vs nhiều Chương trình Nhu cầu: Người dùng luôn thích sử dụng HĐH cho phép chạy vài chương trình đồng thời Hệ điều hànhnhư thế gọi làgì? Thựctế: Hầuhếtcácmáytínhchỉ có mộtbộ vi xử lý (các máy có >1 CPU rất đắttiền) Làm sao thỏa mãn được nhu cầu người dùng? MộtCPU rõràngchỉ có thể chạy đượcmộtchương trình Không thể chia CPU làm nhiều phần như chia bánh được 4

5 Thảo luận Chiasẻ bộ nhớ Các chương trình muốncóthể chạythìtrướchếtcầnphải đượcnạpvàotrongbộ nhớ chính (RAM). Khi có nhiềuchương trình cùng sử dụng bộ nhớ thì HĐH sẽ thựchiệnviệcchiasẻ cho mỗichương trình không gian nhớ riêng. Vấn đề: bộ nhớ RAM thì có hạn(vídụ 64MB), vậy khi chạynhiềuchương trình thì ra sao??? Ví dụ: Windows XP (lõi) 60MB Windows Media Player 12MB Visual Studio.NET 30MB Làm cách nào mà Windows vẫnchạy được? 5

6 Thảo luận Chiasẻ card sound Khi đang nghe nhạc, nếu Windows gặp lỗi, ta có nghe được tiếng báo lỗi? Chỉ có các hệđiềuhànhnhư ME, 2000, XP, Vậy HĐH đã sử dụng giải pháp nào? Luân phiên? Tuầntự? Chia bánh? Giải pháp khác? Về nhà bạn thử làm cho Windows phát 2 bài nhạc khác nhau trên 2 loa xem? Có được không? 6

7 Nội dung môn học: gồm 5 chương Chương 1: Tổng quan về HĐH Chương 2: Hệ thống quản lýtập tin Chương 3: Hệ thống quản lýxuấtnhập Chương 4: Quản lýtiến trình Chương 5: Quản lýbộ nhớ 7

8 Chương 1: Tổng quan về HĐH Nội dung chương: Vai trò củahệđiềuhành Các thành phầncủa HĐH Mộtsố kiếntrúc HĐH Quá trình phát triểncủa HĐH Mộtsố HĐH hiện đại 8

9 Vai trò của HĐH Quản trị tài nguyên Tài nguyên: CPU, RAM, HDD, printer Đốitượng sử dụng tài nguyên: Chương trình ƯD Nhiệmvụ: Cung cấp giảithuậtcấp phát, quản trị tài nguyên cho các đốitượng hoạt động. Mục tiêu:cấp phátđầy đủ, công bằng, hiệu quả Điều khiển thiết bị Nhiệmvụ: Che dấu các chi tiếtphầncứng, tạo môitrường dễ làm việc hơn chonsd. Mục tiêu: Tạo sựđộclập thiếtbị. Ví dụ: Làm sao để MS.Word có thể in được với nhiềuloạimáy in khác nhau như in kim, laser, phun của nhiều hãng khác nhau 9

10 HĐH và các thành phầncủa hệ thống 10

11 HĐH và các thành phầncủa hệ thống 11

12 Các dịch vụ của hệ thống Nạp và thi hành chương trình (load & run) Các thao tác xuất nhập (I/O Operations) Các thao tác truy xuất/cậpnhật hệ thống tậptin (file system) Các cơ chế liên lạc/trao đổi thông tin giữacáctác vụ Phát hiện/chỉnh sửalỗi Giao tiếpgiữacácchương trình ứng dụng và HĐH đượcthựchiệnphầnlớn thông qua các lờigọihệ thống (System Call) 12

13 Các thành phần của HĐH Quản lý tài nguyên là vai trò quan trọng nhấtcủa HĐH, do đócần cómộtsố thành quản lýcpu, quản lýbộ nhớ, CPU : quảnlýtiến trình(bao gồmquảnlýcpu) RAM : quảnlýbộ nhớ chính Input/Output : quảnlýnhập/xuất(thấy rõở DOS) Hệ thống tậptin: Quảnlýtậptin Hệ thống bảovệ Quảnlýmạng Shell (giao tiếpngười dùng) 13

14 Các thành phần của HĐH Quaûn lyù tieán trình Heä thoáng taäp tin Boä thoâng dòch leänh Quaûn lyù boä nhôù phuï Quaûn lyù nhaääp xuaát Quaûn lyù boä nhôù chính Heä thoáng baûo veä Giao tieáp maïng 14

15 Kiến trúc HĐH Kiến trúcđơn giản Kiến trúcphânlớp Kiến trúcmáyảo Kiến trúc client/server 15

16 1. Kiến trúcđơn giản Ứng dụng Tiện íchthường trú Hệ điều hành (DOS) Phần cứng (BIOS, port) Ví dụ với HĐH DOS Ví dụ điển hình cho kiến trúc này là DOS, trong đó HĐH chỉ làm một số nhiệm vụ quản lý còn khá đơn giản và cung cấp thêm một số dịch vụ. HĐH = Thư việnhàm. UD củangười dùng vẫn có thể truy cập trực tiếp đến phần cứng thông qua BIOS, cổng phần cứng Không hỗ trợ đa nhiệm. Đánh giá khi chương trình treo? 16

17 2. Kiến trúcphânlớp HĐH phân thành nhiều lớp.mỗilớpphụ trách 1 chứcnăng đặcthù. Lớpbêntrênsử dụng chứcnăng do các lớpbên dưới cung cấp. Khó xác định số lượng lớp, thứ tự lớp!!! Chi phí truyềnthamsố xuyên các lớp!!! 17

18 3. Kiếntrúcmáyảo (1/4) Có nghe đến máy ảo bao giờ? Ví dụ? Do mục tiêu của HĐH là chạy được nhiều chương trình đồng thời trên một máy tính nên cách tốt nhất là tạo ra nhiều máy tính ảo từ một máy tính thật để các chương trình chạy riêng trên các máy ảo. Về nguyên tắc các chương trình không biết mình đang chạy trên máy ảo, cũng không biết mình đang phải chia sẻ tài nguyên với các chương trình khác. Ví dụ: CPU ảo: mỗi chương trình * sở hữu một CPU ảo Bộ nhớ ảo: mỗi chương trình một không gian nhớ riêng 18

19 3.Kiến trúc máy ảo (2/4) Non-virtual Machine Virtual Machine 19

20 3.Kiến trúc máy ảo (3/4)- Ví dụ Java Virtual Machine Java program Java OS Java VM Process Operating System Hardware Process Độc lập với Platform 20

21 Ưu điểm: 3. Kiếntrúcmáyảo (4/4) Môi trường thuậnlợichosự tương thích Tăng tính an toàn cho hệ thống do các VM độc lập Dễ phát triển các HĐH đơn nhiệmchocácvm độc lập. Khuyết điểm Phức tạp trong việc giả lập. 21

22 4. Kiến trúc client/server Các dịch vụ của HĐH được chia thành 2 phần: Server: phầnhạt nhân, lệ thuộcphầncứng Client: các tiệníchhệ thống, sử dụng dịch vụ do server cung cấp 22

23 Giớithiệu các dòng HĐH hiện đại Dòng HĐH Windows Quá trình phát triển Các phiên bản chính Dòng HĐH Unix/Linux Quá trình phát triển Các distro chính 23

24 Dòng HĐH Windows Phát triển bởi Microsoft. Hiện đang chiếm 80% 90% thị trường HĐH. Số lượng dòng mã chương trình: WinNT: 4 triệu Win2000: 35 triệu WinXP: 40 triệu 24

25 Quá trình phát triểncủa dòng HĐH Windows (1/4) Windows 1.0 Phát hành 12/1985 Windows 2.0 Phát hành 1987 Chỉ hổ trợ bộ vi xử lý Intel 8086 hoặc8088 Có thể truy cập1mb bộ nhớ Windows 3.0 Phát hành 05/1990 Có thể truy cập16mb bộ nhớ 25

26 Quá trình phát triểncủa dòng HĐH Windows (2/4) Windows 3.1 Phát hành 04/1992 Hỗ trợ TrueType fonts/ Multimedia Windows NT Phát hành 07/1993 Hỗ trợ chíp Intel 386, 486 và các chíp khác không của Pentium Là hệđiềuhànhdòngserver đầu tiên Là HĐH đầu tiên hỗ trợ các ỨD 32 bits 26

27 Quá trình phát triểncủa dòng HĐH Windows (2/4) Windows 95 Phát hành 08/1995 Cũng hỗ trợ các ứng dụng 32-bit (nhưng vẫn tương thích với các ƯD 16 bits Windows 98 Phát hành 06/1998 Tăng cường về mặthiệu năng và hỗ trợ phầncứng tốthơn Tích hợp cáctínhnăng Internet Windows Millennium Phát hành 12/2000 Là phiên bản destophỗ trợ tốt multimedia. 27

28 Quá trình phát triểncủa dòng HĐH Windows (4/4) Windows 2000 Phát hành 01/2000 Hỗ trợ tính đa xử lý đốixứng : 2-32 CPU. Hỗ trợ đầy đủ tính năng đa ngôn ngữ (UNICODE) Tính hợp đầy đủ các chồng giao thức mạng thông dụng Thuộc dòng HĐH server chuyên dụng. Các dòng sản phẩm: Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server, Windows 2000 Datacenter Server Windows 2003 Windows Longhorn Hỗ trợ ƯD 64 bits 28

29 Quá trình phát triểncủa dòng HĐH Linux (1/2) 1969: UNIX, Thompson & Ritchie (AT&T Bell Lab) 1987: Minix, Andy Tanenbaum 1991: birth of Linux Minix-like OS by Linus Torvard limited devices, no networking 1994: Linux 1.0 only single-processor i386 networking (Internet) enhanced file system (ext2) 1995: Linux 1.2 more hardware 8086 mode (DOS emulation) included Support other architecture:sparc, Alpha, MIPS 29

30 Quá trình phát triểncủa dòng HĐH Linux (2/2) 1996: Linux 2.0 multiple architectures, multiple processors threads, memory management 1999: Linux : Linux 2.4 ISA PnP, USB, 12/2003: Linux

31 Các distro chính của HĐH Linux Mandrake Fedora/Redhat Debian SUSE Gentoo 31

32 Các đặc điểm chính củalinux Là HĐH tương tự Unix. Là HĐH mã nguồnmở Bao gồm khoảng 6 triệu dòng mã (kernel v2.6) Tăng trưởng khoảng 25%/năm từ năm 2003 Chiếm khoảng 10% thị trường HĐH. 32

33 Chương 2: Quản lýxuất nhập Nhiệmvụ củabộ phậnquảnlýxuấtnhập Các thiếtbị xuấtnhập Mô hình phân lớp trong quảnlýxuấtnhập Bộđiều khiểnthiếtbị (device controller) Trình điềukhiểnthiếtbị (device driver) Cơ chế DMA Quảnlýlỗivàbảovệquá trình xuấtnhập 1

34 Nhiệm vụ Mụctiêucủabộ phận quản lýxuất nhập Giớithiệulớptrừutượng và độclậpthiếtbị Che giấu các chi tiếtkỹ thuậtcủa các thiếtbị phầncứng. Quảnlývàsửalỗi. Làm cho các thiếtbị phầncứng đơngiảnvàdễ dùng. Cho phép chia sẻ các thiếtbị phầncứng Xây dựng các cơ chế bảo vệ các thiếtbịđượcchiasẻ. Điềuphốithiếtbịđểphục vụ cho cùng lúc nhiều nhu cầu sử dụng. 2

35 Ví dụ về các thiết bị xuất nhập Các thiếtbị giao tiếp: Các thiếtbị chỉ nhập : bànphím, chuột, joystick Các thiếtbị chỉ xuất : màn hình, máy in Các thiếtbị vừa nhập vừa xuất: card mạng. Các thiếtbị lưutrữ Thiếtbị vừaxuất, vừa nhập: đĩa (cứng/mềm), băng từ Thiếtbị chỉ xuất: CD-ROM. 3

36 Phân loại cácthiết bị nhập xuất Phân loạitheomục đích sử dụng: Các thiếtbị giao tiếp: Các thiết bị chỉ nhập: bànphím, chuột, joystick Các thiết bị chỉ xuất : màn hình, máy in Các thiết bị vừanhập vừaxuất: card mạng. Các thiếtbị lưu trữ Thiết bị vừaxuất, vừanhập: đĩa(cứng/mềm), băng từ Thiết bị chỉ xuất: CD-ROM Phân loạitheophương pháp truy xuất: Thiếtbị khối: Tổ chứctheotừng khối riêng biệt vàtruyxuất ngẫu nhiên. Thiếtbị tuần tự Gởi nhận theo chuỗibítvàphảitruyxuấttuầntự. 4

37 Phân loại các thiếtbị nhậpxuất (tt) HĐH phải gom nhóm các thiếtbị khác nhau thành những nhóm cơ bản để dễ dàng quảnlý: Storage Hard drives, Tapes, CDROM Networking Ethernet, radio, serial line Multimedia DVD, Camera, microphones HĐH phảicungcấpcácphương thứcnhấtquánđể truy cập các nhóm đốitượng trên. Nếu không, lậptrìnhsẽ rất khó khăn 5

38 Các phương thứctruycập IO Sử dụng chung thư việngiaotiếpchonhiềuthiếtbị khác nhau Ví dụ, với HĐH Unix, sử dụng 4 phương thức chính: open() close() read() write() Các phương thức này là các system calls đượccungcấp bởi HĐH để chophépcácứng dụng chúng tương tác với các thiếtbị xuấtnhập. 6

39 Các phương thứcio củaunix filehandle = open(pathname, flags, mode) filehandle: là mộtsố nguyên, dùng để thao tác vớitập tin hay thiếtbị pathname: tên trong hệ thống file. Trong Unix, các thiếtbịđặt dướithư mục /dev. E.g. /dev/ttya là serial port đầu tiên, /dev/sda: là SCSI drive đầu tiên flags: blocking hoặc là non-blocking mode: read only, read/write, append errorcode = close(filehandle) Kernel sẽ giải phóng các biếnlưu trữ cho thiếtbị 7

40 Các phương thứcio của Unix (tt) bytecount = read(filehandle, byte [] buf, count) Đọc count bytes từ thiếtbị và lưu trong buffer buf. Chương trình người dùng phảikiểm tra bytecount để biếtsố byte thậtsựđọc được. bytecount < 0 thì là báo lỗi(xemmãlỗi) bytecount = write(filehandle, byte [] buf, count) Ghi count byte từ buf vào thiếtbị Số byte thậtsự ghi đượclưu trong bytecount bytecount âm là bị lỗi 8

41 Các đặc tính xuất nhập Ba đặc tính khác nhau cần xem xét khi xử lý 1 thao tác nhậpxuất: blocking vs. non-blocking buffered vs. unbuffered synchronous vs. asynchronous 9

42 Blocking vs. Non-Blocking I/O Blocking ứng dụng dừng lạichođếnkhisố count bytes được đọchoặcghi Ví dụ: Trong thiếtbị mạng, nếu muốn ghi 1000 bytes, thì HĐH ghi tấtcả các byte cho đến khi ghi hoàn tất. Nếu thiếtbị không thể thực hiện lệnh ghi được (ví dụ hỏng dây nối), làmsao? Thìsẽ kết thúc và trả về số bytes đã ghi được. Nonblocking HĐH đọcvàghicácbytes khicóthể, không cần ứng dụng phảidừng lại. 10

43 Buffered vs. Unbuffered I/O Trong trường hợp buffer dữ liệucủathiếtbị quá nhỏ, để không phải chờ quá lâu khi thựchiệnio buffered I/O cho phép kernel copy lạidữ liệu Bên write(): cho phép ứng dụng tiếptục ghi dữ liệu Bên read(): khi thiếtbị báo có dự liệu đến, kernel chép dữ liệu vào buffer. Khi tiến trình gọi read(), kernel chỉ việc copy từ buffer. Khuyết điểm buffered I/O? Thêm chi phí để thực hiệncopy Chậmtrễ việc gửidữ liệu 11

44 Synchronous vs. Asynchronous I/O Synchronous I/O: các xử lý khác của ứng dụng củangười dùng cuốisẽ dừng lại để chờ các thao tác xuấtnhậpcủa nó hoàn tất. Asynchronous I/O: các xử lý khác của ứng dụng có thể thực thi song song với các thao tác xuấtnhập 12

45 Các loại thiết bị xuất nhập Hầuhết HĐH chia thành 3 nhóm thiếtbị: Thiếtbịđọctheokítự (character device) Dùng cho các thiếtbị tuần tự (v.d. USB port, bàn phím, modem) Thiếtbị mạng Dùng cho các card mạng (v.d. Ethernet card) Thiếtbị theo block: Dùng cho các bộ lưu trữ lớn (v.d.ổ đĩavàcdrom) Phương thức read/write sẽ khác nhau vớitừng loại 13

46 Thiết bị xuất nhập theokítự HĐH đọc và ghi theo chuỗicácbyte System call write() sẽ ghi từng byte ra thiếtbị System call read() sẽ đọctừng byte ra thiếtbị Không có điềukhiểntỉ lệ read/write, bên gửicóthể gọi system call write() 1 lần 1000 bytes, bên nhậncóthể gọi read 1000 lần, mỗilần đọc 1 byte. 14

47 Thiết bị mạng Unix và Windows đều dùng khái niệm socket để cho việc truyền, nhậndữ liệu trênmạng Mỗi write() hoặc làgửicả block, kích thướccủa block có giới hạn tùyhệ thống. Bên nhận, read() trả về tấtcả các byte trong block. 15

48 Thiết bịđọctheoblock HĐH đọc và ghi thiếtbị theo các block Mỗi block kích thước xácđịnh (thông thường 1KB - 8KB) Người dùng chỉ có thể read/write các block cùng kích thước Không giống thiếtbị khác, thiếtbịđọc ghi theo block hỗ trợ random access Chúng ta có thểđọc/ghi bấtcứ block nào trên thiếtbị, không cần phải đọc tấtcả các bytes trước Làm sao xác định vị trí của block thứ n? 16

49 Con trỏ file Một con trỏ file được gánvàomộtfile đang mở, nếunhư thiếtbị đang mở thuộc loại đọctheoblock Con trỏ file sẽ trỏ tớivị trí hiện hành trên file cho lệnh đọc/ghi kế tiếp Đơn vị của con trỏ file là byte, chứ không phảiblock Di chuyển con trỏ file: absoluteoffset = lseek(filehandle, offset, whence); whence xác định vị trí cộtmốc, đầu file, cuốifile Vị trí hiện hànhđược trả về, <0 là lỗi Vị trí hiệnhànhlà1 số nguyên tính theo byte, có thể là bộisố của block. 17

50 Thiết bị xuất nhập Màn hình: Thiếtbị xuất chuẩn: Ký tự hay đồ hoạ Khả năng hiển thị: Độ phân giải: Vídụ : 25 x 80 ký tự hay 800 x 600 x 256 màu. Độ làm tươi: lần/giây. 18

51 Thiết bị xuất nhập Bàn phím: Thiếtbị nhậpchuẩn Bố trí theo cấutrúc QWERTY Tốc độ nhậpdữ liệuchậm (<10 kýtự/giây) Thiếtbị trỏ/định vị: Thiếtbị nhậpchuẩn Chuột (quang, cơ) Trackball Joystick Tốc độ nhậpdữ liệuchậm (vài trăm bytes/giây) 19

52 Thiết bị xuất nhập Máy in Máy in dòng, máy in điểm, máy in phun, in laser. Tốc độ đẩydữ liệuchậm Hướng ký tự Máy quét Số hoá các tài liệu in thành các dữ liệusố dưới dạng ảnh bitmap. Tốc độ quét chậm 20

53 Thiết bị xuất nhập Đĩatừ : Đĩamềm (floppy disk), đĩacứng (hard disk): Thiếtbị xuấtnhậptheokhối(sector). Dung lượng tuỳ thuộc vàosố head,track,sector. Tốc độ truy cập phụ thuộc vàotốc độ quay và mật độ dữ liệu trên đĩa. Băng từ: Thiếtbị truy cậptuầntự dung lượng lớn. Tốc độ truy cập ~2Mb/s CDROM/DVD: Tốc độ truy cập nhanh. Dung lượng ngày càng lớnvàgiáthànhngàycàngrẻ. 21

54 Thiết bị xuất nhập Thiếtbị giao tiếp mạng Card mạng Cài đặt các giao thứcmạng khác nhau để hỗ trợ cho quá trình truyềnnhận các luồng/gói dữ liệu. Modem Chuyển đổigiữa tínhiệu tuầntự và tín hiệu số trên đường truyềnthoại. Luồng dữ liệutruyềnlàcácdãybítđược gom nhóm thành các ký tự. Đồng hồ hệ thống (clock) và bộđịnh giờ (timer) Cung cấpthờigianhệ thống để giúp đồng bộ hoá các hoạt động trên máy tính. 22

55 Bộ điều khiển thiết bị Mỗi đơnvị nhậpxuấtthường gồm 2 thành phần: Thành phầncơ: Bản thânthiếtbị Thành phần điện: bộ điều khiển (controller) Bộđiều khiển: Chứcnăng: Trung gian giao tiếp giữa thiếtbị và HĐH. Phương tiệngiaotiếp: Thông qua bus - hệ thống mạch truyền dẫn. Công việc: Nhận lệnh từ HĐH để thực hiệnvàbáohiệucho HĐH khi tác vụ hoàn tất. Chuyển đổi dãy bit thành các byte và đặt chúng vào trong bộ đệm (buffer) củabộđiều khiển. 23

56 Các thiết bị xuất nhập và bus hệ thống 24

57 Địachỉ giao tiếp thiết bị HĐH giao tiếpvớithiếtbị thông qua địachỉ xuấtnhập củabộđiềukhiển: 25

58 Mô hình phân lớp trong quản lýxuấtnhập Hệ thống xuấtnhập được tổ chứctheotừng lớp, mỗilớpcó1 chức năng nhất định và có sự hỗ trợ liên hoàn lẫn nhau: 26

59 Phần mềm độclập thiết bị Chức năng: Tạoragiaotiếp chung cho tấtcả các thiếtbị. Bảovệ thiếtbị Cung cấpkhốidữ liệu độclậpthiếtbị Cung cấpbộđệm (buffer) để hỗ trợ cho quá trình đồng bộ hoá hoạt động củahệ thống. Định vị trí lưutrữ trên các khốithiếtbị. Cấpphátvàgiải phóng thiếtbị. Thông báo lỗichongười dùng (nếucó). 27

60 Trình điều khiển thiết bị Chứcnăng: Nhận yêucầu từ phía lớp phần mềm độclậpthiếtbị. Chuyển đổiyêucầu trừu tượng này thành cụ thể. Điềuphốiyêucầu này cho bộ điều khiểnthiếtbị (device controller). Giám sát thực hiện yêucầu. Ví dụ: HĐH muốn đọc tập tin io.sys trên đĩa ở thư mục C:\. Trình điều khiển đĩa phảihiểulàcần đọc khốinào. Trình điều khiển đĩa chuyển yêucầu này cho bộ điều khiển đĩa. Bộ điều khiển đĩaphảikiểmtrahoạt động của motor đĩa, xác định đầu đọc đã đúng vị trí chưa. 28

61 Trình điều khiển thiết bị 29

62 Bộ kiểmsoátngắt (interrupt handler) Tương tác giữa HĐH và các thiếtbị phần cứng đều được thực hiện thông qua cơ chế ngắt (interrupt). Bộ kiểmsoátngắtsẽ tiếp nhận các ngắttừ HĐH và ứng dụng của người dùng cuối. Dựa trênbảng Interrupt vector để phân phối các ngắt đến các bộ điều khiểnthiếtbị tương ứng. Quảnlývàgiámsátquátrìnhthựchiệnngắt. Nhận ngắt thông báo quá trình xuấtnhập hoàn tấthoặccólỗixảy ra trong quá trình xuấtnhậptừ bộđiều khiểnthiếtbịđểchuyển lên cho HĐH. 30

63 Bộ kiểmsoátngắt (interrupt handler) 31

64 Cơ chế truy cập bộ nhớ trực tiếp DMA (Direct Memory Access) Xét quá trình đọc đĩa không có DMA: HĐH chuyển yêucầu đọc đĩa cho bộ điều khiển đĩa. Bộ điều khiển đọc tuầntự các khốitrênđĩa. Đọc từng bit cho đến khi các khối được đưa vàobộđệmcủa bộ điều khiển đĩa. Bộ điều khiển đĩatạo ngắt để báo qua CPU biết quá trình đọc đĩa hoàntất. CPU lần lượtlấytừng byte dữ liệutừ bộ đệmcủa bộđiều khiển đĩa để chuyển về bộ nhớ chính để thao tác. Nhậnxét: Lãng phí thờigianxử lý củacpu để chuyểndữ liệu từ bộ đệm của bộđiều khiển đĩa về bộ nhớ chính 32

65 Cơ chế DMA Cơ chế DMA giúp CPU không bị lãng phí bằng cách: HĐH gởichobộđiều khiển đĩa các thông số gồm: các khốicần đọc+ vị trí lưu trữ các khối này bên trong bộ nhớ chính (địachỉ DMA) + số byte cần đọc. Bộ điều khiển đĩa đọc các khốicầnthiếtlưu vào trong bộ đệm của nó. Sau khi đọc xong, bộ điều khiểnchuyển lần lượttừng byte từ bộ đệmcủanóvềđịachỉ DMA nơicần lưutrữ dữ liệucần thiếtbêntrongbộ nhớ chính. Bộ điều khiển đĩatạo 1 ngắt để thông báo cho CPU biếtquá trình chuyển dữ liệu đã hoàn tất. 33

66 Cơ chế DMA 34

67 Quản lýlỗi& bảo vệ xuất nhập thiết bị Quá trình xử lý củangười dùng cuối hay HĐH có thể vô tình hay cố ý thựchiệncáclệnh/thao tác xuấtnhậpbất hợpphápgâyhạichohệ thống và thiếtbị. Cần định nghĩatrướcvàgánđặcquyềnchocáclệnh xuất nhậpcủahệ thống dướidạng các lờigọihệthống (system call). Giám sát quá trình xuấtnhậpcủangười dùng cuối. Tấtcả quá trình xuấtnhậpcủa ƯD phải đượcthựchiện thông qua các lờigọihệ thống. 35

68 Quản lýlỗi& bảo vệ xuất nhập thiết bị Khi gặplỗi trong quá trình xuấtnhập, các bộđiềukhiển thiếtbị sẽ trả về cho HĐH mã lỗitương ứng HĐH diễndịch mã lỗitrả vềđểcó phương án giảiquyết thích hợp. HĐH cũng diễndịch và lưuvàonhậtkýhệ thống (system log) các lỗitương ứng để giúp ngườiquảntrị hệ thống giám sát lỗivàphụchồi. 36

69 Chương 3: Hệ thống quản lýtập tin Nội dung chương: Các khái niệmcơ bảnvề hệ thống tậptin Cài đặthệ thống quảnlýtậptin Mô hình tổ chứcvàquảnlýtậptin củacác HĐH thông dụng. Truy xuấthệ thống quảnlýtậptin. 1

70 Hệ thống lưu trữ trong máy tính Bộ nhớ trong RAM, ROM, Register, Cache Bộ nhớ ngoài HD (Hard Disk) FD (Floppy Disk) Bộ nhớ thứ cấp (băng từ) Tốc độ Giá thành CD (Compact Disk) Bộ nhớ phụ DVD (Digital Video Disk) (đĩa) USB disk Dung lượng Bộ nhớ chính cache 2

71 Các khái niệm cơ bản RAM không có khả năng lưu trữ dữ liệu lâudài. Máy tính phải sử dụng các thiếtbị có khả năng lưu trữ lâu dài vì: Chứalượng thông tin lớn. Thông tin đượclưutrữ trướckhixử lý. Nhiều ứng dụng muốntruycậpcùnglúc. Phải sử dụng các thiếtbị lưu trữ ngoài gọilàbộ nhớ ngoài với các đơn vị lưu trữđượctổ chức thành: Tậptin Thư mục 3

72 Tổ chức dữ liệu trênđĩatừ Cấu trúcvật lýcủa đĩa từ: Hình tròn, gồmnhiều mặtgọilàhead. Mỗimặtcónhiều đường tròn đồng tâm gọi là track hay cylinder. Trên các đường tròn (track) đượcchia thành các cung tròn gọilàsector. Mỗi cung tròn chứa 4096 điểmtừ (~ 4096 bit = 512 bytes). Mỗimặtcó1 đầu đọc để đọcghidữ liệu Mỗilần đọc/ghi ít nhất 1 cung tròn (512B). 4

73 Cấu trúcđĩatừ Head 0 Head 2 5

74 Cấu trúcđĩatừ sectors read-write head track cylinder 6

75 Cấu trúcđĩatừ 7

76 Tổ chức dữ liệu trênđĩatừ (tt) Mỗi lần đọc hay ghi đĩa cóthể thực hiện N sector liên tiếp (N>=1). Vị trí của mỗi sector trong đĩa được thể hiện bằng 3 tham số : {sector, track, head}. Head được đánh số từ trên xuống bắt đầu từ 0. Track được đánh số từ ngoài vào bắt đầu từ 0. Sector được đánh số bắt đầu từ 1 theo chiều ngược vớichiều quay của đĩa. 8

77 Tổ chức đĩa logic N-1 Thay vì phảidùngđến3 thamsố dựatrêncấutrúcđĩa vật lý nên khái niệm đĩalogic được đưarađể dễ thao tác và tính toán hơn. Đĩa logic là một dãy sector được đánh số bắt đầutừ 0. Mỗi sector trên đĩa logic tương ứng với 1 sector duy nhất trên đĩavật lý sao cho khi truy xuấtsector K thìkhitruy xuấttiếp sang sector K+1 là nhanh nhất. 9

78 Dung lượng đĩa Kích thước đĩa phụ thuộc vàocácyếu tố sau: Số mặttừ (platter) Số track trên mỗimặttừ Số sector trên mỗitrack Kích thước (byte) trên mỗitrack. 10

79 Ví dụ cách tổ chức đĩa mềm Các thông số trên đĩa mềm 1.44MB: Đĩa có 2 head, 80 track/head, 18 sector/track. Dung lượng đĩa = 2 head/disk *80 track/head *18 sector/track = 2880 sector/disk = 0.5 KB/sector * 2880 sector/disk = 1440 KB/disk (~ 1.4MB) Các sector logic có chỉ số từ 0 đến 2879 và tương ứng với các sector vậtlýnhư sau: Sector tương ứng với sector vật lý (1,0,0)..(18,0,0) Sector tương ứng vớisector vật lý (1,0,1)..(18,0,1) Sector 2879 tương ứng với sector vật lý (18,79,1). 11

80 Thời giantruycập đĩa Mặt đĩa Đầu đọc Tay quay Disk access time = Seek Time + Latency Time + Transfer Time 12

81 Các thuật toánđọc đĩa First-Come-First-Serve (FCFS) SCAN, C-SCAN Shortest Seek Time First (SSTF) Look 13

82 First Come First Serve (FCFS) Phụcvụ theo thứ tự yêu cầu Đơngiảnnhưng không đáp ứng tốtdịch vụ Các khối cần đọc (đầu đọc hiện tại tại vị trí 11): scheduling queue cylinder number time 14

83 SCAN Di chuyển đầu đọcvề 1 phía của đĩa đếnblock xanhấtsau đódichuyểnvề phía kia. Còn gọilàthuật toán thang máy. Các khối cần đọc (đầu đọc hiệntạitạivị trí 11): scheduling queue cylinder number time 15

84 SCAN vs. FCFS Trong trường hợp này, SCAN tốthơn FCFS vì hạnchế sự di chuyển của đầu đọc đĩa time time cylinder number

85 C-SCAN Nguyên tắc: Tương tự thuật toán SCAN. Chỉ khác khi di chuyển đến1 đầucủa đĩathìtrở về vị trí bắt đầucủa đĩa. 17

86 C-SCAN 18

87 LOOK Nhận xét: Hai thuậttoánlậplịch SCAN và C-SCAN luôn luôn di chuyển đầu đọccủa đĩatừđầu này sang đầukia nhưng thông thường thì đầu đọcchỉ di chuyển đến khốixanhất ở mỗihướng chứ không đếncuối. Nguyên tắc: Giống SCAN và C-SCAN nhưng chỉ di chuyển đầu đọc đếnkhống xa nhấtchứ không đếncuối. 19

88 LOOK 20

89 SSTF SSTF = Shortest Seek Time First Nguyên tắc: Di chuyển đầu đọc đếncáckhốicầnthiếttheovị trí lầnlượtgầnvớivị trí hiệnhànhcủa đầu đọcnhất 21

90 SSTF 22

91 Lập trìnhtương tác với đĩa Các truy xuất đĩa trực tiếp trong C: Đọcnội dung sector trên đĩa logic: hàm absread. Ghi nội dung vào sector logic: abswrite. Thựchiệnthaotáctrênđĩavật lý: biosdisk. Cú pháp: int absread(int drive, int nsects, long lsect, void *buffer). int abswrite (int drive, int nsects, long lsect, void *buffer); int biosdisk (int cmd, int drive, int head, int track, int sector, int nsects, void *buffer); 23

92 Tập tin (1/4) Tập tin (file) là đơn vị lưu trữ thông tin trên bộ nhớ ngoài. Thông tin chứa trong tập tin là bền vững (không bị mất đi khi bị mất điện). Tên tập tin: Là cơ chế trừutượng để quảnlýtậptin. Có thể phân biệtchữ hoavàthường (tuỳ HĐH cụ thể) Hỗ trợ tên tập tin theo định dạng 8.3 (gồm tên và phần mở rộng) hay tên dài (Long File Name). Ví dụ: baitap.cpp hay bai tap lap trinh.cpp 24

93 Tập tin (2/4) Các thuộc tính của tập tin: Ngườisở hữu/nhóm sở hữu Chỉđọc (Read-only) Ẩn (Hidden) Hệ thống (System) Lưutrữ (Archive) Ngày giờ tạo. Ngày giờ truy cậpcuốicùng Ngày giờ thay đổicuốicùng Kích thước 25

94 Tập tin (3/4) Các thao tác trên tập tin: Tạo Xoá Mở Đóng Đọc Ghi Thêm Tìm Lấy thuộc tính Thiếtlập thuộc tính Đổitên 26

95 Tập tin (4/4) Các loạitập tin: Tập tin vănbản (text file): chứa các dòng vănbản, cuối dùng có ký hiệukết thúc dòng (end line) Tập tin nhị phân (binary file): là tập tin có cấutrúc. Các truy xuất trêntập tin: Tuầntự: Phải đọctừđầutập tin đếnvị trí mong muốn. Ngẫu nhiên: Có thể di chuyển nhanh (SEEK) đến đúng vị trí cần đọc. 27

96 Khối điều khiển tập tin 28

97 Thư mục Giúp cho việc quản lýcáctập tin dễ dàng hơn. Giúp định vị các tập tin 1 cách nhanh chóng. Gom nhóm các tập tin vào trong các thư mục theo ý nghĩa vàmục đích sử dụng của người dùng. root bob sue 3013 www fun 29

98 Thư mục Ví dụ 1 cấutrúccâythư mục phân cấp 30

99 Thư mục-đường dẫn (Path) Dùng để xác định vị trí lưu tập tin khi hệ thống được tổ chức thành cây thư mục: Đường dẫntuyệt đối: Ví dụ: C:\Downloads\software\baigiang.doc Đường dẫntương đối: Ví dụ: software\baigiang.doc nếu thư mục hiện hànhlà C:\Downloads\ Các thư mục đặc biệt: Thư mụchiệnhành(.) Thư mục cha (..) 31

100 Thư mục Các thao tác trên thư mục: Tạo <> Xoá <> Đổitên Mở <> Đóng Tìm kiếm<> Liệtkê Liên kết: Chophép1 tập tin có thể xuấthiện trong nhiềuthư mụckhácnhau. Bỏ liên kết: Nếutập tin chỉ có 1 liên kếtvới1 thư mục, nó sẽ bị loạibỏ hoàn toàn, ngượclạinósẽ bị giảmchỉ số liên kết 32

101 Cấp phát vùng nhớ chứatập tin Các khối (block) đĩa sẽđượccấp phát để lưu trữ nội dung tập tin theo các cơ chế cấp phát: Cấpphátliêntục Cấpphátbằng danh sách liên kết Cấpphátbằng danh sách liên kếtsử dụng chỉ mục (index). Cấpphátbằng I-node 33

102 Cấp phát liên tục Cấp phát 1 số block liên tục trênđĩa để lưu trữ nội dung tập tin Nhận xét: Đơngiản: chỉ cầnquảnlýsố hiệukhốibắt đầuvàtổng số block chiếmbởitậptin. Truy cậpnội dung tập tin nhanh chóng vì các block nằmkề nhau. Gâylãngphíbộ nhớ. Khó khănkhitậptin mở rộng kích thước. 34

103 Cấp phát liên tục (tt) 35

104 Cấp phát bằng danh sách liên kết Nội dung tập tin được lưu trữởnhững block không cần liên tục. Các block này được xâuchuỗi tạo thành 1 danh sách liên kết để quản lý. Nhận xét: Đơngiản: Chỉ cầnquảnlýblock bắt đầu. Tậndụng hiệuquả không gian đĩa. Truy cậptập tin lâu hơnvìđầu đọcphảidichuyển nhiềugiữacáckhối không liên tiếp. Khốidữ liệubị thu hẹplạivìmỗikhốiphải dùng 1 phần để lưuphầnliênkết đếnkhốikếtiếp. 36

105 Cấpphátbằng danh sách liên kết (tt) 37

106 Cấp phát bằng danh sách liên kết sử dụng chỉ mục (index) Tương tự như phương pháp cấp phát bằng danh sách liên kết nhưng thay vì sử dụng 1 phần nhỏ của mỗiblock để lưu chuỗi liên kếtthìsử dụng 1 block riêng để lưu toànbộ chuỗi liên kết. Các block chỉ chứa dữ liệu. 38

107 Cấp phát bằng danh sách liên kết sử dụng chỉ mục (index) (tt) 39

108 Cấp phát bằng I-node Mỗi I-node gồm 2 phần: Các thuộctínhcủatậptin Địachỉ củacáckhốidữ liệu: gồm 13 phầntử 10 phần tửđầu tiên: Địachỉ của các khốidữ liệu trựctiếp. Phần tử thứ 11: Địachỉ của các khốidữ liệugiántiếp đơn (single indirect): gồm 1 khốitrỏđến 210 phần tử chứa địa chỉ của các khốidữ liệu. Phần tử thứ 12: Địachỉcủa các khốidữ liệugiántiếp đôi (double indirect): chứa địachỉ của các khối single indirect. Phần tử thứ 13: Địachỉcủa các khốidữ liệugiántiếp ba (triple indirect) 40

109 Cấp phát bằng I-node (tt) 41

110 Cài đặthệ thống tập tin của các HĐH cụ thể MS-DOS Windows Unix 42

111 Tổ chức quản lýhệ thống tập tin trên đĩa từ Đĩa từ bao gồm danh sách các sector có kích thước 512Bytes Kích thước đĩa (bytes) = (tổng số sector) x (512 bytes/sector) 43

112 Phân vùng đĩa (Disk Partition) Toàn bộ vùng lưu trữ của đĩa được phân thành các vùng logic không chồng lên nhau gọi là phân vùng đĩa. Partition #1 Partition #2 Partition #3 unused 44

113 Master Boot Record Mộtphầnnhỏđầu tiên của đĩa được dành riêng cho các thông tin quảnlýđĩa MBR partition #1 Sector logic thứ 0 của đĩa (CHS = 001) là Master Boot Record chứa thông tin mô tả cấutrúcvậtlýcủa đĩavà thông tin về các phân vùng logic của đĩa. 45

114 MBR Thông tin chứa trong MBR bao gồm: Đoạnchương trình để giúp khởi động hệ thống Bảng mô tả thông tin các phân vùng logic Thông tin nhậndiệnmbr 512 bytes Bootstrap Loader (446 bytes) Partition Table (64 bytes) signature (2 bytes) 46

115 Bảng mô tả các phân vùng MBR có thể mô tả cho tối đa 4 phân vùng logic được chiatrênđĩa trongđó thường có 1 phân vùng ở trạng thái Active 16 bytes S T A T U S Starting sector ID-number T Y P E Partition length (in sectors) Some fields contain obsolete information 47

116 Primary Partition vs Extended Partition Primary Partition Extended Partition MBR Reserved Reserved Reserved Reserved Reserved Reserved Reserved Partition Table Reserved Reserved Reserved Reserved Reserved Reserved Reserved 48

117 Bảng mô tả cácphânvùng(tt) Phân vùng active là phân vùng chứa HĐH sẽ được nạp mặc định khi máy tính khởi động. 49

118 Trường TYPE-ID trong bảng mô tả phân vùng Ý nghĩa của trường Type-ID trong mỗi phân vùng TYPE-ID = 0x07 : Phân vùng chứa Windows TYPE-ID = 0x83 : Phân vùng chứa Linux TYPE-ID = 0x00 : Phân vùng không sử dụng. 50

119 Quá trình khởi động hệ thống và nạp HĐH dựa trên thông tin các phân vùng B1: POST (Power-On Self-Test) B2: TảiMBR để đọc thông tin bảng phân vùng. B3: Tìm phân vùng active. B4: Chuyển quyền điều khiển về cho đoạn mã chương trình nằm trong Boot Record của phân vùng active B5: Tải HĐH tại phân vùng active. 51

120 Tổ chức tập tin trên Windows: FAT (12,16,32) 52

121 Tổ chức tập tin trên Windows: FAT (12,16,32) (tt) FAT: File Allocation Table Các phiên bảncủa FAT: FAT12, FAT16, FAT32 12,16,32: Số bít dùng để đánh STT các khối(2 12,2 16,2 32 ) FAT12: 2 12 (khối) x 512 bytes/khối = 2MB FAT16: 2 16 (khối) x 512 bytes/khối = 32MB FAT32: 2 32 (khối) x 512 bytes/khối = 4GB Boot sector FAT FFFF FFFF FFFF 0000 FAT2 (backup) Root directory empty File2 Other directories and files empty File1 File1 File3 File1 File File2 empty empty empty empty empty empty empty empty empty 53

122 Tổ chức tập tin trên Windows: NTFS Nhóm các sector liên tiếp nhau lại để tạo thành các Cluster. 54

123 Tổ chức tập tin trên Windows: NTFS NTFS không sử dụng khái niệm FAT và Root Dir để quản lýcáctập tin lưu trênđĩa màsử dụng khái nhiệm MFT (Master File Table). MFT là 1 Metadata file bao gồm 1 danh sách các trường chứa thông tin về mỗitập tin lưu trữ trên đĩa. Thông tin trong MFT có thể giúp thiếtlập các thuộc tính bảo vệ, phục hồi, tìm kiếm, thiếtlập quota cho từng tập tin, thư mục trênđĩa. 55

124 Tổ chức tập tin trên Unix/Linux: I-node I-node mode owner Direct block 0 Direct block 1 Direct block 10 Direct block 11 Single indirect Double indirect Triple indirect index index index index index index index index index Data block Data block Data block Data block Data block Data block Data block Data block Data block Data block Data block Data block Data block Data block 56

125 Chöông 4: Quaûn lyù tieán trình Moâ hình Tieán trình Traïng thaùi tieán trình Thoâng tin quaûn lyù tieán trình Quaù trình ñieàu phoái tieán trình Caùc thuaät toaùn ñieàu phoái 10/20/2007 Trần Hạnh Nhi 1

126 Khaùi nieäm : Ña nhieäm vaø ña chöông??? Vì sao muoán xöû lyù ñoàng thôøi nhieàu coâng vieäc treân maùy tính? Job 1 CPU IO CPU IO CPU Job 1 CPU IO CPU IO Job 2 CPU IO CPU CPU Xöû lyù ñoàng thôøi ñeå taêng hieäu suaát söû duïng CPU 10/20/2007 Trần Hạnh Nhi 2

127 Khaùi nieäm : Ña nhieäm vaø ña chöông??? Vì sao muoán xöû lyù ñoàng thôøi nhieàu coâng vieäc treân maùy tính? Job : kq = a*b + c*d; Xöù lyù tuaàn töï Xöûù lyù ñoàng haønh CPU #1 CPU #1 CPU #2 x = a * b 1 x = a * b y = c * d y = c *d 2 kq = x+y kq = x+y 3 Xöû lyù ñoàng thôøi ñeå taêng toác ñoä xöû lyù 10/20/2007 Trần Hạnh Nhi 3

128 Ña nhieäm vaø ña chöông Multitasking (ña nhieäm) : cho pheùp nhieàu taùc vuï/ coâng vieäc ñöôïc xöû lyù ñoàng thôøi Ngöôøi duøng luoân mong muoán 1 HÑH ña nhieäm Nhöng: Maùy tính thöôøng chæ coù 1 CPU? Multiprogramming (ña chöông) : kyõ thuaät cho pheùp nhieàu chöông trình ñöôïc thöïc hieän ñoàng thôøi (treân 1 CPU) Giaû laäp nhieàu CPU aûo töø 1 CPU thaät ñeå cho pheùp thi haønh nhieàu chöông trình ñoàng thôøi. AÛo hoaù baèng caùch naøo? Xaây döïng caùc thuaät toaùn ñeå luaân chuyeån CPU giöõa caùc chöông trình öùng duïng. 10/20/2007 Trần Hạnh Nhi 4

129 Xöû lyù ñoàng haønh, nhöõng khoù khaên? Excel Visual C++ CDplayer Winword HÑH : Giaûi quyeát nhieàu coâng vieäc ñoàng thôøi, ñaâu coù deã! - Taøi nguyeân giôùi haïn, öùng duïng voâ haïn - Nhieàu hoaït ñoäng ñan xen??? Phaân chia taøi nguyeân???? Chia seû taøi nguyeân???? Baûo veä? 10/20/2007 Trần Hạnh Nhi 5

130 Giaûi phaùp Winword CDPlayer Excel Visual C ++ HÑH : Ai cuõng coù phaàn khi ñeán löôït maø! - Chia ñeå trò, coâ laäp caùc hoaït ñoäng. - Moãi thôøi ñieåm chæ giaûi quyeát 1 yeâu caàu. - Aûo hoaù taøi nguyeân : bieán ít thaønh nhieàu 10/20/2007 Trần Hạnh Nhi 6

131 Giaûi phaùp CPU 10/20/2007 Trần Hạnh Nhi 7

132 Khaùi nieäm tieán trình (Process) Tieán trình laø moät chöông trình ñang trong quaù trình thöïc hieän Moãi tieán trình sôû höõu Moät CPU (aûo) rieâng Moät khoâng gian nhôù rieâng Chieám giöõ 1 soá taøi nguyeân cuûa heä thoáng Vd: Moät chöông trình Word coù theå ñöôïc chaïy 2 laàn seõ taïo ra 2 tieán trình khaùc nhau: Microsoft Word [Bai tap1.doc] Microsoft Word [Bai tap2.doc] 10/20/2007 Trần Hạnh Nhi 8

133 Hai phaàn cuûa tieán trình P1 Doøng xöû lyù int a; P2 int a; Khoâng gian ñòa chæ 10/20/2007 Trần Hạnh Nhi 9

134 Traïng thaùi tieán trình? Taïi 1 thôøi ñieåm, tieán trình ôû moät trong caùc traïng thaùi sau: ready R s CPU Nhaän R Nhaän CPU Traû CPU blocked R s CPU running R s CPU Chôø R 10/20/2007 Trần Hạnh Nhi 10

135 Khoái quaûn lyù tieán trình - PCB (Process Control Block) Định danh (Process ID) Trạng thaùi tiến trình Ngữ cảnh tiến trình Trạng thaùi CPU Bộ xử lyù (cho maùy nhiều CPU) Bộ nhớ chính Taøi nguyeân sử dụng/tạo lập Thoâng tin giao tiếp Tiến trình cha, tiến trình con Độ ưu tieâên Thoâng tin thống keâ pid State (State, details) Context (IP, Mem, Files ) Relatives ( Dad, children) Scheduling statistic Process control Block PCB 10/20/2007 Trần Hạnh Nhi 11

136 Ví duï: Khoái quaûn lyù tieán trình cuûa HÑH MachOS typedef struct machpcb { char mpcb_frame[regoff]; struct regs mpcb_regs; // user's saved registers struct rwindow mpcb_wbuf[maxwin]; //user window save buffer char *mpcb_spbuf[maxwin]; //sp's for each wbuf int mpcb_wbcnt; //number of saved windows in pcb_wbuf struct v9_fpu *mpcb_fpu; // fpu state struct fq mpcb_fpu_q[maxfpq]; // fpu exception queue int mpcb_flags; // various state flags int mpcb_wocnt; // window overflow count int mpcb_wucnt; // window underflow count kthread_t *mpcb_thread; // associated thread } machpcb_t; 10/20/2007 Trần Hạnh Nhi 12

137 Caùc thao taùc treân tieán trình Taïo laäp tieán trình Keát thuùc tieán trình Thay ñoåi traïng thaùi tieán trình : Assign() Block() Awake() Suspend() Resume() 10/20/2007 Trần Hạnh Nhi 13

138 Taïo laäp tieán trình Caùc tình huoáng : Khôûi ñoäng batch job User logs on Kích hoaït 1 service (print...) Process goïi haøm taïo moät tieán trình khaùc Caùc tieán trình coù theå taïo tieán trình con, hình thaønh caây tieán trình trong heä thoáng Caùc tieán trình môùi ñöôïc taïo coù theå thöøa höôûng taøi nguyeân töø cha, hay ñöôïc caáp taøi nguyeân môùi 10/20/2007 Trần Hạnh Nhi 14

139 Keát thuùc tieán trình Tình huoáng : Tieán trình xöû lyù xong leänh cuoái cuøng hay goïi exit () Keát thuùc Batch job, Halt instruction User logs off Do loãi chöông trình Moät tieán trình coù theå keát thuùc 1 tieán trình khaùc neáu coù ID (ñònh danh) cuûa tieán trình kia. Ví duï: kill -s SIGKILL 1234: huyû tieán trình coù ID laø /20/2007 Trần Hạnh Nhi 15

140 Moâ hình ña tieán trình (MultiProcesses) Heä thoáng laø moät taäp caùc tieán trình hoaït ñoäng ñoàng thôøi Caùc tieán trình ñoäc laäp vôùi nhau => khoâng coù söï trao ñoåi thoâng tin hieån nhieân.. Excel winword Visual C CDplayer OS 10/20/2007 Trần Hạnh Nhi 16

141 Ví duï moâ hình ña tieán trình Giôø thi lyù thuyeát moân Heä Ñieàu haønh Moãi sinh vieân laø moät tieán trình : Cuøng laøm baøi => Hoaït ñoäng ñoàng haønh Coù baøi thi, buùt, giaáy rieâng => Taøi nguyeân rieâng bieät Ñoäc laäp => Khoâng trao ñoåi (veà nguyeân taéc) Thöïc haønh moân Heä Ñieàu haønh 2 sinh vieân/nhoùm Hôïp taùc ñoàng haønh Nhucaàutraoñoåi Duøng taøi nguyeân chung 10/20/2007 Trần Hạnh Nhi 17

142 Moâ hình ña tieåu trình (MultiThreads) Nhieàu tình huoáng caàn coù nhieàu doøng xöû lyù ñoàng thôøi cuøng hoaït ñoäng trong moät khoâng gian ñòa chæ => cuøng chia seû taøi nguyeân (server, OS, caùc chöông trình tính toaùn song song : nhaân ma traän ) alta vista Khaùi nieäm môùi : tieåu trình (thread) 10/20/2007 Trần Hạnh Nhi 18

143 Ví duï Moâ hình ña tieåu trình Thöïc haønh moân Heä Ñieàu haønh Moãi nhoùm 2 sinh vieân laø moät tieán trình : Moãi sinh vieân laø moät tieåu trình Cuøng laøm baøi => Hoaït ñoäng ñoàng haønh Coùù baøi thöïc haønh chung => Taøi nguyeân chung Trao ñoåi vôùi nhau 10/20/2007 Trần Hạnh Nhi 19

144 Khaùc bieät giöõa Tieåu trình & Tieán trình Tieåu trình : 1 doøng xöû lyù Tieán trình : P1 1 khoâng gian ñòa chæ 1 hoaëc nhieàu tieåu trình Caùc tieán trình laø ñoäc laäp T1 T2 T 3 Caùc tieåu trình trong cuøng 1 tieán trình khoâng coù söï baûo veä laãn nhau (caàn thieát? ). int a; 10/20/2007 Trần Hạnh Nhi 20

145 Tieåu trình haït nhaân (Kernel thread) T1 T2 User mode System call Kernel Thread Kernel mode Khaùi nieäm tieåu trình ñöôïc xaây döïng beân trong haït nhaân Ñônvòxöûlyù laøtieåutrình Ví duï : Windows 95/98/NT/2000 Solaris, Tru64 UNIX, BeOS, Linux 10/20/2007 Trần Hạnh Nhi 21

146 Phaân chia CPU? 1 CPU vaät lyù : laøm theá naøo ñeå taïo aûo giaùc moãi tieán trình sôû höõu CPU rieâng cuûa mình? Luaân chuyeån CPU giöõa caùc tieán trình 2 thaønh phaàn ñaûm nhieäm vai troø ñieàu phoái: Scheduler choïn 1 tieán trình Dispatcher chuyeån CPU cho tieán trình ñöôïc choïn CPU 10/20/2007 Trần Hạnh Nhi 22

147 Caùc danh saùch tieán trình Ready List P1 P4 P5 Waiting Lists R1 R2 R3 P2 P3 P6 P7 P10 10/20/2007 Trần Hạnh Nhi 23

148 Scheduler - Nhieäm vuï Ra quyeát ñònh choïn moät tieán trình ñeå caáp phaùt CPU : ÖÙng cöû vieân = {Caùc tieán trình ready list} 0 tieán trình : CPU raûnh roãi (idle)! 1 tieán trình : khoâng caàn suy nghó nhieàu, ñuùng khoâng? >1 : choïn ai baây giôø? Döïa vaøo caùc thuaät toaùn ñieàu phoái Ready List P1 P4 P5 10/20/2007 Trần Hạnh Nhi 24

149 Dispatcher - Nhieäm vuï Nhieäm vuï cuûa Dispatcher: Chuyeån ñoåi ngöõ caûnh Xeùt ví duï Tieán trình A ñang duøng CPU 1 chuùt thì bò HÑH thu hoài CPU HÑH caáp CPU cho B duøng 1 chuùt, HÑH thu hoài laïi CPU. HÑH caáp CPU trôû laïi cho A. Giaù trò caùc thanh ghi giöõa nhöõng laàn chuyeån ñoåi CPU? Kòch baûn : Löu ngöõ caûnh tieán trình hieän haønh Naïp ngöõ caûnh tieán trình ñöôïc choïn keá tieáp 10/20/2007 Trần Hạnh Nhi 25

150 10/20/2007 Trần Hạnh Nhi 26

151 Dispatcher - Thaûo luaän Baûn thaân HÑH cuõng laø 1 phaàn meàm, nghóa laø cuõng söû duïng CPU ñeå coùtheåchaïyñöôïc. Caâu hoûi: Khi tieán trình A ñang chieám CPU, laøm theá naøo HÑH coù theå thu hoài CPU laïi ñöôïc? (vì luùc naøy HÑH khoâng giöõ CPU) EÙp buoäc NSD thænh thoaûng traû CPU laïi cho HÑH? Coù khaû thi? Maùy tính phaûi coù 2 CPU, 1 daønh rieâng cho HÑH? HÑH söû duïng ngaét ñoàng hoà (ngaét ñieàu phoái) ñeå kieåm soaùt heä thoáng Moãi khi coù ngaét ñoàng hoà, HÑH kieåm tra xem coù caàn thu hoài CPU töø 1 tieán trình naøo ñoù laïi hay khoâng? HÑH chæ thu hoài CPU khi coù ngaét ñoàng hoà phaùt sinh. Khoaûng thôøi gian giöõa 2 laàn ngaét ñieàu phoái goïi laø chu kyø ñoàng hoà (toái thieåu laø 18.2 laàn / giaây) 10/20/2007 Trần Hạnh Nhi 27

152 Löïa choïn tieán trình? Taùc vuï cuûa Scheduler Muïc tieâu? Söû duïng CPU hieäu quaû Ñaûm baûo taát caû caùc tieán trình ñeàu tieán trieån xöû lyù Tieâu chuaån löïa choïn? Taát caû caùc tieán trình ñeàu nhö nhau? Ñeà xuaát moät ñoä öu tieân cho moãi tieán trình? Thôøi ñieåm löïa choïn? (Thôøi ñieåm kích hoaït Scheduler()) 10/20/2007 Trần Hạnh Nhi 28

153 Muïc tieâu ñieàu phoái Hieäu quûa (Efficiency) Thôøi gian Ñaùùp öùng (Response time) Hoaøn taát (Turnaround Time = Tquit -Tarrive): Chôø (Waiting Time = T in Ready ) : Thoâng löôïng (Throughput = # jobs/s ) Hieäu suaát Taøi nguyeân Chi phí chuyeån ñoåi Coâng baèng ( Fairness) : Taát caû caùc tieán trình ñeàu coù cô hoäi nhaän CPU 10/20/2007 Trần Hạnh Nhi 29

154 Thôøi ñieåm ra quyeát ñònh ñieàu phoái Ñieàu phoái ñoäc quyeàn (non-preemptive scheduling): tieán trình ñöôïc choïn coù quyeàn ñoäc chieám CPU Caùc thôøi ñieåm kích hoaït Scheduler P cur keát thuùc P cur : running ->blocked Ñieàu phoái khoâng ñoäc quyeàn (preemptive scheduling): tieán trình ñöôïc choïn coù theå bò cöôùp CPU bôûi tieán trình coù ñoä öu tieân cao hôn Caùc thôøi ñieåm kích hoaït Scheduler P cur keát thuùc P cur : Running -> Blocked Q : Blocked / New -> Ready 10/20/2007 Trần Hạnh Nhi 30

155 Hai nguyeân taéc ñieàu phoái CPU Ñoäc quyeàn while (true) { save state P cur } Scheduler.NextP() P next load state p next resume P next wait for P next Khoâng ñoäc quyeàn while (true) { interrupt save state P cur P cur } Scheduler.NextP() P next load state p next resume P next 10/20/2007 Trần Hạnh Nhi 31

156 Ñaùnh giaù chieán löôïc ñieàu phoái Söû duïng 2 ñaïi löôïng ño : Turn- around time = T quit T arrive : töø luùc vaøo HT ñeán khi hoaøn taát Waiting time = T in Ready Xeùt tröôøng hôïp trung bình N tieán trình Avg Turn- around time = (Σ Turn- around time Pi )/N Avg Waiting time = (Σ Waiting time Pi )/N 10/20/2007 Trần Hạnh Nhi 32

157 Caùc chieán löôïc ñieàu phoái FIFO (FCFS) Xoay vòng (Round Robin) Theo độ ưu tiên Công việc ngắn nhất (SJF) Nhiều mức độ ưu tiên 10/20/2007 Trần Hạnh Nhi 33

158 FCFS (First comes first served) Ready List C B A CPU Tieán trình vaøo RL laâu nhaát ñöôïc choïn tröôùc Theo thứ tự vaøo RL Độc quyền Ready List C B CPU Ready List C CPU 10/20/2007 Trần Hạnh Nhi 34

159 Minh hoïa FCFS P T arriverl CPU burst P TT WT P P P2 1 3 P P3 2 3 P Avg WT = (23+25)/3 = 16 P1 P2 P :00 P1 vào RL P1 dùng CPU 0:01 P2 vào RL 0:02 P3 vào RL 0:24 P1 kết thúc P2 dùng CPU 0:27 P2 kết thúc P3 dùng CPU 10/20/2007 Trần Hạnh Nhi 35

160 Nhaän xeùt FCFS Ñôn giaûn Chòu ñöïng hieän töôïng tích luõy thôøi gian chôø Tieán trình coù thôøi gian xöû lyù ngaén ñôïi tieán trình coù thôøi gian xöû lyù daøi Öu tieân tieán trình cpu-bounded CoùtheåxaûyratìnhtraïngñoäcchieámCPU 10/20/2007 Trần Hạnh Nhi 36

161 Ñieàu phoái Round Robin (RR) Ready List C B A CPU Quantum/ Time slice Ñieàu phoái theo nguyeân taéc FCFS Moãi tieán trình chæ söû duïng moät löôïng q cho moãi laàn söû duïng CPU A chỉ chiếm CPU trong q ms Ready List A C B CPU B được giao quyền sử dụng CPU trong q ms kế tiếp Ready List B A C CPU C được giao quyền sử dụng CPU trong q ms kế tiếp 10/20/2007 Trần Hạnh Nhi 37

162 Minh hoïa RR, q=4 P T arriverl CPU burst P TT WT P P (10-4) P2 1 3 P P3 2 3 P Avg WT = (6+3+5)/3 = 4.66 P1 P2 P3 P1 P1 P1 P1 P :00 P1 vào, P1 dùng CPU 0:01 P2 vào (đợi) 0:02 P3 vào (đợi) 0:04 P1 hết lượt, P2 dùng CPU 0:07 P2 dừng, P3 dùng CPU 0:10 P3 dừng, P1 dùng CPU 0:14 P1 vẫn chiếm CPU 10/20/2007 Trần Hạnh Nhi 38

163 Minh hoïa RR, q=4 P P1 P2 P3 T arriverl CPU burst Tranh chaáp vò trí trong RL : Chung thuûy 1. P : running -> ready 2. P : blocked -> ready 3. P: new ->ready Khoâng phaûi luoân luoân coù thöù töï ñieàu phoái P1 P2 P3 P4P1 P2 P3 P4... P1 P1 P2 P1 P3 P1 P1 P RL 0:04 P1 P2 Chung thuûy 0:00 P1 0:8 P2 P1 0:04? 0:04 P2 P1 Coù môùi nôùi cuõ 0:11 P1 0:15 P3 P1 0:18 P1 10/20/2007 Trần Hạnh Nhi 39

164 RR : Khinaøokeátthuùc1 löôïtsöûduïngcpu Heát thôøi löôïng q ms (quantum) cho pheùp Tieán trình keát thuùc Tieán trình bò khoùa Chờ Rs Chờ biến cố 10/20/2007 Trần Hạnh Nhi 40

165 Nhaän xeùt RR Söû duïng cô cheá khoâng ñoäc quyeàn Moãi tieán trình khoâng phaûi ñôïi quaù laâu Loaïi boû hieän töôïng ñoäc chieám CPU Hieäu quaû? Phuï thuoäc vaøo vieäc choïn löïa quantum q q quaùù lớn??? q quaù nhỏ??? Bao laâu? Giaûm tíùnh töông taùc Taêng chi phí chuyeån ñoåi ngöõ caûnh Tröôøng hôïp xaáu nhaát cuûa RR? 10/20/2007 Trần Hạnh Nhi 41

166 Ñieàu phoái vôùi ñoä öu tieân Phân biệt tiến trìnhquantrọng >< tiến trình bình thường? Độ ưu tiên WinAmp độ ưu tiên: cao(-3) Outlook độ ưu tiên: thấp (3) WinWord độ ưu tiên: trung bình (0) Tieán trình coù ñoä öu tieân cao nhaát ñöôïc choïn caáp CPU tröôùc 10/20/2007 Trần Hạnh Nhi 42

167 Ví duï: Ñoä öu tieân cuûa HÑH WinNT WinNT gaùn cho moãi tieán trình ñoä öu tieân coù giaù trò giöõa 0 & 31 0 (ñoä öu tieân nhoû nhaát): daønh rieâng cho traïng thaùi system idle Ñoä öu tieân ñöôïc phaân theo nhoùm: Realtime : (16-31) Thích hôïp cho caùc tieán trình thôøi gian thöïc Daønh rieâng cho caùc tieán trình cuûa ngöôøi quaûn trò heä thoáng Dynamic : (0-15) Thích hôïp cho caùc tieán trình cuûa ngöôøi duøng thöôøng Chia thaønh 3 möùc : high (11-15) normal (6-10) idle (2-6) 10/20/2007 Trần Hạnh Nhi 43

168 Bieåu ñoà phaân boá ñoä öu tieân cuûa WinNT realtime time-critical 31 realtime levels realtime highest (+2) above normal (+1) normal (0) below normal (-1) lowest (-2) realtime idle dynamic time-critical high 13 normal dynamic levels idle dynamic idle system idle /20/2007 Trần Hạnh Nhi 44

169 Nguyeân taéc ñieàu phoái Độc quyền Lượt sử dụng CPU kết thuùc khi: tiến trình kết thuùc, tiến trình bị khoùa Khoâng độc quyền Lượt sử dụng CPU kết thuùc khi: tiến trình kết thuùc, tiến trình bị khoùa, coùtiến trìnhvôùiđộ ưu tieâncaohơn vaøorl 10/20/2007 Trần Hạnh Nhi 45

170 Minh hoïa ñoä öu tieân (khoângñoäc quyeàn) P T RL Priority CPU burst P TT WT P P (7-1) P P P P Avg WT = (6+0+2)/3 = 2.66 P1 P2 P2 P3 P :00 P1 vào, P1 dùng CPU 0:01 P2 vào (độ ưu tiêncaohơn P1) P2 dành quyền dùngcpu 0:4 P2 kết thúc, P3 dùng CPU 0:7 P3 dừng, P1 dùng CPU 0:30 P1 dừng 0:02 P3 vào (độ ưu tiênthấp hơn P2) P3 không dành được quyền dùngcpu 10/20/2007 Trần Hạnh Nhi 46

171 Nhaän xeùt Caùch tính ñoä öu tieân? Heä thoáng gaùn : CPU times Ngöôøi duøng gaùn töôøng minh Tính chaát ñoä öu tieân : Tónh Ñoäng starvation Soá phaän tieán trình coù ñoä öu tieân thaáp? Chôø laâu, laâu, laâu... Aging : taêng ñoä öu tieân cho nhöõng tieán trình chôø laâu trong heä thoáng 10/20/2007 Trần Hạnh Nhi 47

172 Shortest Job First (SJF) Ready List P2 (cần 3 chukỳ) P1 (cần 5 chukỳ) P3 (cần 7 chukỳ) Ngắn nhất CPU Là một dạng độ ưu tiênđặc biệt với độ ưu tiên p i = thời_gian_còn_lại(process i ) Có thể cài đặt độc quyền hoặc khôngđộc quyền 10/20/2007 Trần Hạnh Nhi 48

173 Minh hoïa SJF (ñoäc quyeàn)(1) P T arriverl CPU burst P TT WT P P P2 1 3 P P3 2 3 P Avg WT = (23+25)/3 = 16 P1 P2 P :00 P1 vào, P1 dùng CPU 0:01 P2 vào RL 0:02 P3 vào RL 0:24 P1 kết thúc, P2 dùng CPU 0:27 P2 dừng, P3 dùng CPU 0:30 P3 dừng 10/20/2007 Trần Hạnh Nhi 49

174 Minh hoïa SJF (ñoäc quyeàn)(2) P T arriverl CPU burst P TT WT P P P2 1 3 P P3 1 2 P Avg WT = (24+22)/3 = P1 P3 P :00 P1 vào, P1 dùng CPU 0:01 P2 vào 0:01 P3 vào 0:24 P1 kết thúc, P3 dùng CPU 0:26 P3 dừng, P2 dùng CPU 0:29 P2 dừng 10/20/2007 Trần Hạnh Nhi 50

175 Minh hoïa SJF (khoângñoäc quyeàn) (1) P T arriverl CPU burst P TT WT P P (7-1) P2 1 3 P P3 2 3 P Avg WT = (6+0+2)/3 = 2.66 P1 P2 P3 P :00 P1 vào, P1 dùng CPU 0:01 P2 vào (độ ưu tiêncaohơn P1) P2 dành quyền dùngcpu 0:4 P2 kết thúc, P3 dùng CPU 0:7 P3 dừng, P1 dùng CPU 0:30 P1 dừng 10/20/2007 Trần Hạnh Nhi 51

176 Minh hoïa SJF (khoângñoäc quyeàn) (2) P T arriverl CPU burst P TT WT P P (10-1) P2 1 5 P2 6 0 P3 3 4 P Avg WT = (9+0+3)/3 = 4 P1 P2 P2 P3 P :00 P1 vào, P1 dùng CPU 0:01 P2 vào (độ ưu tiêncaohơn P1) P2 dành quyền dùngcpu 0:6 P2 kết thúc, P3 dùng CPU 0:9 P3 dừng, P1 dùng CPU 0:33 P1 dừng 0:03 P3 vào (độ ưu tiên< P2) P2 dành quyền dùngcpu 10/20/2007 Trần Hạnh Nhi 52

177 Minh hoïa SJF (nhieàu chu kyø CPU) P T arriverl CPU1 burst IO1 R IO1 T CPU2 burst IO2 R IO2 T P1 0 5 R1 2 2 R2 2 P2 2 1 R R1 4 P R2 1 0 Null 0 CPU P1 P2 P1 P3 P2 P3 P1 P R1 P2 P1 P R2 P1 P /20/2007 Trần Hạnh Nhi 53 22

178 Nhaän xeùt SJF Toái öu thôøi gian chôø Chöùng minh? Khoâng khaû thi Laøm sao bieát CPU burst? P1 a P2 b P3 c AvgWT = (3a+2b+c) Min AvgWT? a<b<c ( ) n τ = α t + 1 α τ n + 1 n length of the nth CPU burst 0<= α <=1 predicted value for the n th CPU burst most recent information relative weight past history 10/20/2007 Trần Hạnh Nhi 54

179 Ñieàu phoái vôùi nhieàu möùc öu tieân CPU Độ ưutiên 1 2 Toå chöùc N RL öùng vôùi nhieàu möùc öu tieân Moãi RL i aùp duïng moät chieán löôïc ñieàu phoái thích hôïp Giöõa caùc RL aùp duïng ñieàu phoái theo ñoä öu tieân : n RL i roãng môùi ñieàu phoái RL i+1 Kết hợp nhiều chiến lược 10/20/2007 Trần Hạnh Nhi 55

180 Ñieàu phoái vôùi nhieàu möùc öu tieân Thöïc teá CPU Độ ưutiên 1 2 Toå chöùc N RL öùng vôùi nhieàu möùc öu tieân Moãi RL i aùp duïng RR Giöõa caùc RL aùp duïng ñieàu phoái theo ñoä öu tieân : RL i roãng môùi ñieàu phoái RL i+1 n Kết hợp nhiều chiến lược 10/20/2007 Trần Hạnh Nhi 56

181 Khuyeát ñieåm 1 CPU 2 Chờ lâu quá Starvation!!! Giaûi phaùp Aging : Chôø laâu quaù : chuyeån leân RL vôùi ñoä öu tieân cao hôn Chieám CPU laâu quaù : chuyeån xuoáng RL vôùi ñoä öu tieân thaáp hôn Khi naøo thöïc hieän aging? Aging tieán trình naøo? 10/20/2007 Trần Hạnh Nhi 57

182 Bài tập: Hãy điều phối CPU: SJF không độc quyền. R1,R2: FIFO Tieán trình Thôøi ñieåm vaøo Ready list CPU1 Thôøi gian IO laàn 1 Thieát bò CPU2 Thôøi gian IO laàn 2 Thieát bò P R1 1 0 Null P R2 2 5 R1 P R1 2 3 R2 P R2 0 0 Null 10/20/2007 Trần Hạnh Nhi 58

183 Chöông 5 Ñoàng boä hoaù tieán trình 11/10/2007 Trần Hạnh Nhi 1

184 Noäi dung baøi giaûng Xöû lyù ñoàng haønh vaø caùc vaán ñeà: Vaán ñeà tranh ñoaït ñieàu khieån (Race Condition) Vaán ñeà phoái hôïp xöû lyù Baøi toaùn ñoàng boä hoùa Yeâu caàu ñoäc quyeàn truy xuaát (Mutual Exclusion) Yeâu caàu phoái hôïp xöû lyù (Synchronization) Caùc giaûi phaùp ñoàng boä hoaù Busy waiting Sleep & Wakeup Caùc baøi toaùn ñoàng boä hoaù kinh ñieån Producer Consumer Readers Writers Dinning Philosophers 11/10/2007 Trần Hạnh Nhi 2

185 Nhieàu tieán trình chung soáng hoaø bình trong heä thoáng? ÑÖØNG HY VOÏNG An toaøn khi caùc tieán trình hoaøn toaøn ñoäc laäp Laøm sao coù ñöôïc?? Thöïc teá Caùc tieán trình chia seû taøi nguyeân chung ( file system, CPU...) Concurrent access => bugs. Ví duï : Deâ con qua caàu Xöû lyù ñoàng haønh =...nhöùc ñaàu 11/10/2007 Trần Hạnh Nhi 3

186 Caùc vaán ñeà Tranh chaáp Nhieàu tieán trình truy xuaát ñoàng thôøi moät taøi nguyeân mang baûn chaát khoâng chia seû ñöôïc Xaûy ra vaán ñeà tranh ñoaït ñieàu khieån (Race Condition) Keát quaû? Khoù bieát, thöôøng laø...sai Luoân luoân nguy hieåm? Phoái hôïp...khoâng, nhöng ñuû ñeå caân nhaéc kyõ caøng Caùc tieán trình khoâng bieát töông quan xöû lyù cuûa nhau ñeå ñieàu chænh hoaït ñoäng nhòp nhaøng Caàn phoái hôïp xöû lyù (Rendez-vous) Keát quaû : khoù bieát, khoâng baûo ñaûm aên khôùp 11/10/2007 Trần Hạnh Nhi 4

187 Noäi dung baøi giaûng Xöû lyù ñoàng haønh vaø caùc vaán ñeà: Vaán ñeà tranh ñoaït ñieàu khieån (Race Condition) Vaán ñeà phoái hôïp xöû lyù Baøi toaùn ñoàng boä hoùa Yeâu caàu ñoäc quyeàn truy xuaát (Mutual Exclusion) Yeâu caàu phoái hôïp xöû lyù (Synchronization) Caùc giaûi phaùp ñoàng boä hoaù Busy waiting Sleep & Wakeup Caùc baøi toaùn ñoàng boä hoaù kinh ñieån Producer Consumer Readers Writers Dinning Philosophers 11/10/2007 Trần Hạnh Nhi 5

188 Tranh ñoaït ñieàu khieån (Race condition) - Ví duï Ñeám soá ngöôøi vaøo Altavista : duøng 2 threads caäp nhaät bieán ñeám hits=> P1 vaø P2 chia seû bieán hits hits = 0 P1 P2 hits = hits +1; hits = hits + 1; Keát quaû cuoái cuøng laø bao nhieâu? 11/10/2007 Trần Hạnh Nhi 6

189 Tranh ñoaït ñieàu khieån (Race condition) - Ví duï hits = 0 time P1 (1) read hits (0) (3) hits = hits = 1 P2 (2)read hits (0) (4)hits = /10/2007 Trần Hạnh Nhi 7

190 Tranh ñoaït ñieàu khieån (Race condition) - Ví duï hits = 0 time P1 (1) read hits (0) (2) hits = hits = 2 P2 (3) read hits (1) (4) hits = /10/2007 Trần Hạnh Nhi 8

191 Tranh ñoaït ñieàu khieån (Race condition) - Ví duï (tt) i=0; Thread a: while(i < 10) i = i +1; print A won! ; Thread b: while(i > -10) i = i - 1; print B won! ; Ai thaéng? Coù baûo ñaûm raèng seõ coù ngöôøi thaéng? Neáu moãi tieán trình xöû lyù treân 1 CPU thì sao? 11/10/2007 Trần Hạnh Nhi 9

192 Tranh ñoaït ñieàu khieån (Race condition)-nhaän xeùt Keát quaû thöïc hieän tieán trình phuï thuoäc vaøo keát quaû ñieàu phoái Cuøng input, khoâng chaéc cuøng output Khoù debug loãi sai trong xöû lyù ñoàng haønh Xöû lyù Laøm lô Deã, nhöng coù phaûi laø giaûi phaùp Khoâng chia seû taøi nguyeân chung : duøng 2 bieán hits1,hits2; xaây caàu 2 lane... Neân duøng khi coù theå, nhöng khoâng bao giôø coù theå ñaûm baûo ñuû taøi nguyeân, vaø cuõng khoâng laø giaûi phaùp ñuùng cho moïi tröôøng hôïp Giaûi phaùp toång quaùt : coù hay khoâng? Lyù do xaûy ra Race condition? Bad interleavings : moät tieán trình xen vaøo quaù trình truy xuaát taøi nguyeân cuûa moät tieán trình khaùc Giaûi phaùp : baûo ñaûm tính atomicity cho pheùp tieán trình hoaøn taát troïn veïn quaù trình truy xuaát taøi nguyeân chung tröôùc khi coù tieán trình khaùc can thieäp 11/10/2007 Trần Hạnh Nhi 10

193 Atomicity : loaïi boû Race Condition time hits = 0 P1 P2 read hits (0) hits = hits = 2 read hits(1) hits = /10/2007 Trần Hạnh Nhi 11

194 Mieàn gaêng (Critical Section) & Khaû naêng ñoäc quyeàn (Mutual Exclusion) Mieàn gaêng (CS) laø ñoaïn chöông trình coù khaû naêng gaây ra hieän töôïng race condition P1 P2 printf( Welcome ); printf( Welcome ); CS hits = hits + 1 hits = hits + 1 CS printf( Bye ); printf( Bye ); Hoã trôï Atomicity : Caàn baûo ñaûm tính ñoäc quyeàn truy xuaát (Mutual Exclusion) cho mieàn gaêng (CS) 11/10/2007 Trần Hạnh Nhi 12

195 Noäi dung baøi giaûng Xöû lyù ñoàng haønh vaø caùc vaán ñeà: Vaán ñeà tranh ñoaït ñieàu khieån (Race Condition) Vaán ñeà phoái hôïp xöû lyù Baøi toaùn ñoàng boä hoùa Yeâu caàu ñoäc quyeàn truy xuaát (Mutual Exclusion) Yeâu caàu phoái hôïp xöû lyù (Synchronization) Caùc giaûi phaùp ñoàng boä hoaù Busy waiting Sleep & Wakeup Caùc baøi toaùn ñoàng boä hoaù kinh ñieån Producer Consumer Readers Writers Dinning Philosophers 11/10/2007 Trần Hạnh Nhi 13

196 Phoái hôïp hoaït ñoäng P1 (1) Send( Anh ); P2 (2) Send( yeâu ); P3 (3) Send( em ); P4 (4) Send( Khoâng ); 11/10/2007 Trần Hạnh Nhi 14

197 Chuyeän gì ñaõ xaûy ra? P1 (1) Send( Anh ); P2 (2) Send( yeâu ); P3 (3) printf( em ); P4 (4) Send( Khoâng ); P3 (3) Send( em ); P4 (4) Send( Khoâng ); P2 (2) Send( yeâu ); P1 (1)Send( Anh );

198 Phoái hôïp xöû lyù P1 Job1; Job2; P2 Laøm theá naøo baûo ñaûm trình töï thöïc hieän Job1 - Job2? P1 vaø P2 thöïc hieän heïn hoø (Rendez-vous) vôùi nhau Hoã trôï Rendez-vous : Baûo ñaûm caùc tieán trình phoái hôïp vôùi nhau theo 1 trình töï xöû lyù ñònh tröôùc. 11/10/2007 Trần Hạnh Nhi 16

199 Noäi dung baøi giaûng Xöû lyù ñoàng haønh vaø caùc vaán ñeà: Vaán ñeà tranh ñoaït ñieàu khieån (Race Condition) Vaán ñeà phoái hôïp xöû lyù Baøi toaùn ñoàng boä hoùa Yeâu caàu ñoäc quyeàn truy xuaát (Mutual Exclusion) Yeâu caàu phoái hôïp xöû lyù (Synchronization) Caùc giaûi phaùp ñoàng boä hoaù Busy waiting Sleep & Wakeup Caùc baøi toaùn ñoàng boä hoaù kinh ñieån Producer Consumer Readers Writers Dinning Philosophers 11/10/2007 Trần Hạnh Nhi 17

200 Baøi toaùn ñoàng boä hoaù (Synchronization) Nhieàu tieán trình chia seû taøi nguyeân chung ñoàng thôøi : Tranh chaáp Race Condition Nhu caàu ñoäc quyeàn truy xuaát (Mutual Exclusion) Caùc tieán trình phoái hôïp hoaït ñoäng : Töông quan dieãn tieán xöû lyù? Nhucaàu hoøheïn (Rendez-vous) Thöïc hieän ñoàng boä hoaù : Laäp trình vieân ñeà xuaát chieán löôïc Caùc tieán trình lieân quan trong baøi toaùn phaûi toân troïng caùc luaätñoàng boä Giaûi phaùp söû duïng caùc cô cheá ñoàng boä : Do laäp trình vieân /phaàn cöùng / HÑH / NNLT cung caáp 11/10/2007 Trần Hạnh Nhi 18

201 Moâ hình ñaûm baûo Mutual Exclusion Nhieäm vuï cuûa laäp trình vieân: Theâm caùc ñoaïn code ñoàng boä hoùa vaøo chöông trình goác Theâm theá naøo : xem moâ hình sau... Kieåm tra vaø daønh quyeàn vaøo CS CS; Töø boû quyeàn söû duïng CS 11/10/2007 Trần Hạnh Nhi 19

202 Moâ hình toå chöùc phoái hôïp giöõa hai tieán trình Nhieäm vuï cuûa laäp trình vieân: Theâm caùc ñoaïn code ñoàng boä hoùa vaøo 2 chöông trình goác Theâm theá naøo : xem moâ hình sau... P1 P2 Job1; Chôø ; Baùo hieäu ; Job2; Nhieàu tieán trình hôn thì sao? Khoâng coù moâ hình toång quaùt Tuøy thuoäc baïn muoán heïn hoø ra sao 11/10/2007 Trần Hạnh Nhi 20

203 Noäi dung baøi giaûng Xöû lyù ñoàng haønh vaø caùc vaán ñeà: Vaán ñeà tranh ñoaït ñieàu khieån (Race Condition) Vaán ñeà phoái hôïp xöû lyù Baøi toaùn ñoàng boä hoùa Yeâu caàu ñoäc quyeàn truy xuaát (Mutual Exclusion) Yeâu caàu phoái hôïp xöû lyù (Synchronization) Caùc giaûi phaùp ñoàng boä hoaù Busy wating Sleep & Wakeup Caùc baøi toaùn ñoàng boä hoaù kinh ñieån Producer Consumer Readers Writers Dinning Philosophers 11/10/2007 Trần Hạnh Nhi 21

204 Giaûi phaùp ñoàng boä hoaù Moät phöông phaùp giaûi quyeát toát baøi toaùn ñoàng boä hoaù caàn thoaû maûn 4 ñieàu kieän sau: Mutual Exclusion : Khoâng coù hai tieán trình cuøng ôû trong mieàn gaêng cuøng luùc. Progess : Moät tieán trình taïm döøng beân ngoaøi mieàn gaêng khoâng ñöôïc ngaên caûn caùc tieán trình khaùc vaøo mieàn gaêng Bounded Waiting : Khoâng coù tieán trình naøo phaûi chôø voâ haïn ñeå ñöôïc vaøo mieàn gaêng. Khoâng coù giaû thieát naøo ñaët ra cho söï lieân heä veà toác ñoä cuûa caùc tieán trình, cuõng nhö veà soá löôïng boä xöû lyù trong heä thoáng. 11/10/2007 Trần Hạnh Nhi 22

205 Caùc giaûi phaùp ñoàng boä hoaù Nhoùm giaûi phaùp Busy Waiting Phaàn meàm Söû duïng caùc bieán côø hieäu Söû duïng vieäc kieåm tra luaân phieân Giaûi phaùp cuûa Peterson Phaàn cöùng Caám ngaét Chæ thò TSL Nhoùm giaûi phaùp Sleep & Wakeup Semaphore Monitor Message 11/10/2007 Trần Hạnh Nhi 23

206 Caùc giaûi phaùp Busy waiting While (chöa coù quyeàn) donothing() ; CS; Töø boû quyeàn söû duïng CS Tieáp tuïc tieâu thuï CPU trong khi chôø ñôïi vaøo mieàn gaêng Khoâng ñoøi hoûi söï trôï giuùp cuûa Heä ñieàu haønh 11/10/2007 Trần Hạnh Nhi 24

207 Nhoùm giaûi phaùp Busy-Waiting Caùc giaûi phaùp Busy Waiting Caùc giaûi phaùp phaàn meàm Giaûi phaùp bieán côø hieäu Giaûi phaùp kieåm tra luaân phieân Giaûi phaùp Peterson Phaàn cöùng Caám ngaét Chæ thò TSL 11/10/2007 Trần Hạnh Nhi 25

208 Giaûi phaùp phaàn meàm 1: Söû duïng bieán côø hieäu int lock = 0 P0 NonCS; P1 NonCS; while (lock == 1); // wait lock = 1; lock = 0; CS; while (lock == 1); // wait lock = 1; lock = 0; CS; NonCS; NonCS; 11/10/2007 Trần Hạnh Nhi 26

209 Giaûi phaùp phaàn meàm 1: Tình huoáng int lock = 0 P0 NonCS; P1 NonCS; while (lock == 1); // wait lock = 1; lock = 0; CS; while (lock == 1); // wait lock = 1; lock = 0; CS; NonCS; NonCS; 11/10/2007 Trần Hạnh Nhi 27

210 Nhaän xeùt Giaûi phaùp phaàn meàm 1: Bieán côø hieäu Coù theå môû roäng cho N tieán trình Khoâng baûo ñaûm Mutual Exclusion Nguyeân nhaân? Bò ngaét xöû lyù while ( lock == 1); // wait lock = 1; CS! Taøi nguyeân duøng chung Baûn thaân ñoaïn code kieåm tra vaø daønh quyeàn cuõng laø CS! 11/10/2007 Trần Hạnh Nhi 28

211 Giaûi phaùp phaàn meàm 2 : Kieåm tra luaân phieân int turn = 1 P0 NonCS; P1 NonCS; while (turn!=0); // wait while (turn!= 1); // wait turn = 1; CS; turn = 0; CS; NonCS; NonCS; 11/10/2007 Trần Hạnh Nhi 29

212 Giaûi phaùp phaàn meàm 2 : Tình huoáng int turn = 1 P0 turn ==1 Wait... CS; turn = 1 NonCS; CS? (turn ==1) P1 CS; turn = 0; NonCS... P0 khoâng vaøo ñöôïc CS laàn 2 khi P1 döøng trong NonCS! 11/10/2007 Trần Hạnh Nhi 30

213 Nhaän xeùt Giaûi phaùp 2: Kieåm tra luaân phieân Chæ daønh cho 2 tieán trình Baûo ñaûm Mutual Exclusion Chæ coù 1 bieán turn, taïi 1 thôøi ñieåm chæ cho 1 tieán trình turn vaøo CS Khoâng baûo ñaûm Progress Nguyeân nhaân? Môø cuûa cho ngöôøi = Ñoùng cöûa chính mình! 11/10/2007 Trần Hạnh Nhi 31

214 Giaûi phaùp phaàn meàm 3 : Peterson s Solution Keát hôïp yù töôûng cuûa 1 & 2, caùc tieán trình chia seû: int turn; //ñeán phieân ai int interest[2] = FALSE; //interest[i] = T : Pi muoán vaøo CS Pi NonCS; j = 1 i; interest[i] = TRUE; turn = j; while (turn==j && interest[j]==true); CS; interest[i] = FALSE; NonCS; 11/10/2007 Trần Hạnh Nhi 32

215 Giaûi phaùp phaàn meàm 3 : Peterson Pj NonCS; i = 1 j; interest[j] = TRUE; turn = i; while (turn==i && interest[i]==true); CS; interest[j] = FALSE; NonCS; 11/10/2007 Trần Hạnh Nhi 33

216 Nhaän xeùt giaûi phaùp phaàn meàm 3: Peterson Laø giaûi phaùp phaàn meàm ñaùp öùng ñöôïc caû 3 ñieàu kieän Mutual Exclusion : Pi chæ coù theå vaøo CS khi: interest[j] == F hay turn == i Neáu caû 2 muoán veà thì do turn chæ coù theå nhaän giaù trò 0 hay 1 neân chæ coù 1 tieán trình vaøo CS Progress Söû duïng 2 bieán interest[i] rieâng bieät => traïng thaùi ñoái phöông khoâng khoaù mình ñöôïc Bounded Wait : interest[i] vaø turn ñeàu coù thay ñoåi giaù trò Khoâng theå môû roäng cho N tieán trình 11/10/2007 Trần Hạnh Nhi 34

217 Nhaän xeùt chung veà caùc giaûi phaùp phaàn meàm trong nhoùm Busy-Waiting Khoâng caàn söï hoã trôï cuûa heä thoáng Deã...sai, Khoù môû roäng Giaûi phaùp 1 neáu coù theå ñöôïc hoã trôï atomicity thì seõ toát... Nhôø ñeán phaàn cöùng? 11/10/2007 Trần Hạnh Nhi 35

218 Nhoùm Busy-Waiting - Caùc giaûi phaùp phaàn cöùng Caùc giaûi phaùp Busy Waiting Caùc giaûi phaùp phaàn meàm Giaûi phaùp bieán côø hieäu Giaûi phaùp kieåm tra luaân phieân Giaûi phaùp Peterson Caùc giaûi phaùp phaàn cöùng Caám ngaét Test&Set lock Instruction 11/10/2007 Trần Hạnh Nhi 36

219 Nhoùm Busy-Waiting - Giaûi phaùp phaàn cöùng 1: Caám ngaét NonCS; Disable Interrupt; CS; Enable Interrupt; NonCS; Disable Interrupt : Caám moïi ngaét, keå caû ngaét ñoàng hoà Enable Interrupt : Cho pheùp ngaét 11/10/2007 Trần Hạnh Nhi 37

220 Giaûi phaùp phaàn cöùng 1: Caám ngaét Thieáu thaän troïng Neáu tieán trình bò khoaù trong CS? System Halt Cho pheùp tieán trình söû duïng moät leänh ñaëc quyeàn Quaù...lieàu! Maùy coù N CPUs? Khoâng baûo ñaûm ñöôïc Mutual Exclusion 11/10/2007 Trần Hạnh Nhi 38

221 Nhoùm Busy-Waiting - Giaûi phaùp phaàn cöùng 2: chæ thò TSL() CPU hoãtrôïprimitive Test and Set Lock Traû veà giaù trò hieän haønh cuûa 1 bieán, vaø ñaët laïi giaù trò True cho bieán Thöïc hieän moät caùch khoâng theå phaân chia TSL (boolean &target) { TSL = target; target = TRUE; } 11/10/2007 Trần Hạnh Nhi 39

222 Aùp duïng TSL int lock = 0 Pi NonCS; while (TSL(lock)); // wait lock = 0; CS; NonCS; 11/10/2007 Trần Hạnh Nhi 40

223 Nhaän xeùt chung caùc giaûi phaùp phaàn cöùng trong nhoùm Busy- Waiting Caàn ñöôïc söï hoã trôï cuûa cô cheá phaàn cöùng Khoâng deã, nhaát laø treân caùc maùy coù nhieàu boä xöû lyù Deã môû roäng cho N tieán trình 11/10/2007 Trần Hạnh Nhi 41

224 Nhaän xeùt chung cho caùc giaûi phaùp trong nhoùm Busy Waiting Söû duïng CPU khoâng hieäu quaû Lieân tuïc kieåm tra ñieàu kieän khi chôø vaøo CS Khaéc phuïc Khoaù caùctieántrìnhchöañuûñieàukieänvaøocs, nhöôøng CPU cho tieán trình khaùc Phaûi nhôø ñeán Scheduler Wait and See... 11/10/2007 Trần Hạnh Nhi 42

225 Caùc giaûi phaùp ñoàng boä hoaù Nhoùm giaûi phaùp Busy Waiting Phaàn meàm Söû duïng caùc bieán côø hieäu Söû duïng vieäc kieåm tra luaân phieân Giaûi phaùp cuûa Peterson Phaàn cöùng Caám ngaét Chæ thò TSL Nhoùm giaûi phaùp Sleep & Wakeup Semaphore Monitor Message 11/10/2007 Trần Hạnh Nhi 43

226 Caùc giaûi phaùp Sleep & Wake up if (chöa coù quyeàn) Sleep() ; CS; Wakeup( somebody); Töø boû CPU khi chöa ñöôïc vaøo CS Khi CS troáng, seõ ñöôïc ñaùnh thöùc ñeå vaøo CS Caàn ñöôïc Heä ñieàu haønh hoã trôï Vì phaûi thay ñoåi traïng thaùi tieán trình 11/10/2007 Trần Hạnh Nhi 44

227 YÙ töôûng Heä Ñieàu haønh hoã trôï 2 primitive : Sleep() : Tieán trình goïi seõ nhaän traïng thaùi Blocked WakeUp(P): Tieán trình P nhaän traïng thaùi Ready AÙp duïng Sau khi kieåm tra ñieàu kieän seõ vaøo CS hay goïi Sleep() tuøy vaøo keát quaû kieåm tra Tieán trình vöøa söû duïng xong CS seõ ñaùnh thöùc caùc tieán trình bò Blocked tröôùc ñoù 11/10/2007 Trần Hạnh Nhi 45

228 AÙp duïng Sleep() and Wakeup() int busy; // busy ==0 : CS troáng int blocked; // ñeám soá tieán trình bò Blocked chôø vaøo CS if (busy) { } else busy = 1; blocked = blocked + 1; Sleep(); CS; busy = 0; if(blocked) { } WakeUp(P); blocked = blocked - 1; 11/10/2007 Trần Hạnh Nhi 46

229 Vaán ñeà vôùi Sleep & WakeUp P1 if (busy) { blocked = blocked + 1; Sleep(); } else busy = 1; CS; WakeUp bò laïc P2 if (busy) { blocked = blocked + 1; Sleep(); } else busy = 1; CS; P1 blocked vónh vieãn busy = 0; if(blocked) { WakeUp(P); blocked = blocked - 1; } busy = 0; if(blocked) { WakeUp(P); blocked = blocked - 1; } Nguyeân nhaân : Vieäc kieåm tra ñieàu kieän vaø ñoäng taùc töø boû CPU coù theå bò ngaét quaõng Baûn thaân caùc bieán côø hieäu khoâng ñöôïc baûo veä 11/10/2007 Trần Hạnh Nhi 47

230 Caøi ñaët caùc giaûi phaùp Sleep & WakeUp? Heä ñieàu haønh caàn hoã trôï caùc cô cheá cao hôn Döïa treân Sleep&WakeUp Keát hôïp caùc yeáu toá kieåm tra Thi haønh khoâng theå phaân chia Nhoùm giaûi phaùp Sleep & Wakeup Semaphore Monitor Message 11/10/2007 Trần Hạnh Nhi 48

231 Giaûi phaùp Sleep & Wakeup 1: Semaphore Ñöôïc ñeà nghò bôûi Dijkstra naêm 1965 Caùc ñaëc tính : Semaphore s; Coù 1 giaù trò Chæ ñöôïc thao taùc bôûi 2 primitives : Down(s) Up(s) Semaphore s; // s >=0 Caùc primitive Down vaø Up ñöôïc thöïc hieän khoâng theå phaân chia 11/10/2007 Trần Hạnh Nhi 49

232 Caøi ñaët Semaphore (Sleep & Wakeup) typedef struct { int value; struct process* L; } Semaphore ; Giaù trò beân trong cuûa semaphore Danh saùch caùc tieán trình ñang bò block ñôïi semaphore nhaän giaù trò döông Semaphore ñöôïc xem nhö laø moät resource Caùc tieán trình yeâu caàu semaphore : goïi Down(s) Neáu khoâng hoaøn taát ñöôïc Down(s) : chöa ñöôïc caáp resource Blocked, ñöôïc ñöa vaøo s.l Caàn coù söï hoã trôï cuûa HÑH Sleep() & Wakeup() 11/10/2007 Trần Hạnh Nhi 50

233 Caøi ñaët Semaphore (Sleep & Wakeup) Down (S) { S.value --; if S.value < 0 { Add(P,S.L); Sleep(); } } Up(S) { S.value ++; if S.value 0 { Remove(P,S.L); Wakeup(P); } } 11/10/2007 Trần Hạnh Nhi 51

234 Söû duïng Semaphore Toå chöùc ñoäc quyeàn truy xuaát P i Down (s) Semaphore s =?1 CS; Up(s) Toå chöùc hoø heïn Semaphore s =?0 P 1 : Job1; Up(s) P 2 : Down (s); Job2; 11/10/2007 Trần Hạnh Nhi 52

235 Nhaän xeùt Semaphores Laø moät cô cheá toát ñeå thöïc hieän ñoàng boä Deã duøng cho N tieán trình Nhöng yù nghóa söû duïng khoâng roõ raøng MutualExclusion : Down & Up Rendez-vous : Down & Up Chæ phaân bieät qua moâ hình Khoù söû duïng ñuùng Nhaàm laãn 11/10/2007 Trần Hạnh Nhi 53

236 Giaûi phaùp Sleep & Wakeup 2: Monitor Ñeà xuaát bôûi Hoare(1974) & Brinch (1975) Laø cô cheá ñoàng boä hoaù do NNLT cung caáp Hoã trôï cuøng caùc chöùc naêng nhö Semaphore Deã söû duïng vaø kieåm soaùt hôn Semaphore Baûo ñaûm Mutual Exclusion moät caùch töï ñoäng Söû duïng bieán ñieàu kieän ñeå thöïc hieän Synchronization 11/10/2007 Trần Hạnh Nhi 54

237 Monitor : Ngöõ nghóa vaø tính chaát(1) Monitor M Share variable: i,j; MethodA MethodB i=0methodc prinf(j) i=5 Laø moät module chöông trình ñònh nghóa Caùc CTDL, ñoái töôïng duøng chung Caùc phöông thöùc xöû lyù caùc ñoái töôïng naøy Baûo ñaûm tính encapsulation Caùc tieán trình muoán truy xuaát döõ lieäu beân trong monitor phaûi duøng caùc phöông thöùc cuûa monitor : P1 : M.C() // i=5 P2: M.B() // printf(j) 11/10/2007 Trần Hạnh Nhi 55

238 Monitor : Ngöõ nghóa vaø tính chaát(2) Entry queue P6 P7 P8 Share variable: i,j; MethodA MethodB i = 0 MethodC printf(i) i=5 P1 Töï ñoäng baûo ñaûm Mutual Exclusion Taïi 1 thôøi ñieåm chæ coù 1 tieán trình ñöôïc thöïc hieän caùc phöông thöùc cuûa Monitor Caùc tieán trình khoâng theå vaøo Monitor seõ ñöôïc ñöa vaøo Entry queue cuûa Monitor Ví duï P1 : M.A(); P6 : M.B(); P7 : M.A(); P8 : M.C(); 11/10/2007 Trần Hạnh Nhi 56

239 Monitor : Ngöõ nghóa vaø tính chaát(3) Entry queue P6 P7 P8 Share variable: i,j; Condition variable: C1: P2 P4 C2: P3 P5 P1 MethodA MethodB i=0; signal(c1) MethodC P1 wait(c1); i=5 signal(c2 ); Hoã trôï Synchronization vôùi caùc condition variables Wait(c) : Tieán trình goïi haøm seõ bò blocked Signal(c): Giaûi phoùng 1 tieán trình ñang bò blocked treân bieán ñieàu kieän c C.queue : danhsaùchcaùctieántrìnhblocked treân c Traïng thaùi tieán trình sau khi goïi Signal? Blocked. Nhöôøng quyeàn vaøo monitor cho tieán trình ñöôïc ñaùnh thöùc Tieáp tuïc xöû lyù heát chu kyø, roài blocked 11/10/2007 Trần Hạnh Nhi 57

240 Söû duïng Monitor Toå chöùc ñoäc quyeàn truy xuaát Monitor M <resource type> RC; Function AccessMutual CS; // access RC P i M.AccessMutual(); //CS Toå chöùc hoø heïn Monitor M Condition c; Function F1 Job1; Signal(c); Function F2 Wait(c); Job2; P 1 : M.F1(); P 2 : M.F2(); 11/10/2007 Trần Hạnh Nhi 58

241 Giaûi phaùp Sleep & Wakeup 3: Message Ñöôïc hoã trôï bôûi HÑH Ñoàng boä hoùa treân moâi tröôøng phaân taùn 2 primitive Send & Receive Caøi ñaët theo mode blocking 1. Send Request Server 3. Send Finish P 2. Receive Accept 11/10/2007 Trần Hạnh Nhi 59

242 Noäi dung baøi giaûng Xöû lyù ñoàng haønh vaø caùc vaán ñeà: Vaán ñeà tranh ñoaït ñieàu khieån (Race Condition) Vaán ñeà phoái hôïp xöû lyù Baøi toaùn ñoàng boä hoùa Yeâu caàu ñoäc quyeàn truy xuaát (Mutual Exclusion) Yeâu caàu phoái hôïp xöû lyù (Synchronization) Caùc giaûi phaùp ñoàng boä hoaù Busy waiting Sleep & Wakeup Caùc baøi toaùn ñoàng boä hoaù kinh ñieån Producer Consumer Readers Writers Dinning Philosophers 11/10/2007 Trần Hạnh Nhi 60

243 Baøitoaùnñoàngboäkinhñieån1: Producer - Consumer (Bounded-Buffer Problem) Moâ taû : 2 tieán trình P vaø C hoaït ñoäng ñoàng haønh P saûn xuaát haøng vaø ñaët vaøo Buffer C laáy haøng töø Buffer ñi tieâu thuï Buffer coù kích thöôùc giôùi haïn Tình huoáng P vaø C ñoàng thôøi truy caäp Buffer? P Buffer (N) C P theâm haøng vaøo Buffer ñaày? C laáy haøng töø Buffer troáng? P khoâng ñöôïc ghi döõ lieäu vaøo buffer ñaõ ñaày (Rendez-vous) C khoâng ñöôïc ñoïc döõ lieäu töø buffer ñang troáng (Rendez-vous) P vaø C khoâng ñöôïc thao taùc treân buffer cuøng luùc (Mutual Exclusion) 11/10/2007 Trần Hạnh Nhi 61

244 Producer Consummer : Giaûi phaùp Semaphore Caùc bieán duøng chung giöõa P vaø C BufferSize = N; // soá choã trong boä ñeäm semaphore mutex = 1 ; // kieåm soaùt truy xuaát ñoäc quyeàn semaphore empty = BufferSize; // soá choã troáng semaphore full = 0; // soá choã ñaày int Buffer[BufferSize]; // boä ñeäm duøng chung 11/10/2007 Trần Hạnh Nhi 62

245 Producer Consummer : Giaûi phaùp Semaphore Producer() Consumer() { { int item; int item; while (TRUE) while (TRUE) { { produce_item(&item); down(&full); down(&empty); down(&mutex); down(&mutex) remove_item(&item,buffer); enter_item(item,buffer); up(&mutex); up(&mutex); up(&empty); up(&full); consume_item(item); } } } 11/10/2007 Trần Hạnh Nhi 63 }

246 P&C - Giaûi phaùp Semaphore: Thinking... Producer() Consumer() { { int item; int item; while (TRUE) while (TRUE) { { produce_item(&item); down(&mutex); down(&mutex) down(&full); down(&empty); remove_item(&item,buffer); enter_item(item,buffer); up(&mutex); up(&mutex); up(&empty); up(&full); consume_item(item); } } } 11/10/2007 Trần Hạnh Nhi 64 }

247 Producer Consummer : Giaûi phaùp Monitor monitor ProducerConsumer condition full, empty; int Buffer[N], count; procedure enter(); { if (count == N) wait(full); enter_item(item,buffer); count ++; if (count == 1) signal(empty); } procedure remove(); { if (count == 0) wait(empty) remove_item(&item,buffer); count --; if (count == N-1) signal(full); } count = 0; end monitor; 11/10/2007 Trần Hạnh Nhi 65

248 Producer Consummer : Giaûi phaùp Monitor Producer() { int item; while (TRUE) { produce_item(&item); ProducerConsumer.enter; } } Consumer(); { int item; while (TRUE) { ProducerConsumer.remove; consume_item(item); } } 11/10/2007 Trần Hạnh Nhi 66

249 Producer Consummer : Giaûi phaùp Message } Producer() { int item; message m; while (TRUE) { } Coi chöøng Deadlock produce_item(&item); receive(consumer, Request); create_message(&m, item); send(consumer,&m); Consumer(); 11/10/2007 Trần Hạnh Nhi 67 { } int item; message m; for(0 to N) send(producer, Request); while (TRUE) { } receive(producer, &m); remove_item(&m,&item); send(producer, Request); consumer_item(item);

250 Baøi toaùn ñoàng boä hoaù kinh ñieån 2: Readers & Writers Moâ taû : N tieán trình Ws vaø Rs hoaït ñoäng ñoàng haønh Rs vaø Ws chia seû CSDL R1 W caäp nhaät noäi dung CSDL Rs truy caäp noäi dung CSDL Tình huoáng Caùc Rs cuøng truy caäp CSDL? W ñang caäp nhaät CSDL thì caùc Rs truy caäp CSDL? Caùc Rs ñang truy caäp CSDL thì W muoán caäp nhaät CSDL? R2 W1 W2 Database R3 W khoâng ñöôïc caäp nhaät döõ lieäu khi coù ít nhaát moät R ñang truy xuaát CSDL (ME) Rs khoâng ñöôïc truy caäp CSDL khi moät W ñang caäp nhaät noäi dung CSDL (ME) Taïi moät thôøi ñieåm, chæ cho pheùp moät W ñöôïc söûa ñoåi noäi dung CSDL (ME) 11/10/2007 Trần Hạnh Nhi 68

251 Readers-Writers vôùi active readers 11/10/2007 Trần Hạnh Nhi 69

252 Readers-writers vôùi moät active writer 11/10/2007 Trần Hạnh Nhi 70

253 Öu tieân ai hôn ñaây? 11/10/2007 Trần Hạnh Nhi 71

254 Readers & Writers W ñoäc quyeàn truy xuaát CSDL W hieän taïi keát thuùc caäp nhaät CSDL : ai vaøo? Cho W khaùc vaøo, caùc Rs phaûi ñôïi Öu tieân Writer, Reader coù theå starvation Cho caùc Rs vaøo, Ws khaùc phaûi ñôïi Öu tieân Reader, Writer coù theå starvation 11/10/2007 Trần Hạnh Nhi 72

255 Readers & Writers : Giaûi phaùp Semaphore Caùc bieán duøng chung giöõa Rs vaø Ws semaphore db = 1; // Kieåm tra truy xuaát CSDL 11/10/2007 Trần Hạnh Nhi 73

256 R&W : Giaûi phaùp Semaphore (1) Reader() { down(&db); read-db(database); up(&db); } Writer() { down(&db); write-db(database); up(&db); } Chuyeän gì xaûy ra? Chæ coù 1 Reader ñöôïc ñoïc CSDL taïi 1 thôøi ñieåm! 11/10/2007 Trần Hạnh Nhi 74

257 R&W : Giaûi phaùp Semaphore (2) Reader() { rc = rc +1; if (rc ==1) down(&db); read-db(database); rc = rc 1; if (rc == 0) up(&db); } Writer() } { down(&db); write-db(database); up(&db); Ñuùng chöa? rc laø bieán duøng chung giöõa caùc Reader... CS ñoù 11/10/2007 Trần Hạnh Nhi 75

258 Readers & Writers : Giaûi phaùp Semaphore Caùc bieán duøng chung giöõa Rs vaø Ws semaphore db = 1; // Kieåm tra truy xuaát CSDL Caùc bieán duøng chung giöõa Rs int rc; // Soá löôïng tieán trình Reader semaphore mutex = 1; // Kieåm tra truy xuaát rc 11/10/2007 Trần Hạnh Nhi 76

259 R&W : Giaûi phaùp Semaphore (3) Reader() { down(&mutex); rc = rc +1; if (rc ==1) down(&db); up(mutex); read-db(database); down(mutex); rc = rc 1; if (rc == 0) up(&db); up(mutex); } Writer() { down(&db); write-db(database); up(&db); } Ai ñöôïc öu tieân? 11/10/2007 Trần Hạnh Nhi 77

260 R&W : Giaûi phaùp Semaphore (Thinking...) Reader() { down(&mutex); rc = rc +1; up(mutex); if (rc ==1) down(&db); read-db(database); down(mutex); rc = rc 1; up(mutex); if (rc == 0) up(&db); } Writer() { down(&db); write-db(database); up(&db); }??? heâ, heâ, heâ 11/10/2007 Trần Hạnh Nhi 78

261 R&W: Giaûi phaùp Monitor monitor ReaderWriter? Database; procedure R1(); { } procedure R...(); { } procedure W1(); { } procedure W...(); { } 11/10/2007 Trần Hạnh Nhi 79

262 monitor ReaderWriter condition OKWrite, OKRead; int rc = 0; Boolean busy = false; procedure BeginRead() { if (busy) wait(okread); rc++; signal(okread); } procedure FinishRead() { rc--; if (rc == 0) signal(okwrite); } procedure BeginWrite() { if (busy rc!= 0) wait(okwrite); busy = true; } procedure FinishWrite() { busy = false; if (OKRead.Queue) signal(okread); else signal(okwrite); } end monitor;

263 Reader&Writer : Giaûi phaùp Monitor Reader() { RW.BeginRead(); Read-db(Database); RW.FinishRead(); } Writer(); { RW.BeginWrite(); Write-db(Database); RW.FinishWrite(); } 11/10/2007 Trần Hạnh Nhi 81

264 Baøi toaùn ñoàng boä hoaù kinh ñieån 3: Böûa aên cuûa caùc Trieát gia (Dining Philosophers) Naêm trieát gia ngoài chung quanh baøn aên moùn spaghetti (yum..yum) Treân baøn coù 5 caùi nóa ñöôïc ñaët giöõa 5 caùi ñóa (xem hình) Ñeå aên moùn spaghetti moãi ngöôøi caàn coù 2 caùi nóa Trieát gia thöù i: Thinking... Eating... Chuyeän gì coù theå xaûy ra? 11/10/2007 Trần Hạnh Nhi 82

265 Dining Philosophers : Tình huoáng nguy hieåm 2 trieát gia giaønh giaät cuøng 1 caùi nóa Tranh chaáp Caàn ñoàng boä hoaù hoaït ñoäng cuûa caùc trieát gia 11/10/2007 Trần Hạnh Nhi 83

266 Dining Philosophers : Giaûi phaùp ñoàng boä semaphore fork[5] = 1; Philosopher (i) { while(true) { down(fork[i]); down(fork[i+1 mod 5]) eat; up(fork[i]); up(fork[i+1 mod 5]); think; } Deadlock 11/10/2007 Trần Hạnh Nhi 84

267 Dining Philosophers : Thaùch thöùc Caàn ñoàng boä sao cho: Khoâng coù deadlock Khoâng coù starvation 11/10/2007 Trần Hạnh Nhi 85

268 Baøi giaûng 6 : Quaûn lyù boä nhôù Toång quan Nhu caàu boä nhôù cuûa tieán trình Caùc vaán ñeà veà boä nhôù Chuyeån ñoåi ñòa chæ Caùc coâng ñoaïn Caùc moâ hình chuyeån ñoåi ñòa chæ Vai troø Quaûn lyù boä nhôù cuûa HÑH Caùc yeâu caàu Caùc moâ hình toå chöùc boä nhôù Moâ hình Lieân tuïc Moâ hình Khoâng lieân tuïc 4/6/2008 Trần Hạnh Nhi 1

269 Toång quan : Nhu caàu veà boä nhôù cuûa tieán trình Chöông trình caàn ñöôïc naïp vaøo Boä nhôù chính ñeå thi haønh CPU chæ coù theå truy xuaát tröïc tieáp Main Memory Chöông trình khi ñöôïc naïp vaoø BNC seõ ñöôïc toå chöùc theo caáu truùc cuûa tieán trình töông öùng Ai caáp phaùt BNC cho tieán trình? Chöông trình nguoàn söû duïng ñòa chæ symbolic Tieán trình thöïc thi truy caäp ñiaï chæ thöïc trong BNC Ai chuyeån ñoåi ñòa chæ? HÑH Boä phaän Quaûn lyù Boä nhôù Moâ hình toå chöùc? Cô cheá hoã trôï Chieán löôïc thöïc hieän 4/6/2008 Trần Hạnh Nhi 2

270 Toång quan : Caùc vaán ñeà veà Boä nhôù Caáp phaùt Boä nhôù : Uniprogramming : Khoâng khoù Multiprogramming : BNC giôùi haïn, N tieán trình? Baûoveä? Chiaseû? Tieán trình thay ñoåi kích thöôùc? Tieán trình lôùn hôn BNC? Chuyeån ñoåi ñòa chæ tieán trình Thôøi ñieåm chuyeån ñoåi ñòa chæ? Coâng thöùc chuyeån ñoåi? Phuï thuoäc vaøo Moâ hình toå chöùc BNC? Caàn söï hoã trôï cuûa phaàn cöùng? Tieán trình thay ñoåi vò trí trong BNC? 4/6/2008 Trần Hạnh Nhi 3

271 Ví duï Moâi tröôøng ña nhieäm OS gcc nachos emacs 0x9000 0x7000 0x4000 0x3000 0x0000 Neáu nachos caàn theâm khoâng gian? Neáu nachos coù loãi vaø thöïc hieän thao taùc ghi vaøo ñòa chæ 0x7100? Khi naøo gcc bieát raèng noù thöôøng truù taïi 0x4000? Neáu emacs caàn nhieàu boä nhôù hôn dung löôïng vaät lyù hieän coù? 4/6/2008 Trần Hạnh Nhi 4

272 Caùc böôùc chuyeån ñoåi chöông trình C program: test.c Compiler Object:test.o Linker lib.o Executable: test.exe Loader Memory 4/6/2008 Trần Hạnh Nhi 5

273 Caùc böôùc chuyeån ñoåi source program ->.exe

274 A.C int x; int y; x = 12; y = 5; B.C F() { printf( Hi ); } OS F(); A.O 0 // x 2 // y 4 // [0] = 12; 5 // [2] = 5; 6 // jmp F //external // object B.O 0-2 // F() 0 // F() 3 // x 5 // y 7 // [3] = 12; 8 // [5] = 5; 9 // jmp 0 Test.exe? // F()? // x? // y? // [?] = 12;? // [?] = 5;? // jmp?

275 Thuaät ngöõ Ñòa chæ logic coøn goïi laø ñòa chæ aûo, laø taát caû caùc ñòa chæ do boäxöûlyùtaïo ra Ñòa chæ physic - laø ñòa chæ thöïc teá maø trình quaûn lyù boä nhôù nhìn thaáy vaø thao taùc Khoâng gian ñòa chæ laø taäp hôïp taát caû caùc ñòa chæ aûo phaùt sinh bôûi moät chöông trình Khoâng gian vaät lyù laø taäp hôïp taát caû caùc ñòa chæ vaät lyù töông öùng vôùi caùc ñòa chæ aûo 4/6/2008 Trần Hạnh Nhi 8

276 Nhu caàu boä nhôù cuûa tieán trình Tiến trìnhgồm có: code segment read from program file by exec usually read-only can be shared data segment initialized global variables (0 / NULL) uninitialized global variables heap dynamic memory e.g., allocated using malloc grows against higher addresses stack segment variables in a function stored register states (e.g. calling function EIP) grows against lower addresses system data segment (PCB) segment pointers pid program and stack pointers possible stack stacks for more threads 4/6/2008 Trần Hạnh Nhi high address 9 Stack cho các thread <add>: : push %ebp : mov %esp,%ebp : mov 0xc(%ebp),%eax a: add 0x8(%ebp),%eax d: pop %ebp e: ret f <main>: f: push %ebp : mov %esp,%ebp : sub $0x18,%esp : and $0xfffffff0,%esp : mov $0x0,%eax d: sub %eax,%esp f: movl $0x0,0xfffffffc(%ebp) : movl $0x2,0x4(%esp,1) e: movl $0x4,(%esp,1) : call <add> a: mov %eax,0xfffffffc(%ebp) d: leave e: ret f: nop... low address system data segment (PCB) code segment initialized variables uninitialized variables data segment process A heap unused memory data segment

277 Logical and Physical Address Spaces 4/6/2008 Trần Hạnh Nhi 10

278 Truy xuaát boä nhôù Ñòa chæ cuûa Instruction vaø data trong program source code laø symbolic: goto errjmp; X = A + B; Nhöõng ñòa chæ symbolic naøy caàn ñöôïc lieân keát (bound) vôùi caùc ñòa chæ thöïc trong boä nhôù vaät lyù tröôùc khi thi haønh code Address binding: aùnh xaï ñòa chæ töø khoâng gian ñòa chæ (KGÑC) naøy vaøo KGÑC khaùc Thôøi ñieåm thöïc hieän address binding? compile time load time execution time. 4/6/2008 Trần Hạnh Nhi 11

279 Thôøi ñieåm keát buoäc ñòa chæ? Coù theå thöïc hieän vieäc keát buoäc ñòa chæ taïi 1 trong 3 thôøi ñieåm : Compile-time: Phaùt sinh ñòa chæ tuyeät ñoái Phaûi bieát tröôùc vò trí naïp chöông trình Phaûi bieân dòch laïi chöông trình khi vò trí naïp thay ñoåi Load-time: Khi bieân dòch chæ phaùt sinh ñòa chæ töông ñoái Khi naïp, bieát vò trí baét ñaàu seõ tính laïi ñòa chæ tuyeät ñoái Phaûi taùi naïp khi vò trí baét ñaàu thay ñoåi Execution-time: Khi bieân dòch,naïp chæ phaùt sinh ñòa chæ tuong ñoái Trì hoaõn thôøi ñieåm keât buoäc ñòa chæ tuyeät ñoái ñeán khi thi haønh Khi ñoù ai tính toaùn ñòa chæ tuyeät ñoái? Phaàn cöùng : MMU 4/6/2008 Trần Hạnh Nhi 12

280 Chuyeån ñoåi ñòa chæ gcc Load Store CPU virtual address MMU Translation box legal addr? Illegal? Physical address Physical memory data error 4/6/2008 Trần Hạnh Nhi 13

281 CPU, MMU and Memory 4/6/2008 Trần Hạnh Nhi 14

282 Yeâu caàu quaûn lyù boä nhôù Taêng hieäu suaát söû duïng CPU Caàn hoã trôï Multiprogramming Löu tröõ cuøng luùc nhieàu tieán trình trong BNC? Caùc yeâu caàu khi toå chöùc löu tröõ tieán trình: 1. Relocation 2. Protection 3. Sharing 4. Logical Organization 5. Physical Organization 4/6/2008 Trần Hạnh Nhi 15

283 Taùi ñònh vò (Relocation) Khoâng bieát tröôùc chöông trình seõ ñöôïc naïp vaøo BN ôû vò trí naøo ñeå xöû lyù. Moät tieán trình coù theå ñöôïc di dôøi trong boä nhôù sau khi ñaõ naïp C Tieán trình taêng tröôûng? HÑH saép xeáp laïi caùc tieán trình ñeå coù theå söû duïng BNC hieäu quûa hôn. 4/6/2008 Trần Hạnh Nhi 16

284 Baûo veä (Protection) Khoâng cho pheùp tieán trình truy caäp ñeán caùc vò trí nhôù ñaõ caáp cho tieán trình khaùc (khi chöa coù pheùp). Khoâng theå thöïc hieän vieäc kieåm tra hôïp leä taïi thôøi ñieåm bieân dòch hay naïp, vì chöông trình coù theå ñöôïc taùi ñònh vò. Thöïc hieän kieåm tra taïi thôøi ñieåm thi haønh Caàn söï hoã trôï cuûa phaàn cöùng. 4/6/2008 Trần Hạnh Nhi 17

285 Chia seû (Sharing) Caàn cho pheùp nhieàu tieán trình tham chieáu ñeán cuøng moät vuøng nhôù maø khoâng toån haïi ñeán tính an toaøn heä thoáng : Tieát kieäm choå löu tröõ cho caùc module duøng chung. Cho pheùp caùc tieán trình coäng taùc coù khaû naêng chia seû döõ lieäu. 4/6/2008 Trần Hạnh Nhi 18

286 Toå chöùc logic (Logical Organization) Ngöôøi duøng vieát chöông trình goàm nhieàu module, vôùi caùc yeâu caàu baûo veä cho töøng module coù theå khaùc nhau: instruction modules : execute-only. data modules : read-only hay read/write. moät soá module laø private, soá khaùc coù theå laø public. OS caàn hoã trôï caùc cô cheá coù theå phaûn aùnh moâ hình logic cuûa chuông trình 4/6/2008 Trần Hạnh Nhi 19

287 Toå chöùc vaät lyù (Physical Organization) Caáp phaùt vuøng nhôù vaät lyù sao cho hieäu quaû Vaø deã daøng chuyeån ñoåi chöông trình qua laïi giöõa BNC vaø BNP 4/6/2008 Trần Hạnh Nhi 20

288 Caùc moâ hình toå chöùc boä nhôù Caáp phaùt Lieân tuïc (Contigous Allocation) Linker Loader Base & Bound Caáp phaùt Khoâng lieân tuïc (Non Contigous Allocation) Segmentation Paging 4/6/2008 Trần Hạnh Nhi 21

289 Caáp phaùt Lieân tuïc (Contigous Allocation) Nguyeân taéc : Chöông trình ñöôïc naïp toaøn theå vaøo BNC ñeå thi haønh Caàn moät vuøng nhôù lieân tuïc, ñuû lôùn ñeå chöùa Chöông trình Khoâng gian ñòa chæ : lieân tuïc Khoâng gian vaät lyù : coù theå toå chöùc Fixed partition Variable partition 2 moâ hình ñôn giaûn Linker Loader Base & Bound 4/6/2008 Trần Hạnh Nhi 22

290 Fixed Partitioning Phaân chia KGVL thaønh caùc partitions Coù 2 caùch phaân chia partitions : kích thöôùc baèng nhau kích thöôùc khaùc nhau Moãi tieán trình seõ ñöôïc naïp vaøo moät partition ñeå thi haønh Chieán löôïc caáp phaùt partition? 4/6/2008 Trần Hạnh Nhi 23

291 Chieán löôïc caáp phaùt partitions cho tieán trình Kích thöôùc partition baèng nhau khoâng coù gì phaûi suy nghó! Kích thöôùc partition khoâng baèng nhau : Söû duïng nhieàu haøng ñôïi Caáp cho tieán trình partition vôùi kích thöôùc beù nhaát (ñuû lôùn ñeå chöùa tieân trình) Khuyeát ñieåm : phaân boá caùc tieán trình vaøo caùc partition khoâng ñeàu, moät soá tieán trình phaûi ñôïi trong khi coù partition khaùc troáng 4/6/2008 Trần Hạnh Nhi 24

292 Chieán löôïc caáp phaùt partitions cho tieán trình Kích thöôùc partition khoâng baèng nhau : Söû duïng 1 haøng ñôïi Caáp cho tieán trình partition töï do vôùi kích thöôùc beù nhaát (ñuû lôùn ñeå chöùa tieân trình) Caàn duøng moät CTDL ñeå theo doõi caùc partition töï do 4/6/2008 Trần Hạnh Nhi 25

293 Nhaän xeùt Fixed Partitioning Söû duïng BN khoâng hieäu quaû internal fragmentation : kích thöôùc chöông trình khoâng ñuùng baèng kích thöôùc partition Möùc ñoä ña chöông cuûa heä thoáng (Soá tieán trình ñöôïc naïp) bò giôùi haïn bôûi soá partitions P1 (2M) internal frag 3M P2 (4M) 8M internal frag 4/6/2008 Trần Hạnh Nhi 26

294 Dynamic Partitioning BNC khoâng ñöôïc phaân chia tröôùc Caùc partition coù kích thöôùc tuøy yù, seõ hình thaønh trong quaù trình naïp caùc tieán trình vaøo heä thoáng Moãi tieán trình seõ ñöôïc caáp phaùt ñuùng theo kích thöôùc yeâu caàu khoâng coøn internal fragmentation P1 (2M) P2 (4M) 4/6/2008 Trần Hạnh Nhi 27

295 Dynamic Partitioning: tình huoáng P4 (1.5M) P1 (2M) P2 (4M) P3 (8M) external fragmentation 2M Choïn löïa partition ñeå caáp phaùt cho tieán trình? Ñoàng thôøi coù nhieàu partition töï do ñuû lôùn ñeå chöùa tieán trình Dynamic Allocation problem Tieán trình vaøo sau khoâng laáp ñaày choã troáng tieán trình tröôùc ñeå laïi external fragmentation

296 Ví duï Dynamic Partitioning 4/6/2008 Trần Hạnh Nhi 29

297 Ví duï Dynamic Partitioning 4/6/2008 Trần Hạnh Nhi 30

298 Giaûi quyeát vaán ñeà Dynamic Allocation Caùc chieán löôïc thoâng duïng ñeå choïn partition: First-fit: choïn partition töï do ñaàu tieân Best-fit: choïn partition töï do nhoû nhaát ñuû chöùa tieán trình Worst-fit: choïn partition töï do lôùn nhaát ñuû chöùa tieán trình P3 (1M) 2M P1 8M First Fit Worst Fit P2 1.5M Best Fit 4/6/2008 Trần Hạnh Nhi 31

299 Memory Compaction (Garbage Collection) Giaûi quyeát vaán ñeà External Fragmentation : Doàn caùc vuøng bò phaân maûnh laïi vôùi nhau ñeå taïo thaønh partition lieân tuïc ñuû lôùn ñeå söû duïng Chi phí thöïc hieän cao 2M External fragmentations P1 1M P2 1.5M 4/6/2008 Trần Hạnh Nhi 32

300 Caùc moâ hình chuyeån ñoåi ñòa chæ Fixed/Dynamic partition laø moâ hình toå chöùc naïp tieán trình vaøo KGVL Caàn coù moâ hình ñeå chuyeån ñoåi ñòa chæ töø KGÑC vaøo KGVL Linker Loader Base & Bound 4/6/2008 Trần Hạnh Nhi 33

301 Moâ hình Linker-Loader test.exe 0x4000 OS test.exe 0x7000 jump 0x2000 0x0000 jump 0x5000 0x3000 (base) Taïi thôøi ñieåm Link, giöõ laïi caùc ñòa chæ logic Vò trí base cuûa tieán trình trong boä nhôù xaùc ñònh ñöôïc vaøo thôøi ñieåm naïp : ñòa chæ physic = ñòa chæ logic + base 4/6/2008 Trần Hạnh Nhi 34

302 Nhaän xeùt moâ hình Linker-Loader Khoâng caàn söï hoã trôï phaàn cöùng ñeå chuyeån ñoåi ñòa chæ Loader thöïc hieän Baûo veä? Khoâng hoã trôï Dôøi chuyeån sau khi naïp? Khoâng hoã trôï taùi ñònh vò Phaûi naïp laïi! 4/6/2008 Trần Hạnh Nhi 35

303 Moâ hình Base & Bound Test.exe 0x4000 OS Test.exe Bound 0x7000 jump 0x2000 0x0000 jump 0x2000 Base 0x3000 Taïi thôøi ñieåm Link, giöõ laïi caùc ñòa chæ logic Vò trí base, bound ñöôïc ghi nhaän vaøo 2 thanh ghi: Keát buoäc ñòa chæ vaøo thôøi ñieåm thi haønh => taùi ñònh vò ñöôïc : ñòa chæ physic = ñòa chæ logic + base register Baûo veä : ñòa chæ hôïp leä [base, bound] 4/6/2008 Trần Hạnh Nhi 36

304 Nhaän xeùt moâ hình Base & Bound Keát buoäc ñòa chæ taïi thôøi ñieåm thi haønh => caàn hoã trôï cuûa phaàn cöùng CPU logical addrs MMU + base reg physical addrs memory Hoã trôï Baûo veä Taùi ñònh vò 4/6/2008 Trần Hạnh Nhi 37

305 Khuyeát ñieåm cuûa caáp phaùt lieân tuïc Khoâng coù vuøng nhôù lieân tuïc ñuû lôùn ñeå naïp tieán trình? Boù tay... Söû duïng BNC khoâng hieäu qua! 1M P1 P3 (9M) 8M 4/6/2008 Trần Hạnh Nhi 38 P2 1M

306 Caùc moâ hình toå chöùc boä nhôù Caáp phaùt Lieân tuïc (Contigous Allocation) Linker Loader Base & Bound Caáp phaùt Khoâng lieân tuïc (Non Contigous Allocation) Segmentation Paging 4/6/2008 Trần Hạnh Nhi 39

307 Caùc moâ hình caáp phaùt khoâng lieân tuïc Cho pheùp naïp tieán trình vaøo BNC ôû nhieàu vuøng nhôù khoâng lieân tuïc Khoâng gian ñòa chæ : phaân chia thaønh nhieàu partition Segmentation Paging Khoâng gian vaät lyù : coù theå toå chöùc Fixed partition : Paging Variable partition : Segmentation 4/6/2008 Trần Hạnh Nhi 40

308 Segmentation Laäp trình vieân : chöông trình laø moät taäp caùc segments Moät segment laø moät ñôn vò chöông trình goàm caùc ñoái töôïng coù cuøng nhoùm ngöõ nghóa Ví duï : main program, procedure, function, local variables, global variables,common block,stack, symbol table, arrays... Caùc segment coù theå coù kích thöôùc khaùc nhau Moâ hình Segmentation : KGÑC : phaân chia thaønh caùc segment KGVL : toå chöùc thaønh dynamic partitions Naïp tieán trình : Moãi segment caàn ñöôïc naïp vaøo moät partition lieân tuïc, töï do, ñuû lôùn cho segment partition naøo?...dynamic Allocation! Caùc segment cuûa cuøng 1 chöông trình coù theå ñöôïc naïp vaøo nhöõng partition khoâng lieân tuïc 4/6/2008 Trần Hạnh Nhi 41

309 Moâ hình Segmentation int m; main () { F1(m); } F1(int x) { x = 9; } heap stack data (m) code (main,f1) KGDC Quaûn lyù ñòa chæ? KGVL 4/6/2008 Trần Hạnh Nhi 42

310 Toå chöùc Segmentation Ñiaï chæ logic : <segment-number, offset> Ñòa chæ physic : <real address> Chuyeån ñoåi ñòa chæ : <s,d> <r> Chuyeån ñoåi ñòa chæ vaøo thôøi ñieåm thi haønh MMU thi haønh Söû duïng Segment Table (baûng phaân ñoaïn) ñeå löu thoâng tin caáp phaùt BNC, laøm cô sôû thöïc hieän aùnh xaï ñòa chæ Moãi tieán trình coù moät Segment Table Sâegment Table: Soá phaàn töû cuûa Segment Table = Soá Segment cuûa chöông trình Moãi phaàn töû cuûa Segment Table moâ taû cho 1 segment, vaø coù caáu truùc : base: ñòa chæ vaät lyù trong BNC cuûa partition chöùa segment limit : kích thöôùc segment Löu tröõ Segment Table? Cache : neáu ñuû nhoû BNC : Segment-table base register (STBR), Segment-table length register (STLR) 4/6/2008 Trần Hạnh Nhi 43

311 Chuyeån ñoåi ñòa chæ trong moâ hình Segmentation Logical Addr 3 128? no yes fault + 0x1000 mem Seg# offset Seg table base limit seg x /6/2008 Trần Hạnh Nhi 44

312 Logical-to-Physical Address Translation in segmentation 4/6/2008 Trần Hạnh Nhi 45

313 Nhaän xeùt Moâ hình Segmentation Caáp phaùt khoâng lieân tuïc => taän duïng boä nhôù hieäu quaû Hoã trôï taùi ñònh vò Töøng Segment Hoã trôï Baûo veä vaø Chia seû ñöôïc ôû möùc module YÙ nghóa cuûa möùc module? Chuyeån ñoåi ñòa chæ phöùc taïp Ñaõ coù MMU... Söû duïng dynamic partition : chòu ñöïng Dynamic Allocation : choïn vuøng nhôù ñeå caáp cho moät segment First fit, Best fit, Worst fit External Fragmentation : Memory Compaction : chi phí cao 4/6/2008 Trần Hạnh Nhi 46

314 Sharing of Segments: Text Editor 4/6/2008 Trần Hạnh Nhi 47

315 Paging Hoã trôï HÑH khaéc phuïc baøi toaùn caáp phaùt boä nhôù ñoäng, vaø loaïi boû external fragmentation Moâ hình Paging : KGÑC : phaân chia chöông trình thaønh caùc page coù kích thöôùc baèng nhau Khoâng quan taâm ñeán ngöõ nghóa cuûa caùc ñoái töôïng naèm trong page KGVL : toå chöùc thaønh caùc fixed partitions coù kích thöôùc baèng nhau goïi laø frame page size = frame size Naïp tieán trình : Moãi page caàn ñöôïc naïp vaøo moät frame töï do Caùc pages cuûa cuøng 1 chöông trình coù theå ñöôïc naïp vaøo nhöõng frames khoâng keá caän nhau. Tieán trình kích thöôùc N pages -> caàn N frame töï do ñeå naïp 4/6/2008 Trần Hạnh Nhi 48

316 Moâ hình Paging int m; main () { F1(m); } F1(int x) { x = 9; } int m; main () F1(int x) stack heap KGDC Quaûn lyù ñòa chæ? KGVL 4/6/2008 Trần Hạnh Nhi 49

317 Toå chöùc Paging Ñiaï chæ logic : <page-number, offset> Ñòa chæ physic : <frame-number, offset> Chuyeån ñoåi ñòa chæ : <p,d> <f,d> Chuyeån ñoåi ñòa chæ vaøo thôøi ñieåm thi haønh MMU thi haønh Söû duïng Page Table ñeå löu thoâng tin caáp phaùt BNC, laøm cô sôû thöïc hieän aùnh xaï ñòa chæ Moãi tieán trình coù moät Page Table Page Table Soá phaàn töû cuûa Page Table = Soá Page trong KGÑC cuûa chöông trình Moãi phaàn töû cuûa baûng Page Table moâ taû cho 1 page, vaø coù caáu truùc : frame: soá hieäu frame trong BNC chöùa page Löu tröõ Page Table? Cache : khoâng ñuû BNC : Page-table base register (PTBR), Page-table length register (PTLR) 4/6/2008 Trần Hạnh Nhi 50

318 Chuyeån ñoåi ñòa chæ trong moâ hình Paging CPU Logical addr p d Physical addr f d KGVL f Page table 4/6/2008 Trần Hạnh Nhi 51

319 Logical-to-Physical Address Translation in Paging 4/6/2008 Trần Hạnh Nhi 52

320 Nhaän xeùt Moâ hình Paging Loaïi boû Dynamic Allocation External Fragmentation Trong suoát vôùi LTV Hoã trôï Baûo veä vaø Chia seû ôû möùc page Internal Fragmentation Löu tröõ Page Table trong boä nhôù Toán choã Taêng thôøi gian chuyeån ñoåi ñòa chæ 4/6/2008 Trần Hạnh Nhi 53

321 Löu tröõ Page Table Giaû söû heä thoáng söû duïng m bit ñòa chæ Size of KGÑC = 2 m Kích thöôùc page Treân nguyeân taéc tuøy yù, thöïc teá choïn pagesize = 2 n Taïi sao? Soá trang trong KGÑC: #pages = 2 m / 2 n = 2 m-n Ví duï : 32-bits ñòa chæ, pagesize = 4K KGÑC = > #pages= = 2 20 = pages! #pages = #entry trong PT Ñiaï chæ logic : Page Table p d (m-n) n Moãi tieán trình löu 1 Page Table Soá löôïng phaàn töû quaù lôùn -> Löu BNC Moãi truy xuaát ñòa chæ seõ toán 2 laàn truy xuaát BNC 4/6/2008 Trần Hạnh Nhi 54

322 Löu tröõ Page Table : Tieát kieäm khoâng gian Söû duïng baûng trang ña caáp Chia baûng trang thaønh caùc phaàn nhoû, baûn thaân baûng trang cuõng seõ ñöôïc phaân trang Chæ löu thöôøng tröïc baûng trang caáp 1, sau ñoù khi caàn seõ naïp baûng trang caáp nhoû hôn thích hôïp... Coù theå loaïi boû nhöõng baûng trang chöùa thoâng tin veà mieàn ñòa chæ khoâng söû duïng Söû duïng Baûng trang nghòch ñaûo Moâ taû KGVL thay vì moâ taû KGÑC -> 1 IPT cho toaøn boä heä thoáng 4/6/2008 Trần Hạnh Nhi 55

323 Baûng trang ña caáp p d Baûng trang tuyeán tính Söû duïng page-number laøm chæ muïc ñeán Page Table Phaûi löu taát caû caùc phaàn töû moâ taû taát caû caùc trang trong KGÑC p f 2 Nhöõng page khoâng söû duïng : laõng phí Naïp toaøn boä PT vaøo BNC : toán choã /6/2008 Trần Hạnh Nhi 56

324 Baûng trang ña caáp Page Table caáp Page Table caáp 2 Page Table caáp 2 Page Table caáp 2 Page Table caáp

325 Moâ hình baûng trang 2 caáp 4/6/2008 Trần Hạnh Nhi 58

326 Ví duï moâ hình baûng trang 2 caáp Moät maùy tính söû duïng ñòa chæ 32bít vôùi kích thöôùc trang 4Kb. Ñòa chæ logic ñöôïc chia thaønh 2 phaàn: Soá hieäu trang : 20 bits. Offset tính töø ñaàu moãi trang :12 bits. Vì baûng trang laïi ñöôïc phaân trang neân soá hieäu trang laïi ñöôïc chia laøm 2 phaàn: Soá hieäu trang caáp 1. Soá hieäu trang caáp 2. 4/6/2008 Trần Hạnh Nhi 59

327 Ví duï moâ hình baûng trang 2 caáp Vì theá, ñòa chæ logic seõ coù daïng nhö sau: page number page offset p i p 2 d /6/2008 Trần Hạnh Nhi 60

328 Baûng trang ña caáp Page Table caáp Page Table caáp 2 Page Table caáp 2 Page Table caáp 2 Page Table caáp

329 Baûng trang nghòch ñaûo (Inverted Page Table) Söû duïng duy nhaát moät baûng trang nghòch ñaûo cho taát caû caùc tieán trình Moãi phaàn töû trong baûng trang nghòch ñaûo moâ taû moät frame, coù caáu truùc <page> : soá hieäu page maø frame ñang chöùa ñöïng <idp> : id cuûa tieán trình ñang ñöôïc sôõ höõu trang Moãi ñòa chæ aûo khi ñoù laø moät boä ba <idp, p, d > Khi moät tham khaûo ñeán boä nhôù ñöôïc phaùt sinh, moät phaàn ñòa chæ aûo laø <idp, p > ñöôïc ñöa ñeán cho trình quaûn lyù boä nhôù ñeå tìm phaàn töû töông öùng trong baûng trang nghòch ñaûo, neáu tìm thaáy, ñòa chæ vaät lyù <i,d> seõ ñöôïc phaùt sinh 4/6/2008 Trần Hạnh Nhi 62

330 Kieán truùc baûng trang nghòch ñaûo 4/6/2008 Trần Hạnh Nhi 63

331 Löu tröõ Page table : Tieát kieäm thôøi gian Moãi truy caäp BNC caàn truy xuaát BNC 2 laàn : Tra cöùu Page Table ñeå chuyeån ñoåi ñòa chæ Tra cöu baûn thaân data Laøm gì ñeå caûi thieän : Tìm caùch löu PT trong cache Cho pheùp tìm kieám nhanh PT lôùn, cache nhoû : laøm sao löu ñuû? Löu 1 phaàn PT... Phaàn naøo? Caùc soá hieäu trang môùi truy caäp gaàn ñaây nhaát... 4/6/2008 Trần Hạnh Nhi 64

332 Translation Lookaside Buffer (TLB) Vuøng nhôù Cache trong CPU ñöôïc söû duïng ñeå löu taïm thôøi moät phaàn cuûa PT ñöôïc goïi laø Translation Lookaside Buffer (TLB) Cho pheùp tìm kieám toác ñoä cao Kích thöôùc giôùi haïn (thöôøng khoâng quaù 64 phaàn töû) Moãi entry trong TLB chöùa moät soá hieäu page vaø frame töông öùng ñang chöùa page Khi chuyeån ñoåi ñòa chæ, truy xuaát TLB tröôùc, neáu khoâng tìm thaáy soá hieäu page caàn thieát, môùi truy xuaát vaøo PT ñeå laáy thoâng tin frame. 4/6/2008 Trần Hạnh Nhi 65

333 Translation Lookaside Buffer 4/6/2008 Trần Hạnh Nhi 66

334 Chuyeån ñoåi ñòa chæ vôùi Paging virtual address CPU p d f physical address f d d TLB p f f Memory PT 4/6/2008 Trần Hạnh Nhi 67 f

335 Söû duïng TBL 4/6/2008 Trần Hạnh Nhi 68

336 Baûo veä vaø chia seû trong Segmentation vaø Paging Baûo veä Segmentation : moãi phaàn töû trong ST ñöôïc gaén theâm caùc bit baûo veä Moãi segment coù theå ñöôïc baûo veä tuøy theo ngöõ nghóa cuûa caùc ñoái töôïng beân trong segment Paging : moãi phaàn töû trong PT ñöôïc gaén theâm caùc bit baûo veä Moãi page khoâng nhaän thöùc ñöôïc ngöõ nghóa cuûa caùc ñoái töôïng beân trong page, neân baûo veä chæ aùp duïng cho toaøn boä trang, khoâng phaân bieät. Chia seû: Cho nhieàu phaàn töï trong KGÑC cuøng troû ñeán 1 vò trí trong KGVL Segmentation : chia seû möùc module chöông trình Paging : chia seû caùc trang 4/6/2008 Trần Hạnh Nhi 69

337 Sharing Pages: A Text Editor

338 Sharing Pages: A Text Editor ed 3 + data 1 ed 3 + data 2 ed 3 + data 3 Chia seû Page 2 = Chia seû caû code vaø data!

339 Ñaùnh giaù caùc moâ hình chuyeån ñoåi ñòa chæ Giaû söû coù: t m : thôøi gian truy xuaát BNC t c : thôøi gian truy xuaát cache hit-ration : tæ leä tìm thaáy moät soá hieäu trang p trong TLB Coâng thöùc tính thôøi gian truy caäp thöïc teá (Time Effective Acess) ñeán moät ñoái töôïng trong BNC bao goàm thôøi gian chuyeån ñoåi ñòa chæ vaø thôøi gian truy xuaát döõ lieäu TEA = (time biding add + time acces memory) 4/6/2008 Trần Hạnh Nhi 72

340 Linker-Loader TEA = t m (data) Base + Bound TEA = (t c + t c ) + t m (Base & Bound) (data) Segmentation TEA = t c + t m (ST trong cache) (data) Paging Khoâng söû duïng TLB : TEA = t m + t m (PT trong mem) (data) Coù söû duïng TLB : TEA = hit-ratio ( t c + t m ) + (1- hit-ratio)( t c + t m + t m ) (TLB) (data) (TLB) (PT) (data)

341 Baøi giaûng 7 : Boä nhôù AÛo VaÁn ñeà vôùi Real Memory YÙ töôûng Virtual Memory Thöïc hieän Virtual Memory Caùc chieán löôïc cuûa Virtual Memory Chieán löôïc naïp Chieán löôïc thay theá trang Chieán löôïc caáp phaùt khung trang Hieän töôïng thrashing Nguyeân nhaân Giaûi phaùp 12/16/2007 Trần Hạnh Nhi 1

342 Caùc caáp boä nhôù Cho ñeán nay : Naïp toaøn boä tieán trình vaøo boä nhôù roài thöïc hieän noù... Neáu kích thöôùc tieán trình lôùn hôn dung löông boä nhôù chính? Registers Cache Memory 12/16/2007 Trần Hạnh Nhi 2

343 Giaûi phaùp Taïi moät thôøi ñieåm chæ coù 1 chæ thò ñöôïc thi haønh Taïi sao phaûi naïp taát caû tieán trình vaøo BNC cuøng 1 luùc? YÙ töôûng Cho pheùp naïp vaø thi haønh töøng phaàn tieán trình Ai ñieàu khieån vieäc thay ñoåi caùc phaàn ñöôïc naïp vaø thi haønh? Taïi moät thôøi ñieåm chæ giöõ trong BNC caùc chæ thò vaø döõ lieäu caàn thieát taïi thôøi ñieåm ñoù Caùc phaàn khaùc cuûa tieán trình naèm ôû ñaâu? Giaûi phaùp Boä nhôù aûo (virtual memory) 12/16/2007 Trần Hạnh Nhi 3

344 Virtual Memory Neáu coù moät Virtual Memory vôùi dung löôïng raát raát lôùn cho LTV laøm vieäc... Hoan hoâ! Memory Virtual Memory Cache Registers 12/16/2007 Trần Hạnh Nhi 4

345 YÙ töôûng Taùch bieät KGÑC vaø KGVL LTV : moãi tieán trình laøm vieäc vôùi KGÑC 2 m cuûa mình (ñòa chæ töø 0 (2 m -1)) HÑH : chòu traùch nhieäm naïp caùc KGÑC vaøo moät KGVL chung Giaûi phaùp cuûa HÑH : Naïp töøng phaàn tieán trình Phaân chia KGÑC thaønh caùc phaàn? Paging/Segmentation Môû roäng BNC ñeå löu tröõ caùc phaàn cuûa tieán trình chöa ñöôïc naïp Duøng BNP(disk) ñeå môû roäng BNC Nhaän bieát phaàn naøo cuûa KGÑC chöa ñöôïc naïp? Boå sung bit côø hieäu ñeå nhaän daïng tình traïng cuûa moät page/segment laø ñaõ ñöôïc naïp vaøo BNC hay chöa Cô cheá chuyeån ñoåi qua laïi caùc phaàn cuûa tieán trình giöõa BNC vaø BNP Swapping... 12/16/2007 Trần Hạnh Nhi 5

346 Virtual Memory vôùi cô cheá phaân trang (Paging) Phaân chia KGÑC thaønh caùc page Duøng BNP(disk) ñeå môû roäng BNC, löu tröõ caùc phaàn cuûa tieán trình chöa ñöôïc naïp Boå sung bit côø hieäu trong Page Table ñeå nhaän daïng tình traïng moät page ñaõ ñöôïc naïp vaøo BNC hay chöa. Caáu truùc moät phaàn töû trong Page Tables 12/16/2007 Trần Hạnh Nhi 6

347 Löu tröõ KGÑC ôû ñaâu? Söû duïng boä nhôù phuï ñeå löu tröõ taïm thôøi caùc trang chöa söû duïng P DISK RAM 12/16/2007 Trần Hạnh Nhi 7

348 Virtual Memory virtual address space physical memory /16/2007 Trần Hạnh Nhi 8

349 Page table Memory Lookup present bit Incoming virtual address (0x2004, 8196) bit index into page table virtual page = 0x0010 = 2 Outgoing physical address (0x6004, 24580) 12-bit offset /16/2007 Trần Hạnh Nhi 9

350 Page table Memory Lookup present bit Incoming virtual address (0x2004, 8196) 4-bit index into page table virtual page = 0x0010 = 2 Outgoing physical address PAGE FAULT 12-bit offset /16/2007 Trần Hạnh Nhi 10

351 Demand Paging int i,j; i main () emacs { j } i = 5; j = 2; i=5 j=2 gcc ji KGDC Khi naïp moät tieán trình môùi, chæ naïp vaøo BNC page chöùa entry code Khi truy xuaát ñeán moät chæ thò hay döõ lieäu, page töông öùng môùi ñöôïc naïp vaøo BNC code KGVL 12/16/2007 Trần Hạnh Nhi 11

352 Swapping 12/16/2007 Trần Hạnh Nhi 12

353 Demand Paging + Swapping int i,j; main () { } i = 5; j = 2; i j emacs ji i=5 j=2 gcc KGDC code KGVL 12/16/2007 Trần Hạnh Nhi 13

354 Boä nhôù aûo = True lie Ngöôøi duøng : sôû höõu boä nhôù voâ haïn, rieâng bieät Heä ñieàu haønh : thaàm laëng thöïc hieän quaù trình swapping # of references Memory address 10% RAM + 90% DISK RAM DISK 12/16/2007 Trần Hạnh Nhi 14

355 Thöïc hieän Boä nhôù aûo Baûng trang : theâm 1 bit valid/invalid ñeå nhaän dieän trang ñaõ hay chöa ñöôïc naïp vaøo RAM Frame valid/invalid Disk Mem Truy xuaát ñeán moät trang chöa ñöôïc naïp vaøo boä nhôù : loãi trang (page fault) 12/16/2007 Trần Hạnh Nhi 15

356 Page Tables

357 Xöû lyù loãi trang naïp M OS truy xuaát 6 taùi kích hoaït tieán trình Boä nhôù aûo 3 xaùc ñònh vò trí löu trang treân ñóa 1 i Page Table 5 caäp nhaät baûng trang loãi trang 2 swap out trang naïn nhaân frame troáng 3 Boä nhôù vaät lyù 4 M mang trang caàn truy xuaát vaøo boä nhôù 12/16/2007 Trần Hạnh Nhi 17

358 Caùc böôùc xöû lyù loãi trang 1. Kieåm tra truy xuaát ñeán boä nhôù laø hôïp leä hay baát hôïp leä 2. Neáu truy xuaát baát hôïp leä : keát thuùc tieán trình Ngöôïc laïi : ñeán böôùc 3 3. Tìm vò trí chöùa trang muoán truy xuaát treân ñóa. 4. Tìm moät khung trang troáng trong boä nhôù chính : a. Neáu tìm thaáy : ñeán böôùc 5 b. Neáu khoâng coøn khung trang troáng, choïn moät khung trang naïn nhaân ñeå swap out, caäp nhaät baûng trang töông öùng roài ñeán böôùc 5 5. Chuyeån trang muoán truy xuaát töø boä nhôù phuï vaøo boä nhôù chính : naïp trang caàn truy xuaát vaøo khung trang troáng ñaõ choïn (hay vöøa môùi laøm troáng ) ; caäp nhaät noäi dung baûng trang, baûng khung trang töông öùng. 6. Taùi kích hoaït tieán trình ngöôøi söû duïng. 12/16/2007 Trần Hạnh Nhi 18

359 Caùc caâu hoûi 1. Choïn trang naøo ñeå naïp? => Chieán löôïc naïp Demand Paging / Prepageing 2. Choïn trang naïn nhaân? => Chieán löôïc thay theá trang FIFO / OPTIMAL/LRU 3. Caáp phaùt khung trang => Chieán löôïc caáp phaùt khung trang Coâng baèng/ Tyû leä... 12/16/2007 Trần Hạnh Nhi 19

360 Chieán löôïc naïp Quyeát ñònh thôøi ñieåm naïp moät/nhieàu page vaøo BNC Naïp tröôùc : laøm sao bieát? =>prepaging Naïp sau : taàn suaát loãi trang cao? => pure demand paging Prepaging : Naïp saün moät soá trang caàn thieát vaøo BNC tröôùc khi truy xuaát chuùng Demand paging : Chæ naïp trang khi ñöôïc yeâu caàu truy xuaát ñeán trang ñoù ld init pages ld page ld page ld page... init pages =? 12/16/2007 Trần Hạnh Nhi 20

361 Chieán löôïc thay theá trang (Page Replacement) Muïc tieâu : thay theá trang sao cho taàn suaát xaûy ra loãi trang thaáp nhaát Ñaùnh giaù Söû duïng soá frame cuï theå Giaû söû coù moät chuoãi truy xuaát cuï theå adresse : 0100, 0432, 0101, 0612, 0102, 0103, 0104, 0611 # page : 1, 4, 1, 6, 1, 1, 1, 6, Thöïc hieän moät thuaät toaùn thay theá trang treân chuoãi truy xuaát naøy Ñeám soá loãi trang phaùt sinh Chuoãi truy xuaát 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 3 frames 12/16/2007 Trần Hạnh Nhi 21

362 Chieán löôït thay theá trang FIFO Optimal LRU (Least Recently Used) 12/16/2007 Trần Hạnh Nhi 22

363 Chieán löôïc thay theá trang FIFO Nguyeân taéc : Naïn nhaân laø trang giaø nhaát Ñöôïc naïp vaøo laâu nhaát trong heä thoáng Thöïc hieän Löu thôøi ñieåm naïp, so saùnh ñeå tìm min Chi phí cao Toå chöùc FIFO caùc trang theo thöù töï naïp Trang ñaàu danh saùc laø naïn nhaân Nhaän xeùt Ñôn giaûn Coâng baèng? Khoâng xeùt ñeán tính söû duïng! Trang ñöôïc naïp vaøo laâu nhaát coù theå laø trang caàn söû duïng thöôøng xuyeân! victim add 12/16/2007 Trần Hạnh Nhi 23

364 Ví duï : FIFO * * * * * * * * * * * * 12/16/2007 Trần Hạnh Nhi 24

365 FIFO vaø hieäu öùng Belady Söû duïng caøng nhieàu frame...caøng coù nhieàu loãi trang! 12/16/2007 Trần Hạnh Nhi 25

366 Chieán löôïc thay theá trang : Optimal Nguyeân taéc : Naïn nhaân laø trang laâu söû duïng ñeán nhaát trong töông lai Laøm sao bieát? Nhaän xeùt Baûo ñaûm taàn suaát loãi trang thaáp nhaát Khoâng khaû thi! victim AGBDCABCABCGABC Cur page 12/16/2007 Trần Hạnh Nhi 26

367 Ví duï : Optimal * * * * * * * * 12/16/2007 Trần Hạnh Nhi 27

368 Chieán löôïc thay theá trang : LRU Nguyeân taéc : Naïn nhaân laø trang laâu nhaát chöa söû duïng ñeán trong quaù khöù Nhìn lui : ñuû thoâng tin Nhaän xeùt Xaáp xæ Optimal Thöïc hieän? victim AGBDCABCABCGABC Cur page 12/16/2007 Trần Hạnh Nhi 28

369 Ví duï : LRU * * * * * * * * * * * 12/16/2007 Trần Hạnh Nhi 29

370 Thöïc hieän LRU Söû duïng boä ñeám: Theâm tröôøng reference time cho moãi phaàn töû trong baûng trang Theâm vaøo caáu truùc cuûa CPU moät boä ñeám counter. moãi laàn coù söï truy xuaát ñeán moät trang trong boä nhôù giaù trò cuûa counter taêng leân 1. giaù trò cuûa counter ñöôïc ghi nhaän vaøo reference time cuûa trang töông öùng. thay theá trang coù reference time laø min. Söû duïng stack: toå chöùc moät stack löu tröõ caùc soá hieäu trang moãi khi thöïc hieän moät truy xuaát ñeán moät trang, soá hieäu cuûa trang seõ ñöôïc xoùa khoûi vò trí hieän haønh trong stack vaø ñöa leân ñaàu stack. trang ôû ñænh stack laø trang ñöôïc truy xuaát gaàn nhaát, vaø trang ôû ñaùy stack laø trang laâu nhaát chöa ñöôïc söû duïng.. 12/16/2007 Trần Hạnh Nhi 30

371 Thöïc hieän LRU vôùi stack 12/16/2007 Trần Hạnh Nhi 31

372 Thöïc hieän LRU : thöïc teá Heä thoáng ñöôïc hoã trôï phaàn cöùng hoaøn chænh ñeå caøi ñaët LRU? Ñöøng coù mô! Heä thoáng chæ ñöôïc trang bò theâm moät bit reference : gaén vôùi moät phaàn töû trong baûng trang. ñöôïc khôûi gaùn laø 0 ñöôïc phaàn cöùng ñaët giaù trò 1 moãi laàn trang töông öùng ñöôïc truy caäp ñöôïc phaàn cöùng gaùn trôû veà 0 sau töøng chu kyø qui ñònh tröôùc. Bit reference chæ giuùp xaùc ñònh nhöõng trang coù truy caäp, khoâng xaùc ñònh thöù töï truy caäp Khoâng caøi ñaët ñöôïc LRU Xaáp xæ LRU... reference modify frame protect 12/16/2007 Trần Hạnh Nhi 32

373 Xaáp xæ LRU : Söû duïng caùc bits History 4-53 thôøi gian bit reference caùc bits history söû duïng theâm N bit history phuï trôï Sau töøng chu kyø, bit reference seõ ñöôïc cheùp laïi vaøo moät bit history tröôùc khi bi reset N bit history seõ löu tröõ tình hình truy xuaát ñeán trang trong N chu kyø cuoái cuøng. 12/16/2007 Trần Hạnh Nhi 33

374 Thôøi gian

375 Thôøi gian

376 Thôøi gian

377 Thôøi gian

378 Xaáp xæ LRU : Cô hoäi thöù 2 (Clock algorithme) Söû duïng moät bit reference duy nhaát. Choïn ñöôïc trang naïn nhaân theo FIFO Kieåm tra bit reference cuûa trang ñoù : Neáu reference = 0, ñuùng laø naïn nhaân roài Neáu reference = 1, cho trang naøy moät cô hoäi thöù hai reference = 0 thôøi ñieåm vaøo Ready List ñöôïc caäp nhaät laïi laø thôøi ñieåm hieän taïi. Choïn trang FIFO tieáp theo... Nhaän xeùt : Moät trang ñaõ ñöôïc cho cô hoäi thöù hai seõ khoâng bò thay theá tröôùc khi heä thoáng ñaõ thay theá heát nhöõng trang khaùc. Neáu trang thöôøng xuyeân ñöôïc söû duïng, bit reference cuûa noù seõ duy trì ñöôïc giaù trò 1, vaø trang haàu nhö khoâng bao giôø bò thay theá. 12/16/2007 Trần Hạnh Nhi 38

379 Xaáp xæ LRU : Cô hoäi thöùc 2 (Clock algorithme) page# 0 page# Trang FIFO 10 page# Trang FIFO 10 page# Naïn nhaân 0 page# 10 page# 01 page# 12/16/2007 Trần Hạnh Nhi 39

380 Xaáp xæ LRU : NRU Söû duïng 2 bit Reference vaø Modify Priority R M Vôùi hai bit naøy, coù theå coù 4 toå hôïp taïo thaønh 4 lôùp sau : (0,0) khoâng truy xuaát, khoâng söûa ñoåi (0,1) khoâng truy xuaát gaàn ñaây, nhöng ñaõ bò söûa ñoåi (1,0) ñöôïc truy xuaát gaàn ñaây, nhöng khoâng bò söûa ñoåi (1,1) ñöôïc truy xuaát gaàn ñaây, vaø bò söûa ñoåi Choïn trang naïn nhaân laø trang coù ñoä öu tieân cao nhaát khi keát hôïp bit R vaø bit M 12/16/2007 Trần Hạnh Nhi 40

381 Chieán löôïc caáp phaùt frame Soá frame caàn caáp phaùt cho moãi tieán trình? Giaûi söû coù m frame vaø n process Caáp phaùt coâng baèng: #frame(pi) = m/n Coâng baèng??? Caáp phaùt theo tyû leä: #frame(pi) = (si / (Σ si ))* m si = kích thöôùc cuûa boä nhôù aûo cho tieán trình pi Loãi trang xaûy ra tieáp theo, caáp phaùt theâm frame cho tieán trình nhö theá naøo? Tuøy thuoäc chieán löôïc thay theá trang Cuïc boä : chæ choïn trang naïn nhaân trong taäp caùc trang cuûa tieán trình phaùt sinh loãi trang -> soá frame khoâng taêng Toaøn cuïc: ñöôïc choïn baát kyø trang naïn nhaân naøo (duø cuûa tieán trình khaùc) - > soá frame coù theå taêng, loãi trang lan truyeàn 12/16/2007 Trần Hạnh Nhi 41

382 Thay theá trang toaøn cuïc vaø...keát cuïc bi thaûm! Running CPU IO P1, error P1 P2, error P2 P1 P2, swap out P1 P3, error P3 P1, swap out Taát caû caùc tieán trình baän roän thay theá trang! 12/16/2007 Trần Hạnh Nhi 42

383 Thrashing Taát caû tieán trình ñaàu baän roän xöû lyù loãi trang! IO hoaït ñoäng 100 %, CPU raûnh! Heä thoáng ngöøng treä P1 P2 P3 Real mem Virtual Memory = Tha hoà xaøi boä nhôù Thrashing = aûo töôûng suïp ñoå! Caùc tieán trình trong heä thoáng yeâu caàu boä nhôù nhieàu hôn khaû naêng cung caáp cuûa heä thoáng! 12/16/2007 Trần Hạnh Nhi 43

384 Thrashing Diagram Why does paging work? Locality model Process migrates from one locality (working set) to another Why does thrashing occur? Σ size of working sets > total memory size 12/16/2007 Trần Hạnh Nhi 44

385 Nguyeân nhaân Thrashing 1. Tieán trình khoâng taùi söû duïng boä nhôù (quaù khöù!= töông lai) 2. Tieán trình taùi söû duïng boä nhôù, nhöng vôùi kích thöôc lôùn hôn 3. Quaù nhieàu tieán trình trong heä thoáng Chæ coù theå kieåm soaùt thrashing do nguyeân nhaân 3. 12/16/2007 Trần Hạnh Nhi 45

386 Working set (1968, Denning) Working set: Working set = taäp hôïp caùc trang tieán trình ñang truy xuaát taïi 1 thôøi ñieåm Caùc pages ñöôïc truy xuaát trong Δ laàn cuoái cuøng seõ naèm trong working set cuûa tieán trình Δ : working set parameter Kích thöôùc cuûa WS thay ñoåi theo thôøi gian tuøy vaoø locality cuûa tieán trình 12/16/2007 Trần Hạnh Nhi 46

387 Working-Set Model Δ working-set window soá laàn truy caäp VD: 10,000 instruction Δ=10 WS(t1) = {1,2,5,6,7}, WS(t2) = {3,4} WSS i (working set of Process P i ) = toång soá trang ñöôïc truy caäp trong Δ laàn gaàn ñaây nhaát D = Σ WSS i Toång caùc frame caàn cho N tieán trình trong heä thoáng if D > m Thrashing if D > m, choïn moä/moät soá tieán trình ñeå ñình chæ taïm thôøi. 12/16/2007 Trần Hạnh Nhi 47

388 Giaûi quyeát thrasing vôùi moâ hình Working set Söû duïng Working set Cache partitioning: Caáp cho moãi tieán trình soá frame ñuû chöùa WS cuûa noù Page replacement: öu tieân swap out caùc non-ws pages. Scheduling: chæ thi haønh tieán trình khi ñuû choã ñeå naïp WS cuûa noù 12/16/2007 Trần Hạnh Nhi 48

389 BAØI GIẢNG 8 : LIEÂN LAÏC GIÖÕA CAÙC TIEÁN TRÌNH CÔ CHEÁ Á? TRAO ÑOÅ ÅI I THOÂNG TIN GIÖÕA CAÙ ÙC C TIEÁ ÁN N TRÌNH VAÁ ÁN ÑEÀ À? GÆAI PHAÙ ÙP P? 12/16/2007 Trần Hạnh Nhi 1

390 NhuCaàuLieânLaïc Chia seû thoâng tin P Q R L Phoái hôïp xöû lyù JOB P Q R1 R2 12/16/2007 Trần Hạnh Nhi 2 L

391 Caùc cô cheá lieân laïc Chia seû taøi nguyeân chung Signal Pipe Shared Memory Trao ñoåi thoâng ñieäp Message Socket 12/16/2007 Trần Hạnh Nhi 3

392 IPC theo nguyeân taéc chia seû taøi nguyeân chung User Process User Process OS - Kernel shared resources Caùc tieán trình chia seû Memory File System Space Communication Facilities, Common communication protocol 12/16/2007 Trần Hạnh Nhi 4

393 Signal Signal Meaning Handler Ñònh nghóa tröôùc khi thöïc hieän lieân laïc SIGINT, SIGSTOP SIGUSR1, SIGUSER2 Hoã trôï lieân laïc Kernel vôùi User Process Process Error Timer Child Process keát thuùc User process vôí nhau Terminate Process Suspend, Resume 12/16/2007 Trần Hạnh Nhi 5 OS Signal Signal handler Signal Action Process

394 Name Value Function SIGHUP 1 Terminal hangup SIGINT 2 Interrupt by user: generated by < CTRL C > SIGQUIT 3 Quit by user: generated by < CTRL \ > SIGFPE 8 Floating point error such as divide by zero SIGKILL 9 Kill the process SIGUSR1 10 User defined signal 1 SIGSEGV 11 Segment violation: process has tried to access memory not assigned to it SIGUSR2 12 User defined signal 2 SIGALRM 14 Timer set with alarm() function has timed out SIGTERM 15 Termination request SIGCHLD 17 Child process termination signal SIGCONT 18 Continue after a SIGSTOP or SIGSTP signal SIGSTOP 19 Stop the process SIGTSTP 20 Terminal stop: generated by < CTRL Z > SIGWINCH 28 Change of window size

395 Nhaän xeùt Signals Lieân laïc khoâng ñoàng boä Khoâng bieát tröôùc thôøi ñieåm Thieáu tin caäy L SH Quiz : OK A B Q Sig Q Khoâng cho pheùp trao ñoåi döõ lieäu L? Result 12/16/2007 Trần Hạnh Nhi 7

396 Pipes Q AB WritePipe() B.A Pipe Kernel buffer (File) coù kích thöôùc giôùi haïn (4K, 8K ) HÑH cung caáp haøm WritePipe & ReadPipe WritePipe khi Pipe ñaày? ReadPipe khi Pipe roãng? Phaûiù xeùt ñeán caùc khaû naêng ñoàng boä Hoã trôï lieân laïc (UNIX original ) Giöõa 2 tieán trình Cha - Con Moät chieàu Khoâng caáu truùc (byte transfer) AB ReadPipe() 12/16/2007 Trần Hạnh Nhi 8 L

397 Nhaän xeùt Pipe Öu ñieåm : Cho pheùp trao ñoåi döõ lieäu khoâng caáu truùc Khuyeát ñieåm Chi phí thöïc hieän cao (system call) Lieân laïc giöõa 2 tieán trình Lieân laïc moät chieàu Pipe trong caùc HÑH hieän ñaïi : Anomynous Pipe : This Named Pipe : Unix, Windows NT Truyeàn döõ lieäu coù caáu truùc Lieân laïc 2 chieàu 12/16/2007 Trần Hạnh Nhi 9

398 Shared Memory Shared Memory: Laø moät phaàn khoâng gian nhôù khoâng thuoäc sôû höõu cuûa tieán trình naøo Ñöôïc HÑH taïo ra Caùc tieán trình coù theå aùnh xaï ñòa chæ vaøo khoâng gian chia seû naøy ñeå truy xuaát döõ lieäu (nhö ñoái vôùi khoâng gian noäi boä) Khoâng giôùi haïn soá löôïng tieán trình, chieàu trao ñoåi, vaø thöù töï truy caäp Maâu thuaãn truy xuaát - > nhu caàu ñoàng boä 12/16/2007 Trần Hạnh Nhi 10

399 IPC theo nguyeân taéc trao ñoåi thoâng ñieäp User Process User Process OS-Kernel OS-Kernel Khoâng coù boä nhôù chung Network Caàn coù ñöôøng keát noái giöõa caùc maùy tính 12/16/2007 Trần Hạnh Nhi 11

400 Message Message Döõ lieäu coù caáu truùùc Caáu truùc vaø thoâng dòch msg ñöôïc thoûa thuaän giöõa 2 tieán trình lieân laïc HÑH cung caáp 2 primitive chính send(destination, message) receive(source, message) Caùc vaán ñeà quan taâm : Direct or indirect addressing Blocking or non-blocking communication Reliable or unreliable communication Buffered or un-buffered communication 12/16/2007 Trần Hạnh Nhi 12

401 Ñònh daïng Message 12/16/2007 Trần Hạnh Nhi 13

402 Nhaän xeùt message Laø cô cheá IPC toång quaùt Hoã trôï lieân laïc giöõa caùc tieán trính treân cuøng maùy Hoã trôï lieän laïc giöõa caùc tieán trính trong heä thoáng phaân taùn Lieân laïc giöõa caùc heä thoáng khoâng ñoàng nhaát? 12/16/2007 Trần Hạnh Nhi 14

403 Lieân laïc giöõa caùc heä thoáng khoâng ñoàng nhaát Máy A P1 (UNIX) Send( ) //UNIX Receive( ) //WIN Máy B P2 (Windows) 12/16/2007 Trần Hạnh Nhi 15

404 Socket Endpoint cuûa moät keát noái 2 chieàu Töông ñöông vôùi moät network interface (hardware) Cho pheùp caùc öùng duïng plug in vaøo maïng moät caùch aån duï Laø moät giao dieän laäp trình maïng Cho pheùp caùc tieán trình lieân laïc 2 chieàu vôùi nhau Thieát laäp lieân laïc : taïo 2 socket, keát noái chuùng vôùi nhau Socket description Söû duïng moät transport protocol Caàn ñaëc taû IPaddress vaø port keát noái Ñöôïc hoã trôï ñaàu tieân trong Berkeley socket Laø söï môû roäng cuûa nhaäp xuaát file tröøu töôïng Hieän nay ñöôïc hoã trôï trong haàu heát HÑH hieän ñaïi 12/16/2007 Trần Hạnh Nhi 16

405 12/16/2007 Trần Hạnh Nhi 17

406 Socket Communication 12/16/2007 Trần Hạnh Nhi 18

Năm Chứng minh Y N

Năm Chứng minh Y N Về bài toán số 5 trong kì thi chọn đội tuyển toán uốc tế của Việt Nam năm 2015 Nguyễn Văn Linh Năm 2015 1 Mở đầu Trong ngày thi thứ hai của kì thi Việt Nam TST 2015 có một bài toán khá thú vị. ài toán.

Διαβάστε περισσότερα

Kinh tế học vĩ mô Bài đọc

Kinh tế học vĩ mô Bài đọc Chương tình giảng dạy kinh tế Fulbight Niên khóa 2011-2013 Mô hình 1. : cung cấp cơ sở lý thuyết tổng cầu a. Giả sử: cố định, Kinh tế đóng b. IS - cân bằng thị tường hàng hoá: I() = S() c. LM - cân bằng

Διαβάστε περισσότερα

Chương 12: Chu trình máy lạnh và bơm nhiệt

Chương 12: Chu trình máy lạnh và bơm nhiệt /009 Chương : Chu trình máy lạnh và bơm nhiệt. Khái niệm chung. Chu trình lạnh dùng không khí. Chu trình lạnh dùng hơi. /009. Khái niệm chung Máy lạnh/bơmnhiệt: chuyển CÔNG thành NHIỆT NĂNG Nguồn nóng

Διαβάστε περισσότερα

1. Ma trận A = Ký hiệu tắt A = [a ij ] m n hoặc A = (a ij ) m n

1. Ma trận A = Ký hiệu tắt A = [a ij ] m n hoặc A = (a ij ) m n Cơ sở Toán 1 Chương 2: Ma trận - Định thức GV: Phạm Việt Nga Bộ môn Toán, Khoa CNTT, Học viện Nông nghiệp Việt Nam Bộ môn Toán () Cơ sở Toán 1 - Chương 2 VNUA 1 / 22 Mục lục 1 Ma trận 2 Định thức 3 Ma

Διαβάστε περισσότερα

Năm 2017 Q 1 Q 2 P 2 P P 1

Năm 2017 Q 1 Q 2 P 2 P P 1 Dùng phép vị tự quay để giải một số bài toán liên quan đến yếu tố cố định Nguyễn Văn Linh Năm 2017 1 Mở đầu Tư tưởng của phương pháp này khá đơn giản như sau. Trong bài toán chứng minh điểm chuyển động

Διαβάστε περισσότερα

Năm Chứng minh. Cách 1. Y H b. H c. BH c BM = P M. CM = Y H b

Năm Chứng minh. Cách 1. Y H b. H c. BH c BM = P M. CM = Y H b huỗi bài toán về họ đường tròn đi qua điểm cố định Nguyễn Văn inh Năm 2015 húng ta bắt đầu từ bài toán sau. ài 1. (US TST 2012) ho tam giác. là một điểm chuyển động trên. Gọi, lần lượt là các điểm trên,

Διαβάστε περισσότερα

Bài Tập Môn: NGÔN NGỮ LẬP TRÌNH

Bài Tập Môn: NGÔN NGỮ LẬP TRÌNH Câu 1: Bài Tập Môn: NGÔN NGỮ LẬP TRÌNH Cho văn phạm dưới đây định nghĩa cú pháp của các biểu thức luận lý bao gồm các biến luận lý a,b,, z, các phép toán luận lý not, and, và các dấu mở và đóng ngoặc tròn

Διαβάστε περισσότερα

Tôi có thể tìm mẫu đơn đăng kí ở đâu? Tôi có thể tìm mẫu đơn đăng kí ở đâu? Για να ρωτήσετε που μπορείτε να βρείτε μια φόρμα

Tôi có thể tìm mẫu đơn đăng kí ở đâu? Tôi có thể tìm mẫu đơn đăng kí ở đâu? Για να ρωτήσετε που μπορείτε να βρείτε μια φόρμα - Γενικά Tôi có thể tìm mẫu đơn đăng kí ở đâu? Tôi có thể tìm mẫu đơn đăng kí ở đâu? Για να ρωτήσετε που μπορείτε να βρείτε μια φόρμα Khi nào [tài liệu] của bạn được ban hành? Για να ρωτήσετε πότε έχει

Διαβάστε περισσότερα

* Môn thi: VẬT LÝ (Bảng A) * Ngày thi: 27/01/2013 * Thời gian làm bài: 180 phút (Không kể thời gian giao đề) ĐỀ:

* Môn thi: VẬT LÝ (Bảng A) * Ngày thi: 27/01/2013 * Thời gian làm bài: 180 phút (Không kể thời gian giao đề) ĐỀ: Họ và tên thí sinh:. Chữ kí giám thị Số báo danh:..... SỞ GIÁO DỤC VÀ ĐÀO TẠO BẠC LIÊU KỲ THI CHỌN HSG LỚP 0 CẤP TỈNH NĂM HỌC 0-03 ĐỀ THI CHÍNH THỨC (Gồm 0 trang) * Môn thi: VẬT LÝ (Bảng A) * Ngày thi:

Διαβάστε περισσότερα

BÀI TẬP ÔN THI HOC KỲ 1

BÀI TẬP ÔN THI HOC KỲ 1 ÀI TẬP ÔN THI HOC KỲ 1 ài 1: Hai quả cầu nhỏ có điện tích q 1 =-4µC và q 2 =8µC đặt cách nhau 6mm trong môi trường có hằng số điện môi là 2. Tính độ lớn lực tương tác giữa 2 điện tích. ài 2: Hai điện tích

Διαβάστε περισσότερα

I 2 Z I 1 Y O 2 I A O 1 T Q Z N

I 2 Z I 1 Y O 2 I A O 1 T Q Z N ài toán 6 trong kì thi chọn đội tuyển quốc gia Iran năm 2013 Nguyễn Văn Linh Sinh viên K50 TNH ĐH Ngoại Thương 1 Giới thiệu Trong ngày thi thứ 2 của kì thi chọn đội tuyển quốc gia Iran năm 2013 xuất hiện

Διαβάστε περισσότερα

SỞ GD & ĐT ĐỒNG THÁP ĐỀ THI THỬ TUYỂN SINH ĐẠI HỌC NĂM 2014 LẦN 1

SỞ GD & ĐT ĐỒNG THÁP ĐỀ THI THỬ TUYỂN SINH ĐẠI HỌC NĂM 2014 LẦN 1 SỞ GD & ĐT ĐỒNG THÁP ĐỀ THI THỬ TUYỂN SINH ĐẠI HỌC NĂM 0 LẦN THPT Chuyên Nguyễn Quang Diêu Môn: TOÁN; Khối D Thời gian làm bài: 80 phút, không kể thời gian phát đề ĐỀ CHÍNH THỨC I. PHẦN CHUNG CHO TẤT CẢ

Διαβάστε περισσότερα

ĐỀ BÀI TẬP LỚN MÔN XỬ LÝ SONG SONG HỆ PHÂN BỐ (501047)

ĐỀ BÀI TẬP LỚN MÔN XỬ LÝ SONG SONG HỆ PHÂN BỐ (501047) ĐỀ BÀI TẬP LỚN MÔN XỬ LÝ SONG SONG HỆ PHÂN BỐ (501047) Lưu ý: - Sinh viên tự chọn nhóm, mỗi nhóm có 03 sinh viên. Báo cáo phải ghi rõ vai trò của từng thành viên trong dự án. - Sinh viên báo cáo trực tiếp

Διαβάστε περισσότερα

KIẾN THỨC CÓ LIÊN QUAN

KIẾN THỨC CÓ LIÊN QUAN KIẾN THỨC CÓ LIÊN QUAN ĐẠO HÀM CỦA HÀM SỐ A. TÓM TẮT GIÁO KHOA 1) Ñònh nghóa ñaïo haøm cuûa haøm soá taïi moät ñieåm: Cho haøm soá =f() aùc ñònh treân khoaûng (a;b) vaø (a; b). Ñaïo haøm cuûa haøm soá

Διαβάστε περισσότερα

x y y

x y y ĐÁP ÁN - ĐỀ KHẢO SÁT CHẤT LƯỢNG HỌC SINH LỚP THPT Bài Năm học 5 6- Môn: TOÁN y 4 TXĐ: D= R Sự biến thiên lim y lim y y ' 4 4 y ' 4 4 4 ( ) - - + y - + - + y + - - + Bài Hàm số đồng biến trên các khoảng

Διαβάστε περισσότερα

Năm 2014 B 1 A 1 C C 1. Ta có A 1, B 1, C 1 thẳng hàng khi và chỉ khi BA 1 C 1 = B 1 A 1 C.

Năm 2014 B 1 A 1 C C 1. Ta có A 1, B 1, C 1 thẳng hàng khi và chỉ khi BA 1 C 1 = B 1 A 1 C. Đường thẳng Simson- Đường thẳng Steiner của tam giác Nguyễn Văn Linh Năm 2014 1 Đường thẳng Simson Đường thẳng Simson lần đầu tiên được đặt tên bởi oncelet, tuy nhiên một số nhà hình học cho rằng nó không

Διαβάστε περισσότερα

MALE = 1 nếu là nam, MALE = 0 nếu là nữ. 1) Nêu ý nghĩa của các hệ số hồi quy trong hàm hồi quy mẫu trên?

MALE = 1 nếu là nam, MALE = 0 nếu là nữ. 1) Nêu ý nghĩa của các hệ số hồi quy trong hàm hồi quy mẫu trên? Chương 4: HỒI QUY VỚI BIẾN GIẢ VÀ ỨNG DỤNG 1. Nghiên cứu về tuổi thọ (Y: ngày) của hai loại bóng đèn (loại A, loại B). Đặt Z = 0 nếu đó là bóng đèn loại A, Z = 1 nếu đó là bóng đèn loại B. Kết quả hồi

Διαβάστε περισσότερα

Sử dụngụ Minitab trong thống kê môi trường

Sử dụngụ Minitab trong thống kê môi trường Sử dụngụ Minitab trong thống kê môi trường Dương Trí Dũng I. Giới thiệu Hiện nay có nhiều phần mềm (software) thống kê trên thị trường Giá cao Excel không đủ tính năng Tinh bằng công thức chậm Có nhiều

Διαβάστε περισσότερα

Môn: Toán Năm học Thời gian làm bài: 90 phút; 50 câu trắc nghiệm khách quan Mã đề thi 116. (Thí sinh không được sử dụng tài liệu)

Môn: Toán Năm học Thời gian làm bài: 90 phút; 50 câu trắc nghiệm khách quan Mã đề thi 116. (Thí sinh không được sử dụng tài liệu) SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ NỘI ĐỀ KIỂM TRA HỌC KÌ I LỚP TRƯỜNG THPT TRUNG GIÃ Môn: Toán Năm học 0-0 Thời gian làm bài: 90 phút; 50 câu trắc nghiệm khách quan Mã đề thi (Thí sinh không được sử dụng tài liệu)

Διαβάστε περισσότερα

Truy cập website: hoc360.net để tải tài liệu đề thi miễn phí

Truy cập website: hoc360.net để tải tài liệu đề thi miễn phí Tru cập website: hoc36net để tải tài liệu đề thi iễn phí ÀI GIẢI âu : ( điể) Giải các phương trình và hệ phương trình sau: a) 8 3 3 () 8 3 3 8 Ta có ' 8 8 9 ; ' 9 3 o ' nên phương trình () có nghiệ phân

Διαβάστε περισσότερα

O 2 I = 1 suy ra II 2 O 1 B.

O 2 I = 1 suy ra II 2 O 1 B. ài tập ôn đội tuyển năm 2014 guyễn Văn inh Số 2 ài 1. ho hai đường tròn ( 1 ) và ( 2 ) cùng tiếp xúc trong với đường tròn () lần lượt tại,. Từ kẻ hai tiếp tuyến t 1, t 2 tới ( 2 ), từ kẻ hai tiếp tuyến

Διαβάστε περισσότερα

Năm Pascal xem tại [2]. A B C A B C. 2 Chứng minh. chứng minh sau. Cách 1 (Jan van Yzeren).

Năm Pascal xem tại [2]. A B C A B C. 2 Chứng minh. chứng minh sau. Cách 1 (Jan van Yzeren). Định lý Pascal guyễn Văn Linh ăm 2014 1 Giới thiệu. ăm 16 tuổi, Pascal công bố một công trình toán học : Về thiết diện của đường cônic, trong đó ông đã chứng minh một định lí nổi tiếng và gọi là Định lí

Διαβάστε περισσότερα

HÀM NHIỀU BIẾN Lân cận tại một điểm. 1. Định nghĩa Hàm 2 biến. Miền xác định của hàm f(x,y) là miền VD:

HÀM NHIỀU BIẾN Lân cận tại một điểm. 1. Định nghĩa Hàm 2 biến. Miền xác định của hàm f(x,y) là miền VD: . Định nghĩa Hàm biến. f : D M (, ) z= f( M) = f(, ) Miền ác định của hàm f(,) là miền VD: f : D HÀM NHIỀU BIẾN M (, ) z= f(, ) = D sao cho f(,) có nghĩa. Miền ác định của hàm f(,) là tập hợp những điểm

Διαβάστε περισσότερα

https://www.facebook.com/nguyenkhachuongqv2 ĐỀ 56

https://www.facebook.com/nguyenkhachuongqv2 ĐỀ 56 TRƯỜNG THPT QUỲNH LƯU TỔ TOÁN Câu ( điểm). Cho hàm số y = + ĐỀ THI THỬ THPT QUỐC GIA LẦN NĂM HỌC 5-6 MÔN: TOÁN Thời gian làm bài: 8 phút (không tính thời gian phát đề ) a) Khảo sát sự biến thiên và vẽ

Διαβάστε περισσότερα

HOC360.NET - TÀI LIỆU HỌC TẬP MIỄN PHÍ. đến va chạm với vật M. Gọi vv, là vận tốc của m và M ngay. đến va chạm vào nó.

HOC360.NET - TÀI LIỆU HỌC TẬP MIỄN PHÍ. đến va chạm với vật M. Gọi vv, là vận tốc của m và M ngay. đến va chạm vào nó. HOC36.NET - TÀI LIỆU HỌC TẬP IỄN PHÍ CHỦ ĐỀ 3. CON LẮC ĐƠN BÀI TOÁN LIÊN QUAN ĐẾN VA CHẠ CON LẮC ĐƠN Phương pháp giải Vật m chuyển động vận tốc v đến va chạm với vật. Gọi vv, là vận tốc của m và ngay sau

Διαβάστε περισσότερα

Phụ thuộc hàm. và Chuẩn hóa cơ sở dữ liệu. Nội dung trình bày. Chương 7. Nguyên tắc thiết kế. Ngữ nghĩa của các thuộc tính (1) Phụ thuộc hàm

Phụ thuộc hàm. và Chuẩn hóa cơ sở dữ liệu. Nội dung trình bày. Chương 7. Nguyên tắc thiết kế. Ngữ nghĩa của các thuộc tính (1) Phụ thuộc hàm Nội dung trình bày hương 7 và huẩn hóa cơ sở dữ liệu Nguyên tắc thiết kế các lược đồ quan hệ.. ác dạng chuẩn. Một số thuật toán chuẩn hóa. Nguyên tắc thiết kế Ngữ nghĩa của các thuộc tính () Nhìn lại vấn

Διαβάστε περισσότερα

5. Phương trình vi phân

5. Phương trình vi phân 5. Phương trình vi phân (Toán cao cấp 2 - Giải tích) Lê Phương Bộ môn Toán kinh tế Đại học Ngân hàng TP. Hồ Chí Minh Homepage: http://docgate.com/phuongle Nội dung 1 Khái niệm Phương trình vi phân Bài

Διαβάστε περισσότερα

Ngày 26 tháng 12 năm 2015

Ngày 26 tháng 12 năm 2015 Mô hình Tobit với Biến Phụ thuộc bị chặn Lê Việt Phú Chương trình Giảng dạy Kinh tế Fulbright Ngày 26 tháng 12 năm 2015 1 / 19 Table of contents Khái niệm biến phụ thuộc bị chặn Hồi quy OLS với biến phụ

Διαβάστε περισσότερα

Suy ra EA. EN = ED hay EI EJ = EN ED. Mặt khác, EID = BCD = ENM = ENJ. Suy ra EID ENJ. Ta thu được EI. EJ Suy ra EA EB = EN ED hay EA

Suy ra EA. EN = ED hay EI EJ = EN ED. Mặt khác, EID = BCD = ENM = ENJ. Suy ra EID ENJ. Ta thu được EI. EJ Suy ra EA EB = EN ED hay EA ài tập ôn đội tuyển năm 015 guyễn Văn inh Số 6 ài 1. ho tứ giác ngoại tiếp. hứng minh rằng trung trực của các cạnh,,, cắt nhau tạo thành một tứ giác ngoại tiếp. J 1 1 1 1 hứng minh. Gọi 1 1 1 1 là tứ giác

Διαβάστε περισσότερα

KỸ THUẬT ĐIỆN CHƯƠNG IV

KỸ THUẬT ĐIỆN CHƯƠNG IV KỸ THẬT ĐỆN HƯƠNG V MẠH ĐỆN PH HƯƠNG V : MẠH ĐỆN PH. Khái niệm chung Điện năng sử ụng trong công nghiệ ưới ạng òng điện sin ba ha vì những lý o sau: - Động cơ điện ba ha có cấu tạo đơn giản và đặc tính

Διαβάστε περισσότερα

Q B Y A P O 4 O 6 Z O 5 O 1 O 2 O 3

Q B Y A P O 4 O 6 Z O 5 O 1 O 2 O 3 ài tập ôn đội tuyển năm 2015 guyễn Văn Linh Số 8 ài 1. ho tam giác nội tiếp đường tròn () có là tâm nội tiếp. cắt () lần thứ hai tại J. Gọi ω là đường tròn tâm J và tiếp xúc với,. Hai tiếp tuyến chung

Διαβάστε περισσότερα

có thể biểu diễn được như là một kiểu đạo hàm của một phiếm hàm năng lượng I[]

có thể biểu diễn được như là một kiểu đạo hàm của một phiếm hàm năng lượng I[] 1 MỞ ĐẦU 1. Lý do chọn đề tài Chúng ta đều biết: không có lý thuyết tổng quát cho phép giải mọi phương trình đạo hàm riêng; nhất là với các phương trình phi tuyến Au [ ] = 0; (1) trong đó A[] ký hiệu toán

Διαβάστε περισσότερα

Chương 1: VECTOR KHÔNG GIAN VÀ BỘ NGHỊCH LƯU BA PHA

Chương 1: VECTOR KHÔNG GIAN VÀ BỘ NGHỊCH LƯU BA PHA I. Vcto không gian Chương : VECTOR KHÔNG GIAN VÀ BỘ NGHỊCH LƯ BA PHA I.. Biể diễn vcto không gian cho các đại lượng ba pha Động cơ không đồng bộ (ĐCKĐB) ba pha có ba (hay bội ố của ba) cộn dây tato bố

Διαβάστε περισσότερα

Μπορείτε να με βοηθήσετε να γεμίσω αυτή τη φόρμα; Για να ρωτήσετε αν κάποιος μπορεί να σας βοηθήσει να γεμίσετε μια φόρμα

Μπορείτε να με βοηθήσετε να γεμίσω αυτή τη φόρμα; Για να ρωτήσετε αν κάποιος μπορεί να σας βοηθήσει να γεμίσετε μια φόρμα - Γενικά Πού μπορώ να βρω τη φόρμα για ; Tôi có thể tìm mẫu đơn đăng kí ở đâu? Για να ρωτήσετε που μπορείτε να βρείτε μια φόρμα Πότε εκδόθηκε το [έγγραφο] σας; Για να ρωτήσετε πότε έχει εκδοθεί ένα έγγραφο

Διαβάστε περισσότερα

Giáo trình hệ điều hành. Biên tập bởi: Giảng viên. Lê Khắc Nhiên Ân

Giáo trình hệ điều hành. Biên tập bởi: Giảng viên. Lê Khắc Nhiên Ân Giáo trình hệ điều hành Biên tập bởi: Giảng viên. Lê Khắc Nhiên Ân Giáo trình hệ điều hành Biên tập bởi: Giảng viên. Lê Khắc Nhiên Ân Các tác giả: Giảng viên. Trần Hạnh Nhi Phiên bản trực tuyến: http://voer.edu.vn/c/a039fa79

Διαβάστε περισσότερα

PHÂN TÍCH ẢNH HƢỞNG CỦA SÓNG HÀI TRONG TRẠM BÙ CÔNG SUẤT PHẢN KHÁNG KIỂU SVC VÀ NHỮNG GIẢI PHÁP KHẮC PHỤC

PHÂN TÍCH ẢNH HƢỞNG CỦA SÓNG HÀI TRONG TRẠM BÙ CÔNG SUẤT PHẢN KHÁNG KIỂU SVC VÀ NHỮNG GIẢI PHÁP KHẮC PHỤC Luận văn thạc sĩ kỹ thuật 1 ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHIỆP --------------------------------------- VŨ THỊ VÒNG PHÂN TÍCH ẢNH HƢỞNG CỦA SÓNG HÀI TRONG TRẠM BÙ CÔNG SUẤT PHẢN KHÁNG KIỂU SVC

Διαβάστε περισσότερα

(CH4 - PHÂN TÍCH PHƯƠNG SAI, SO SÁNH VÀ KIỂM ĐỊNH) Ch4 - Phân tích phương sai, so sánh và kiểm định 1

(CH4 - PHÂN TÍCH PHƯƠNG SAI, SO SÁNH VÀ KIỂM ĐỊNH) Ch4 - Phân tích phương sai, so sánh và kiểm định 1 TIN HỌC ỨNG DỤNG (CH4 - PHÂN TÍCH PHƯƠNG SAI, SO SÁNH VÀ KIỂM ĐỊNH) Phan Trọng Tiến BM Công nghệ phần mềm Khoa Công nghệ thông tin, VNUA Email: phantien84@gmail.com Website: http://timoday.edu.vn Ch4 -

Διαβάστε περισσότερα

Nội dung. 1. Một số khái niệm. 2. Dung dịch chất điện ly. 3. Cân bằng trong dung dịch chất điện ly khó tan

Nội dung. 1. Một số khái niệm. 2. Dung dịch chất điện ly. 3. Cân bằng trong dung dịch chất điện ly khó tan CHƯƠNG 5: DUNG DỊCH 1 Nội dung 1. Một số khái niệm 2. Dung dịch chất điện ly 3. Cân bằng trong dung dịch chất điện ly khó tan 2 Dung dịch Là hệ đồng thể gồm 2 hay nhiều chất (chất tan & dung môi) mà thành

Διαβάστε περισσότερα

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KẾ TOÁN QUẢN TRỊ (Dùng cho sinh viên hệ đào tạo đại học từ xa) Lưu hành nội bộ HÀ NỘI - 2007 HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KẾ TOÁN QUẢN TRỊ Biên soạn :

Διαβάστε περισσότερα

Chương 11 HỒI QUY VÀ TƯƠNG QUAN ĐƠN BIẾN

Chương 11 HỒI QUY VÀ TƯƠNG QUAN ĐƠN BIẾN Chương 11 HỒI QUY VÀ TƯƠNG QUAN ĐƠN BIẾN Ths. Nguyễn Tiến Dũng Viện Kinh tế và Quản lý, Trường ĐH Bách khoa Hà Nội Email: dung.nguyentien3@hust.edu.vn MỤC TIÊU CỦA CHƯƠNG Sau khi học xong chương này, người

Διαβάστε περισσότερα

M c. E M b F I. M a. Chứng minh. M b M c. trong thứ hai của (O 1 ) và (O 2 ).

M c. E M b F I. M a. Chứng minh. M b M c. trong thứ hai của (O 1 ) và (O 2 ). ài tập ôn đội tuyển năm 015 Nguyễn Văn inh Số 5 ài 1. ho tam giác nội tiếp () có + =. Đường tròn () nội tiếp tam giác tiếp xúc với,, lần lượt tại,,. Gọi b, c lần lượt là trung điểm,. b c cắt tại. hứng

Διαβάστε περισσότερα

Μετανάστευση Σπουδές. Σπουδές - Πανεπιστήμιο. Για να δηλώσετε ότι θέλετε να εγγραφείτε

Μετανάστευση Σπουδές. Σπουδές - Πανεπιστήμιο. Για να δηλώσετε ότι θέλετε να εγγραφείτε - Πανεπιστήμιο Θα ήθελα να εγγραφώ σε πανεπιστήμιο. Για να δηλώσετε ότι θέλετε να εγγραφείτε Tôi muốn ghi danh vào một trường đại học Θα ήθελα να γραφτώ για. Tôi muốn đăng kí khóa học. Για να υποδείξετε

Διαβάστε περισσότερα

- Toán học Việt Nam

- Toán học Việt Nam - Toán học Việt Nam PHƯƠNG PHÁP GIẢI TOÁN HÌNH HỌ KHÔNG GIN ẰNG VETOR I. Á VÍ DỤ INH HỌ Vấn đề 1: ho hình chóp S. có đáy là tam giác đều cạnh a. Hình chiếu vuông góc của S trên mặt phẳng () là điểm H thuộc

Διαβάστε περισσότερα

lim CHUYÊN ĐỀ : TỐC ĐỘ PHẢN ỨNG - CÂN BẰNG HOÁ HỌC A-LÍ THUYẾT: I- TỐC ĐỘ PHẢN ỨNG 1 Giáo viên: Hoàng Văn Đức Trường THPT số 1 Quảng Trạch

lim CHUYÊN ĐỀ : TỐC ĐỘ PHẢN ỨNG - CÂN BẰNG HOÁ HỌC A-LÍ THUYẾT: I- TỐC ĐỘ PHẢN ỨNG 1 Giáo viên: Hoàng Văn Đức Trường THPT số 1 Quảng Trạch CHUYÊN ĐỀ : TỐC ĐỘ HẢN ỨNG - CÂN BẰNG HOÁ HỌC A-LÍ THUYẾT: I- TỐC ĐỘ HẢN ỨNG ) Khái niệm: Tốc độ phản ứng hóa học được đo bằng độ biến thiên nồng độ của một chất đã cho (chất phản ứng hoặc sản phẩm) trong

Διαβάστε περισσότερα

A. ĐẶT VẤN ĐỀ B. HƯỚNG DẪN HỌC SINH SỬ DỤNG PHƯƠNG PHÁP VECTƠ GIẢI MỘT SỐ BÀI TOÁN HÌNH HỌC KHÔNG GIAN

A. ĐẶT VẤN ĐỀ B. HƯỚNG DẪN HỌC SINH SỬ DỤNG PHƯƠNG PHÁP VECTƠ GIẢI MỘT SỐ BÀI TOÁN HÌNH HỌC KHÔNG GIAN . ĐẶT VẤN ĐỀ Hình họ hông gin là một hủ đề tương đối hó đối với họ sinh, hó ả áh tiếp ận vấn đề và ả trong tìm lời giải ài toán. Làm so để họ sinh họ hình họ hông gin dễ hiểu hơn, hoặ hí ít ũng giải đượ

Διαβάστε περισσότερα

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐỀ THI MINH HỌA - KỲ THI THPT QUỐC GIA NĂM 2015 Môn: TOÁN Thời gian làm bài: 180 phút.

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐỀ THI MINH HỌA - KỲ THI THPT QUỐC GIA NĂM 2015 Môn: TOÁN Thời gian làm bài: 180 phút. BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐỀ THI MINH HỌA - KỲ THI THPT QUỐC GIA NĂM Môn: TOÁN Thời gian làm bài: 8 phút Câu (, điểm) Cho hàm số y = + a) Khảo sát sự biến thiên và vẽ đồ thị (C) của hàm số đã cho b) Viết

Διαβάστε περισσότερα

Бизнес Заказ. Заказ - Размещение. Официально, проба

Бизнес Заказ. Заказ - Размещение. Официально, проба - Размещение Εξετάζουμε την αγορά... Официально, проба Είμαστε στην ευχάριστη θέση να δώσουμε την παραγγελία μας στην εταιρεία σας για... Θα θέλαμε να κάνουμε μια παραγγελία. Επισυνάπτεται η παραγγελία

Διαβάστε περισσότερα

ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN (Chương trình đào tạo tín chỉ, từ Khóa 2011)

ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN (Chương trình đào tạo tín chỉ, từ Khóa 2011) Đề cương chi tiết Toán cao cấp 2 1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP. HCM KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc 1. Thông tin chung về môn học ĐỀ CƯƠNG CHI TIẾT HỌC

Διαβάστε περισσότερα

B. chiều dài dây treo C.vĩ độ địa lý

B. chiều dài dây treo C.vĩ độ địa lý ĐỀ THI THỬ LẦN 1 TRƯỜNG THPT CHUYÊN HẠ LONG QUẢNG NINH MÔN VẬT LÝ LỜI GIẢI: LẠI ĐẮC HỢP FACEBOOK: www.fb.com/laidachop Group: https://www.facebook.com/groups/dethivatly.moon/ Câu 1 [316487]: Đặt điện áp

Διαβάστε περισσότερα

BÀI TẬP CHƯƠNG II VL11

BÀI TẬP CHƯƠNG II VL11 ÀI TẬP HƯƠNG II VL.. öôøng ñoä doøng ñieän chaïy qua daây toùc boùng ñeøn laø I = 0,5. a. Tính ñieän löôïng dòch chuyeån qua tieát dieän thaúng cuûa daây toùc trong 0 phuùt? b. Tính soá electron dòch chuyeån

Διαβάστε περισσότερα

CÁC ĐỊNH LÝ CƠ BẢN CỦA HÌNH HỌC PHẲNG

CÁC ĐỊNH LÝ CƠ BẢN CỦA HÌNH HỌC PHẲNG CÁC ĐỊNH LÝ CƠ BẢN CỦA HÌNH HỌC PHẲNG Nguyễn Tăng Vũ 1. Đường thẳng Euler. Bài toán 1. Trong một tam giác thì trọng tâm, trực tâm và tâm đường tròn ngoại tiếp cùng nằm trên một đường thẳng. (Đường thẳng

Διαβάστε περισσότερα

TRANSISTOR MỐI NỐI LƯỠNG CỰC

TRANSISTOR MỐI NỐI LƯỠNG CỰC hương 4: Transistor mối nối lưỡng cực hương 4 TANSISTO MỐI NỐI LƯỠNG Ự Transistor mối nối lưỡng cực (JT) được phát minh vào năm 1948 bởi John ardeen và Walter rittain tại phòng thí nghiệm ell (ở Mỹ). Một

Διαβάστε περισσότερα

Chương 1 : Giới thiệu

Chương 1 : Giới thiệu Chương 1 : Giới thiệu 1.1. CÁC KHÁI NIỆM: Các tên gọi của mônhọc: Điện tử công suất (Power Electronics) Điện tử công suất lớn. Kỹ thuật biến đổi điện năng. ĐTCS là một bộ phận của Điện tửứng dụng hay Điện

Διαβάστε περισσότερα

PHƯƠNG PHÁP TỌA ĐỘ TRONG KHÔNG GIAN

PHƯƠNG PHÁP TỌA ĐỘ TRONG KHÔNG GIAN PHƯƠNG PHÁP TỌA ĐỘ TRONG KHÔNG GIAN 1- Độ dài đoạn thẳng Ax ( ; y; z ), Bx ( ; y ; z ) thì Nếu 1 1 1 1. Một Số Công Thức Cần Nhớ AB = ( x x ) + ( y y ) + ( z z ). 1 1 1 - Khoảng cách từ điểm đến mặt phẳng

Διαβάστε περισσότερα

PHÉP DỜI HÌNH VÀ PHÉP ĐỒNG DẠNG TRONG MẶT PHẲNG

PHÉP DỜI HÌNH VÀ PHÉP ĐỒNG DẠNG TRONG MẶT PHẲNG PHÉP DỜI HÌNH VÀ PHÉP ĐỒNG DẠNG TRONG MẶT PHẲNG KIẾN THỨC CẦN NHỚ : 1. Phép tịnh tiến : a. Định nghĩa :Cho cố định. Với mỗi điểm M, ta dựng điểm M sao cho MM ' = T (M) = M sao cho : MM ' = b. Biể thức

Διαβάστε περισσότερα

O C I O. I a. I b P P. 2 Chứng minh

O C I O. I a. I b P P. 2 Chứng minh ài toán rotassov và ứng dụng Nguyễn Văn Linh Năm 2017 1 Giới thiệu ài toán rotassov được phát biểu như sau. ho tam giác với là tâm đường tròn nội tiếp. Một đường tròn () bất kì đi qua và. ựng một đường

Διαβάστε περισσότερα

SỞ GIÁO DỤC VÀ ĐÀO TẠO KÌ THI TUYỂN SINH LỚP 10 NĂM HỌC NGÀY THI : 19/06/2009 Thời gian làm bài: 120 phút (không kể thời gian giao đề)

SỞ GIÁO DỤC VÀ ĐÀO TẠO KÌ THI TUYỂN SINH LỚP 10 NĂM HỌC NGÀY THI : 19/06/2009 Thời gian làm bài: 120 phút (không kể thời gian giao đề) SỞ GIÁO DỤC VÀ ĐÀO TẠO KÌ TI TUYỂN SIN LỚP NĂM ỌC 9- KÁN OÀ MÔN : TOÁN NGÀY TI : 9/6/9 ĐỀ CÍN TỨC Thời gian làm bài: phút (không kể thời gian giao đề) ài ( điểm) (Không dùng máy tính cầm tay) a Cho biết

Διαβάστε περισσότερα

KỸ THUẬT ĐIỆN CHƯƠNG II

KỸ THUẬT ĐIỆN CHƯƠNG II KỸ THẬT ĐỆN HƯƠNG DÒNG ĐỆN SN Khái niệm: Dòng điện xoay chiều biến đổi theo quy luật hàm sin của thời gian là dòng điện sin. ác đại lượng đặc trưng cho dòng điện sin Trị số của dòng điện, điện áp sin ở

Διαβάστε περισσότερα

1.3.3 Ma trận tự tương quan Các bài toán Khái niệm Ý nghĩa So sánh hai mô hình...

1.3.3 Ma trận tự tương quan Các bài toán Khái niệm Ý nghĩa So sánh hai mô hình... BÀI TẬP ÔN THI KINH TẾ LƯỢNG Biên Soạn ThS. LÊ TRƯỜNG GIANG Thành phố Hồ Chí Minh, ngày 0, tháng 06, năm 016 Mục lục Trang Chương 1 Tóm tắt lý thuyết 1 1.1 Tổng quan về kinh tế lượng......................

Διαβάστε περισσότερα

PNSPO CP1H. Bộ điều khiển lập trình cao cấp loại nhỏ. Rất nhiều chức năng được tích hợp cùng trên một PLC. Các ứng dụng

PNSPO CP1H. Bộ điều khiển lập trình cao cấp loại nhỏ. Rất nhiều chức năng được tích hợp cùng trên một PLC. Các ứng dụng PNSPO Bộ điều khiển lập trình cao cấp loại nhỏ Rất nhiều chức năng được tích hợp cùng trên một PLC Chức năng đầu ra xung điều khiển vị trí 4 trục tới 1MHz Đầu vào đếm xung tốc độ cao tới 100kHz Tích hợp

Διαβάστε περισσότερα

ĐỀ SỐ 16 ĐỀ THI THPT QUỐC GIA MÔN TOÁN 2017 Thời gian làm bài: 90 phút; không kể thời gian giao đề (50 câu trắc nghiệm)

ĐỀ SỐ 16 ĐỀ THI THPT QUỐC GIA MÔN TOÁN 2017 Thời gian làm bài: 90 phút; không kể thời gian giao đề (50 câu trắc nghiệm) THẦY: ĐẶNG THÀNH NAM Website: wwwvtedvn ĐỀ SỐ 6 ĐỀ THI THPT QUỐC GIA MÔN TOÁN 7 Thời gian làm bài: phút; không kể thời gian giao đề (5 câu trắc nghiệm) Mã đề thi 65 Họ, tên thí sinh:trường: Điểm mong muốn:

Διαβάστε περισσότερα

BÀI TẬP LỚN MÔN THIẾT KẾ HỆ THỐNG CƠ KHÍ THEO ĐỘ TIN CẬY

BÀI TẬP LỚN MÔN THIẾT KẾ HỆ THỐNG CƠ KHÍ THEO ĐỘ TIN CẬY Trường Đại Học Bách Khoa TP HCM Khoa Cơ Khí BÀI TẬP LỚN MÔN THIẾT KẾ HỆ THỐNG CƠ KHÍ THEO ĐỘ TIN CẬY GVHD: PGS.TS NGUYỄN HỮU LỘC HVTH: TP HCM, 5/ 011 MS Trang 1 BÀI TẬP LỚN Thanh có tiết iện ngang hình

Διαβάστε περισσότερα

A 2 B 1 C 1 C 2 B B 2 A 1

A 2 B 1 C 1 C 2 B B 2 A 1 Sáng tạo trong hình học Nguyễn Văn Linh Sinh viên K50 TNH ĐH Ngoại thương 1 Mở đầu Hình học là một mảng rất đặc biệt trong toán học. Vẻ đẹp của phân môn này nằm trong hình vẽ mà muốn cảm nhận được chúng

Διαβάστε περισσότερα

Tuyển chọn Đề và đáp án : Luyện thi thử Đại Học của các trường trong nước năm 2012.

Tuyển chọn Đề và đáp án : Luyện thi thử Đại Học của các trường trong nước năm 2012. wwwliscpgetl Tuyển chọn Đề và đáp án : Luyện thi thử Đại ọc củ các trường trong nước năm ôn: ÌN Ọ KÔNG GN (lisc cắt và dán) ÌN ÓP ài ho hình chóp có đáy là hình vuông cạnh, tm giác đều, tm giác vuông cân

Διαβάστε περισσότερα

x i x k = e = x j x k x i = x j (luật giản ước).

x i x k = e = x j x k x i = x j (luật giản ước). 1 Mục lục Chương 1. NHÓM.................................................. 2 Chương 2. NHÓM HỮU HẠN.................................... 10 Chương 3. NHÓM ABEL HỮU HẠN SINH....................... 14 2 CHƯƠNG

Διαβάστε περισσότερα

I. KHÁI NIỆM. Chế độ làm việc lâu dài. Lựa chọn thiết bị trong NMĐ&TBA. Chế độ làm việc ngắn hạn. Trung tính nối đất trực tiếp.

I. KHÁI NIỆM. Chế độ làm việc lâu dài. Lựa chọn thiết bị trong NMĐ&TBA. Chế độ làm việc ngắn hạn. Trung tính nối đất trực tiếp. Chương . KHÁ NỆM Lựa chọn thiết bị trong NMĐ&TBA Chế độ làm việc lâu dài Chế độ làm việc ngắn hạn Trung tính nối đất trực tiếp Điểm trung tính Trung tính cách ly Trung tính nối đất qua tổng trở . CHẾ ĐỘ

Διαβάστε περισσότερα

1. Ngang giaù söùc mua tuyeät ñoái 2. Ngang giaù söùc mua töông ñoái. Khoa Tài Chính Doanh Nghiệp Bộ môn Tài Chính Quốc Tế

1. Ngang giaù söùc mua tuyeät ñoái 2. Ngang giaù söùc mua töông ñoái. Khoa Tài Chính Doanh Nghiệp Bộ môn Tài Chính Quốc Tế Á Khoa Taøi Chính Doanh Nghieäp Boä moân Taøi Chính Quoác Teá TAØ ØI I CHÍNH QUOÁ ÁC C TEÁ Baø øi i 3: Moá ái i quan heä ä giöõa LP LS & TG International Finance - 2006 LYÙ THUYEÁT NGANG GIAÙ SÖÙC MUA

Διαβάστε περισσότερα

Vectơ và các phép toán

Vectơ và các phép toán wwwvnmathcom Bài 1 1 Các khái niệm cơ bản 11 Dẫn dắt đến khái niệm vectơ Vectơ và các phép toán Vectơ đại diện cho những đại lượng có hướng và có độ lớn ví dụ: lực, vận tốc, 1 Định nghĩa vectơ và các yếu

Διαβάστε περισσότερα

ĐỀ PEN-CUP SỐ 01. Môn: Vật Lí. Câu 1. Một chất điểm có khối lượng m, dao động điều hòa với biên độ A và tần số góc. Cơ năng dao động của chất điểm là.

ĐỀ PEN-CUP SỐ 01. Môn: Vật Lí. Câu 1. Một chất điểm có khối lượng m, dao động điều hòa với biên độ A và tần số góc. Cơ năng dao động của chất điểm là. Hocmai.n Học chủ động - Sống tích cực ĐỀ PEN-CUP SỐ 0 Môn: Vật Lí Câu. Một chất điểm có khối lượng m, dao động điều hòa ới biên độ A à tần số góc. Cơ năng dao động của chất điểm là. A. m A 4 B. m A C.

Διαβάστε περισσότερα

Bài Giảng Môn học: OTOMAT VÀ NGÔN NGỮ HÌNH THỨC

Bài Giảng Môn học: OTOMAT VÀ NGÔN NGỮ HÌNH THỨC Bài Giảng Môn học: OTOMAT VÀ NGÔN NGỮ HÌNH THỨC TS. Nguyễn Văn Định, Khoa CNTT Lời nói đầu Ngôn ngữ là phương tiện để giao tiếp, sự giao tiếp có thể hiểu là giao tiếp giữa con người với nhau, giao tiếp

Διαβάστε περισσότερα

ĐỀ 83. https://www.facebook.com/nguyenkhachuongqv2

ĐỀ 83. https://www.facebook.com/nguyenkhachuongqv2 ĐỀ 8 https://www.facebook.com/nguyenkhachuongqv GV Nguyễn Khắc Hưởng - THPT Quế Võ số - https://huongphuong.wordpress.com SỞ GIÁO DỤC VÀ ĐÀO TẠO HƯNG YÊN KỲ THI THỬ THPT QUỐC GIA 016 LẦN TRƯỜNG THPT MINH

Διαβάστε περισσότερα

Tính: AB = 5 ( AOB tại O) * S tp = S xq + S đáy = 2 π a 2 + πa 2 = 23 π a 2. b) V = 3 π = 1.OA. (vì SO là đường cao của SAB đều cạnh 2a)

Tính: AB = 5 ( AOB tại O) * S tp = S xq + S đáy = 2 π a 2 + πa 2 = 23 π a 2. b) V = 3 π = 1.OA. (vì SO là đường cao của SAB đều cạnh 2a) Mặt nón. Mặt trụ. Mặt cầu ài : Trong không gin cho tm giác vuông tại có 4,. Khi quy tm giác vuông qunh cạnh góc vuông thì đường gấp khúc tạo thành một hình nón tròn xoy. b)tính thể tích củ khối nón 4 )

Διαβάστε περισσότερα

Chương 2: Đại cương về transistor

Chương 2: Đại cương về transistor Chương 2: Đại cương về transistor Transistor tiếp giáp lưỡng cực - BJT [ Bipolar Junction Transistor ] Transistor hiệu ứng trường FET [ Field Effect Transistor ] 2.1 KHUYẾCH ĐẠI VÀ CHUYỂN MẠCH BẰNG TRANSISTOR

Διαβάστε περισσότερα

Xác định nguyên nhân và giải pháp hạn chế nứt ống bê tông dự ứng lực D2400mm

Xác định nguyên nhân và giải pháp hạn chế nứt ống bê tông dự ứng lực D2400mm Xác định nguyên nhân và giải pháp hạn chế nứt ống bê tông dự ứng lực D2400mm 1. Giới thiệu Ống bê tông dự ứng lực có nòng thép D2400 là sản phẩm cung cấp cho các tuyến ống cấp nước sạch. Đây là sản phẩm

Διαβάστε περισσότερα

MỤC LỤC LỜI NÓI ĐẦU...

MỤC LỤC LỜI NÓI ĐẦU... MỤC LỤC LỜI NÓI ĐẦU... 5 Chƣơng I: Mở đầu... 8 1.1 Tập hợp và các cấu trúc đại số... 8 1.1.1 Tập hợp và các tập con... 8 1.1.2 Tập hợp và các phép toán hai ngôi... 9 1.3 Quan hệ và quan hệ tương đương...

Διαβάστε περισσότερα

Đề cương chi tiết học phần

Đề cương chi tiết học phần 1 TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ Ngành đào tạo: Công nghệ kỹ thuật điện điện tử Trình độ đào tạo: Đại học Chương trình đào tạo: Điện công nghiệp Đề cương chi tiết học

Διαβάστε περισσότερα

CƠ HỌC LÝ THUYẾT: TĨNH HỌC

CƠ HỌC LÝ THUYẾT: TĨNH HỌC 2003 The McGraw-Hill Companies, Inc. ll rights reserved. The First E CHƯƠNG: 01 CƠ HỌC LÝ THUYẾT: TĨNH HỌC ThS Nguyễn Phú Hoàng CÁC KHÁI NIỆM CƠ BẢN HỆ TIÊN ĐỀ TĨNH HỌC Khoa KT Xây dựng Trường CĐCN Đại

Διαβάστε περισσότερα

c) y = c) y = arctan(sin x) d) y = arctan(e x ).

c) y = c) y = arctan(sin x) d) y = arctan(e x ). Trường Đại học Bách Khoa Hà Nội Viện Toán ứng dụng và Tin học ĐỀ CƯƠNG BÀI TẬP GIẢI TÍCH I - TỪ K6 Nhóm ngành 3 Mã số : MI 3 ) Kiểm tra giữa kỳ hệ số.3: Tự luận, 6 phút. Nội dung: Chương, chương đến hết

Διαβάστε περισσότερα

Chương 7: AXIT NUCLEIC

Chương 7: AXIT NUCLEIC Chương 7: AXIT UCLEIC Khái niệm Thành phần hóa học ucloside, ucleotide Chức năng và sự phân bố của axit nucleic Cấu trúc của axit nucleic Sự tái bản, sao mã DA và tổng hợp protein Khái niệm Định nghĩa:

Διαβάστε περισσότερα

GREE CHƯƠNG 4 VẬT LIỆU VÀ ĐƯỜNG ỐNG DÙNG CHO MẠNG LƯỚI THOÁT NƯỚC 4.1 YÊU CẦU ĐỐI VỚI VẬT LIỆU ỐNG

GREE CHƯƠNG 4 VẬT LIỆU VÀ ĐƯỜNG ỐNG DÙNG CHO MẠNG LƯỚI THOÁT NƯỚC 4.1 YÊU CẦU ĐỐI VỚI VẬT LIỆU ỐNG CHƯƠNG 4 VẬT LIỆU VÀ ĐƯỜNG ỐNG DÙNG CHO MẠNG LƯỚI THOÁT NƯỚC 4.1 YÊU CẦU ĐỐI VỚI VẬT LIỆU ỐNG Bao giờ ống thoát nước cũng nằm trong lòng đất để làm việc với một thời gian dài, do đó vật liệu làm ống phải

Διαβάστε περισσότερα

x = Cho U là một hệ gồm 2n vec-tơ trong không gian R n : (1.2)

x = Cho U là một hệ gồm 2n vec-tơ trong không gian R n : (1.2) 65 TẠP CHÍ KHOA HỌC, Đại học Huế, Số 53, 2009 HỆ PHÂN HOẠCH HOÀN TOÀN KHÔNG GIAN R N Huỳnh Thế Phùng Trường Đại học Khoa học, Đại học Huế TÓM TẮT Một phân hoạch hoàn toàn của R n là một hệ gồm 2n vec-tơ

Διαβάστε περισσότερα

Batigoal_mathscope.org ñược tính theo công thức

Batigoal_mathscope.org ñược tính theo công thức SỐ PHỨC TRONG CHỨNG MINH HÌNH HỌC PHẲNG Batigoal_mathscope.org Hoangquan9@gmail.com I.MỘT SỐ KHÁI NIỆM CƠ BẢN. Khoảng cách giữa hai ñiểm Giả sử có số phức và biểu diễn hai ñiểm M và M trên mặt phẳng tọa

Διαβάστε περισσότερα

(Propensity Score Matching Method) Ngày 11 tháng 5 năm 2016

(Propensity Score Matching Method) Ngày 11 tháng 5 năm 2016 Mô hình So sánh bằng Điểm Xu hướng (Propensity Score Matching Method) Lê Việt Phú Chương trình Giảng dạy Kinh tế Fulbright Ngày 11 tháng 5 năm 2016 1 / 20 Table of contents 1. Tác động can thiệp trung

Διαβάστε περισσότερα

Biên soạn và giảng dạy : Giáo viên Nguyễn Minh Tuấn Tổ Hóa Trường THPT Chuyên Hùng Vương Phú Thọ

Biên soạn và giảng dạy : Giáo viên Nguyễn Minh Tuấn Tổ Hóa Trường THPT Chuyên Hùng Vương Phú Thọ B. PHƯƠNG PHÁP GIẢI BÀI TẬP VỀ AMIN I. Phản ứng thể hiện tính bazơ của amin Phương pháp giải Một số điều cần lưu ý về tính bazơ của amin : + Các amin đều phản ứng được với các dung dịch axit như HCl, HNO,

Διαβάστε περισσότερα

Ý NGHĨA BẢNG HỒI QUY MÔ HÌNH BẰNG PHẦN MỀM EVIEWS

Ý NGHĨA BẢNG HỒI QUY MÔ HÌNH BẰNG PHẦN MỀM EVIEWS Ý NGHĨA BẢNG HỒI QUY MÔ HÌNH BẰNG PHẦN MỀM EVIEWS CẦN KÍ TÊN Ý NGHĨA XEM HIỆU 1 Dependent Variable Tên biến phụ thuộc Y Phương pháp bình Method: Least phương tối thiểu (nhỏ OLS Squares nhất) Date - Time

Διαβάστε περισσότερα

gặp của Học viên Học viên sử dụng khái niệm tích phân để tính.

gặp của Học viên Học viên sử dụng khái niệm tích phân để tính. ĐÁP ÁN Bài 1: BIẾN CỐ NGẪU NHIÊN VÀ XÁC SUẤT Tình huống dẫn nhập STT câu hỏi Nội dung câu hỏi Những ý kiến thường gặp của Học viên Kiến thức liên quan (Giải đáp cho các vấn đề) 1 Tính diện tích Hồ Gươm?

Διαβάστε περισσότερα

Bài giảng Giải tích 3: Tích phân bội và Giải tích vectơ HUỲNH QUANG VŨ. Hồ Chí Minh.

Bài giảng Giải tích 3: Tích phân bội và Giải tích vectơ HUỲNH QUANG VŨ. Hồ Chí Minh. Bài giảng Giải tích 3: Tích phân bội và Giải tích vectơ HUỲNH QUANG VŨ Khoa Toán-Tin học, Đại học Khoa học Tự nhiên, Đại học Quốc gia Thành phố Hồ Chí Minh. E-mail: hqvu@hcmus.edu.vn e d c f 1 b a 1 TÓM

Διαβάστε περισσότερα

+ = k+l thuộc H 2= ( ) = (7 2) (7 5) (7 1) 2) 2 = ( ) ( ) = (1 2) (5 7)

+ = k+l thuộc H 2= ( ) = (7 2) (7 5) (7 1) 2) 2 = ( ) ( ) = (1 2) (5 7) Nhớm 3 Bài 1.3 1. (X,.) là nhóm => a X; ax= Xa= X Ta chứng minh ax=x Với mọi b thuộc ax thì b có dạng ak với k thuộc X nên b thuộc X => Với mọi k thuộc X thì k = a( a -1 k) nên k thuộc ax. Vậy ax=x Tương

Διαβάστε περισσότερα

(Complexometric. Chương V. Reactions & Titrations) Ts. Phạm Trần Nguyên Nguyên

(Complexometric. Chương V. Reactions & Titrations) Ts. Phạm Trần Nguyên Nguyên Chương V PHẢN ỨNG TẠO T O PHỨC C & CHUẨN N ĐỘĐ (Complexometric Reactions & Titrations) Ts. Phạm Trần Nguyên Nguyên ptnnguyen@hcmus.edu.vn 1. Phức chất vàhằng số bền 2. Phương pháp chuẩn độ phức 3. Cân

Διαβάστε περισσότερα

L P I J C B D. Do GI 2 = GJ.GH nên GIH = IJG = IKJ = 90 GJB = 90 GLH. Mà GIH + GIQ = 90 nên QIG = ILG = IQG, suy ra GI = GQ hay Q (BIC).

L P I J C B D. Do GI 2 = GJ.GH nên GIH = IJG = IKJ = 90 GJB = 90 GLH. Mà GIH + GIQ = 90 nên QIG = ILG = IQG, suy ra GI = GQ hay Q (BIC). ài tập ôn đội tuyển I năm 015 Nguyễn Văn inh Số 7 ài 1. (ym). ho tam giác nội tiếp đường tròn (), ngoại tiếp đường tròn (I). G là điểm chính giữa cung không chứa. là tiếp điểm của (I) với. J là điểm nằm

Διαβάστε περισσότερα

BÀI TẬP. 1-5: Dòng phân cực thuận trong chuyển tiếp PN là 1.5mA ở 27oC. Nếu Is = 2.4x10-14A và m = 1, tìm điện áp phân cực thuận.

BÀI TẬP. 1-5: Dòng phân cực thuận trong chuyển tiếp PN là 1.5mA ở 27oC. Nếu Is = 2.4x10-14A và m = 1, tìm điện áp phân cực thuận. BÀI TẬP CHƯƠNG 1: LÝ THUYẾT BÁN DẪN 1-1: Một thanh Si có mật độ electron trong bán dẫn thuần ni = 1.5x10 16 e/m 3. Cho độ linh động của electron và lỗ trống lần lượt là n = 0.14m 2 /vs và p = 0.05m 2 /vs.

Διαβάστε περισσότερα

Chương 4 BỘ TRUYỀN BÁNH RĂNG. CBGD: TS. Bùi Trọng Hiếu

Chương 4 BỘ TRUYỀN BÁNH RĂNG. CBGD: TS. Bùi Trọng Hiếu Chương 4 BỘ TRUYỀN BÁNH RĂNG CBGD: TS. Bùi Trọng Hiếu Bm. Thieát keá maùy TS. Buøi Troïng Hieáu 4.. KHAÙI NIEÄM CHUNG a. Nguyeân lyù laøm vieäc: theo nguyeân lyù aên khôùp. Tæ soá truyeàn xaùc ñònh. 2

Διαβάστε περισσότερα

Đề số 1. Đề số ) : CÂU 2: (3đ) Tìm x CÂU 3: (2đ) Tìm các số a ; b ; c biết a b c và 2a + 3c = 18

Đề số 1. Đề số ) : CÂU 2: (3đ) Tìm x CÂU 3: (2đ) Tìm các số a ; b ; c biết a b c và 2a + 3c = 18 - 1 - CÂU 1: (, đ) Thực hiện phép tính ( hợp lí nếu có thể) 1 1) 7 1 1 7 11 1 7 1 11 ) 1 1 1 1 1 1 1 ) : 81. CÂU : (đ) Tìm x 7 1) :x 8 1 ) ) 7 1 x 1 11 : x 1 : ( ) 6 1 Đề số 1 CÂU : (đ) Tìm các số a ;

Διαβάστε περισσότερα

Xác định cỡ mẫu nghiên cứu

Xác định cỡ mẫu nghiên cứu VIỆN NGHIÊN CỨU Y XÃ HỘI HỌC Xác định cỡ mẫu nghiên cứu Nguyễn Trương Nam Copyright Bản quyền thuộc về tác giả và thongke.info. Khi sử dụng một phần hoặc toàn bộ bài giảng đề nghị mọi người trích dẫn:

Διαβάστε περισσότερα

Dữ liệu bảng (Panel Data)

Dữ liệu bảng (Panel Data) 5/6/0 ữ lệu bảng (Panel ata) Đnh Công Khả Tháng 5/0 Nộ dung. Gớ thệu chung về dữ lệu bảng. Những lợ thế kh sử dụng dữ lệu bảng. Ước lượng mô hình hồ qu dữ lệu bảng Mô hình những ảnh hưởng cố định (FEM)

Διαβάστε περισσότερα

CHƯƠNG 1: LÝ THUYẾT VỀ LOGIC HAI TRẠNG THÁI

CHƯƠNG 1: LÝ THUYẾT VỀ LOGIC HAI TRẠNG THÁI LỜI NÓI ĐẦU Trong các hệ thống sản xuất, trong các thiết bị tự động và bán tự động, hệ thống điều khiển đóng vai trò điều phối toàn bộ các hoạt động của máy móc thiết bị. Các hệ thống máy móc và thiết

Διαβάστε περισσότερα

QCVN 28:2010/BTNMT. National Technical Regulation on Health Care Wastewater

QCVN 28:2010/BTNMT. National Technical Regulation on Health Care Wastewater CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM QCVN 28:2010/BTNMT QUY CHUẨN KỸ THUẬT QUỐC GIA VỀ NƯỚC THẢI Y TẾ National Technical Regulation on Health Care Wastewater HÀ NỘI - 2010 Lời nói đầu QCVN 28:2010/BTNMT

Διαβάστε περισσότερα

HỒI QUY TUYẾN TÍNH ĐƠN. GV : Đinh Công Khải FETP Môn: Các Phương Pháp Định Lượng

HỒI QUY TUYẾN TÍNH ĐƠN. GV : Đinh Công Khải FETP Môn: Các Phương Pháp Định Lượng 1 HỒI QUY TUYẾN TÍNH ĐƠN GV : Đnh Công Khả FETP Môn: Các Phương Pháp Định Lượng Knh tế lượng là gì? Knh tế lượng được quan tâm vớ vệc xác định các qu luật knh tế bằng thực nghệm (Thel, 1971) Knh tế lượng

Διαβάστε περισσότερα

(Instrumental Variables and Regression Discontinuity Design)

(Instrumental Variables and Regression Discontinuity Design) Mô hình Biến Công cụ và Hồi quy Gián đoạn (Instrumental Variables and Regression Discontinuity Design) Kinh tế lượng ứng dụng Lê Việt Phú Chương trình Giảng dạy Kinh tế Fulbright Ngày 20 tháng 5 năm 2015

Διαβάστε περισσότερα

SINH-VIEÂN PHAÛI GHI MAÕ-SOÁ SINH-VIEÂN LEÂN ÑEÀ THI VAØ NOÄP LAÏI ÑEÀ THI + BAØI THI

SINH-VIEÂN PHAÛI GHI MAÕ-SOÁ SINH-VIEÂN LEÂN ÑEÀ THI VAØ NOÄP LAÏI ÑEÀ THI + BAØI THI SINHVIEÂN PHAÛI GHI MAÕSOÁ SINHVIEÂN LEÂN ÑEÀ THI VAØ NOÄP LAÏI ÑEÀ THI BAØI THI THÔØI LÖÔÏNG : 45 PHUÙT KHOÂNG SÖÛ DUÏNG TAØI LIEÄU MSSV: BÀI 1 (H1): Ch : i1 t 8,5 2.sin50t 53 13 [A] ; 2 i3 t 20 2.sin50t

Διαβάστε περισσότερα