Bài giảng môn Hệ điều hành - Chương 1: Tổng quát về hệ điều hành
1.1 Định nghĩa sơlược vềhệ điều hành
1.2 Lịch sửphát triển hệ điều hành
1.3 Phân loại các hệ điều hành
1.4 Nhắc lại phần cứng máy tính
1.5 Các khái niệm cơbản vềhệ điều hành
1.6 Các lời gọi dịch vụHĐH "System call"
1.7 Cấu trúc hệ điều hành
m nhiều track (head - vòng tròn chứa tin cùng bán kính), mỗi track chứa nhiều cung nhỏ chứa tin được truy xuất độc lập (sector). Sector là đơn vị truy xuất tin nhỏ nhất ở cấp vật lý, từ ngoài ta không thể truy xuất từng byte rời rạc trên đĩa được. Muốn truy xuất 1 sector, ta phải xác định được bộ ba chỉ số (C,H,S) ⇒ rất khó dùng. Hơn nữa, dữ liệu có nghĩa cần lưu trên đĩa thường có kích thước rất khác nhau ⇒ cần nhiều sector mới chứa đủ. Nếu việc quản lý 1 dữ liệu có nghĩa được chứa trên bao nhiêu sector đĩa và chỉ số cụ thể là gì được giao cho người dùng thì họ sẽ gặp rất nhiều rắc rối ⇒ cần 1 giao tiếp sử dụng khác để sử dụng đĩa dễ dàng hơn. Hệ thống file (File System) Chương 1 : Tổng quát về hệ điều hành 18 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 35 disk luận lý cấp #1 là không gian dữ liệu 1 chiều : disk = danh sách nhiều đơn vị chứa tin có độ dài cố định, mỗi đơn vị được gọi là cluster (hay block, sector luận lý). Độ dài của cluster cần độc lập với đĩa vật lý. Ở cấp độ này, muốn truy xuất 1 cluster, ta chỉ cần xác định 1 chỉ số của nó. Tuy nhiên, dữ liệu có nghĩa cần lưu trên đĩa thường có kích thước rất khác nhau ⇒ cần nhiều cluster mới chứa đủ. Nếu việc quản lý 1 dữ liệu có nghĩa được chứa trên bao nhiêu cluster đĩa và chỉ số cụ thể là gì được giao cho người dùng thì họ sẽ gặp rất nhiều rắc rối ⇒ cần 1 giao tiếp sử dụng khác để sử dụng đĩa dễ dàng hơn. Hệ thống file (File System) Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 36 disk luận lý cấp #2 là không gian dữ liệu 1 chiều : disk = danh sách nhiều đơn vị chứa tin có độ dài thay đổi theo yêu cầu của người dùng, mỗi đơn vị được gọi là file và được nhận dạng bằng tên gợi nhớ chứ không phải là chỉ số khó nhớ. Ở cấp độ này, muốn truy xuất 1 file, ta chỉ cần xác định tên gợi nhớ của nó. Dù dữ liệu có nghĩa cần lưu trên đĩa thường có kích thước rất khác nhau, nhưng chỉ cần 1 file là đủ để lưu 1 dữ liệu có nghĩa ⇒ Việc quản lý dữ liệu trên đĩa trở nên dễ dàng hơn nhiều so với trước. Tuy nhiên vì 1 đĩa chứa 1 số rất lớn file (hàng triệu file) ⇒ nếu dùng không gian phẳng để tổ chức các file thì cũng còn nhiều khó khăn trong việc đặt tên file, việc phân biệt các file của chương trình nào, của người nào ⇒ cần 1 giao tiếp sử dụng khác để sử dụng đĩa dễ dàng hơn nữa. . Hệ thống file (File System) Chương 1 : Tổng quát về hệ điều hành 19 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 37 disk luận lý cấp #3 là không gian dữ liệu dạng cây phân cấp : disk = thư mục gốc chứa nhiều phần tử con, mỗi phần tử con có thể là file hay thư mục khác... Trong cấp độ này, ta nhận dạng 1 phần tử bằng khái niệm đường dẫn (pathname). Có 2 loại pathname : tuyệt đối và tương đối. Tùy thuộc vào nhu cầu sử dụng cụ thể mà dạng nào sẽ thích hợp hơn. Hệ thống file (File System) Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 38 Đường dẫn (pathname) là thông tin để tìm kiếm (xác định) 1 phần tử từ 1 vị trí nào đó, nó chứa danh sách chính xác các tên gợi nhớ của các phần tử mà ta phải đi qua xuất phát từ vị trí đầu để đến phần tử cần tìm. ta dùng 1 dấu ngăn đặc biệt để ngăn cách 2 tên gợi nhớ liên tiếp nhau trong đường dẫn (trong Windows, dấu ngăn là '\') Tên thư mục gốc luôn là '\'. Có 2 khái niệm đường dẫn : đường dẫn tuyệt đối và đường dẫn tương đối. Đường dẫn tuyệt đối là đường dẫn xuất phát từ thư mục gốc, đường dẫn tương đối xuất phát từ thư mục làm việc (working directory). Trước khi ứng dụng bắt đầu chạy, hệ thống sẽ khởi động thư mục làm việc cho ứng dụng (theo cơ chế nào đó). Trong quá trình thực thi, ứng dụng có quyền thay đổi thư mục làm việc theo yêu cầu riêng. Đường dẫn tuyệt đối và tương đối Chương 1 : Tổng quát về hệ điều hành 20 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 39 Thí dụ về hệ thống file \ Windows AudioFile VideoFile...config.sys System Fonts ... win.com arial.ttf USAFilm VNFilm ...Dòng đời.mpg Cây thứ bậc của ổ c: ChinaFilm Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 40 Xét cây thứ bậc của ổ c: trên slide trước, đường dẫn tuyệt đối sau sẽ nhận dạng chính xác file arial.ttf trong thư mục 'Fonts' : c:\Windows\Fonts\arial.ttf Nếu thư mục working của chương trình hiện là c:\Windows\Fonts thì ta có thể dùng đường dẫn tương đối sau đây để xác định file arial.ttf : arial.ttf Đường dẫn tuyệt đối thường dài hơn đường dẫn tương đối nhưng nó luôn có giá trị bất chấp ứng dụng đang ở thư mục working nào. Đường dẫn tương đối thường gọn hơn (đa số chỉ chứa tên file cần truy xuất vì ứng dụng sẽ thiết lập thư mục working là thư mục chứa các file mà ứng dụng truy xuất) nhưng chỉ có giá trị với 1 thư mục working cụ thể. Trong 1 vài trường hợp đặc biệt, ta phải dùng đường dẫn tương đối ngay cả nó dài và phức tạp hơn đường dẫn tuyệt đối! Đường dẫn tuyệt đối và tương đối (tt) Chương 1 : Tổng quát về hệ điều hành 21 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 41 chương trình khi hoạt động thỉnh thoảng phải giao tiếp với thế giới ngoài (thí dụ cần in ra máy in, cần giao tiếp mạng, cần truy xuất thông tin của các sensor đo thông số,..). Máy tính sẽ dùng 1 card chức năng (card I/O) để giao tiếp với thế giới ngoài. Có rất nhiều hãng sản xuất, mỗi hãng sản xuất rất nhiều model card I/O khác nhau, để đoạn code chương trình giao tiếp với I/O độc lập hoàn toàn với tính chất phần cứng của card I/O, ta sẽ xây dựng 1 module phần mềm đặc biệt : device driver. Mỗi card I/O có device driver riêng. Device driver phải chứa n hàm chức năng theo qui định của HĐH, chi tiết của từng hàm chức năng sẽ phụ thuộc vào phần cứng, còn việc sử dụng các hàm chức năng trong chương trình thì hoàn toàn độc lập với phần cứng. Giao tiếp với thế giới ngoài Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 42 Máy tính có rất nhiều tài nguyên và cho phép nhiều người truy xuất ⇒ Cần phải có cơ chế đảm bảo việc dùng tài nguyên bởi các người dùng, không cho phép việc truy xuất bất hợp pháp. An ninh hệ thống bao gồm 3 vấn đề chính : Bảo mật dữ liệu : mỗi người chỉ được phép truy xuất 1 số tài nguyên qui định, không có khả năng truy xuất các tài nguyên khác. Toàn vẹn dữ liệu : việc truy xuất tài nguyên của người dùng không được làm hư hỏng dữ liệu, dù chỉ 1 phần nhỏ. Sẳn sàng dữ liệu : việc truy xuất tài nguyên của người dùng hợp pháp phải luôn được phục vụ trong khoảng thời gian ngắn nhất, bất cứ lúc nào, bất cứ ở đâu. Các biện pháp để bảo mật dữ liệu là quản lý người dùng theo account và mật mã hóa dữ liệu. An ninh hệ thống Chương 1 : Tổng quát về hệ điều hành 22 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 43 1.6 Các lời gọi dịch vụ HĐH "System call" HĐH cung cấp 1 giao tiếp sử dụng được gọi là "System Call", mỗi system call là 1 hàm thực hiện 1 chức năng xác định. Thường chỉ có code chương trình mới gọi System call, còn người dùng đầu cuối không thể gọi system call trực tiếp được. Người dùng đầu cuối sử dụng các dịch vụ HĐH gián tiếp thông qua từng ứng dụng cụ thể. Thí dụ để thực hiện các chức năng quản lý hệ thống file, người dùng trên Windows sẽ dùng trình "Windows Explorer", thông qua giao tiếp sử dụng đồ họa trực quan của chương trình, người dùng sẽ thực hiện các thao tác quản lý hệ thống file rất dễ dàng (duyệt file, tạo/hiệu chỉnh/xóa file/thư mục, di chuyển file/thư mục từ nơi này đến nơi khác,...) Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 44 Các lời gọi dịch vụ HĐH "System call" Gọi system call gần giống với gọi hàm bình thường, sự khác biệt lớn nhất là có sự thay đổi quyền truy xuất tài nguyên : trước khi gọi system call, các lệnh của chương trình ứng dụng có quyền thấp. khi gọi system call, quyền sẽ thay đổi thành rất cao (quyền hệ thống) để đoạn code của hàm "system call" có thể thực thi được chức năng đặc biệt của mình. Sau khi gọi system call xong, quyền truy xuất được trả về mức cũ (thấp) của ứng dụng để đoạn code đi theo sau lệnh gọi system call chạy như cũ. Chương 1 : Tổng quát về hệ điều hành 23 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 45 System Calls There are 11 steps in making the system call read(fd, buffer, nbytes) Các lời gọi dịch vụ HĐH "System call" Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 46 System Calls -The Windows Win32 API Các lời gọi dịch vụ HĐH "System call" Thí dụ 1 số lời gọi dịch vụ HĐH "System call" trên Windows và Linux : Chương 1 : Tổng quát về hệ điều hành 24 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 47 1.7 Kiến trúc của HĐH Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 48 Kiến trúc phân cấp Chương 1 : Tổng quát về hệ điều hành 25 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 49 Kiến trúc máy ảo Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 50 Thí dụ về kiến trúc máy ảo Chương 1 : Tổng quát về hệ điều hành 26 Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 51 Kiến trúc client-server Chương 1 : Tổng quát về hệ điều hành Khoa Công nghệ Thông tin Trường ĐH Bách Khoa Tp.HCM Môn : Hệ điều hành Slide 52 Kiến trúc client-server Chương 1 : Tổng quát về hệ điều hành
File đính kèm:
- Bài giảng môn Hệ điều hành - Chương 1 Tổng quát về hệ điều hành.pdf