Hệ Điều Hành Hệ thống máy tính Chương 5 Giới thiệu tổng quan về Hệ điều hành 2 ❑ Phần cứng (Hardware) gồm các tài nguyên của máy tính CPU, memory, I/O devices ❑ Hệ điều hành (Operating system) Điều kh[.]
Trang 1Hệ Điều Hành
Trang 2Hệ thống máy tính
2
❑ Phần cứng (Hardware): gồm các tài nguyên của
máy tính: CPU, memory, I/O devices
❑ Hệ điều hành (Operating system): Điều khiển và
sắp xếp việc sử dụng phần cứng của các ứng dụng và người dùng.
❑ Chương trình ứng dụng (Application programs):
Xác định cách sử dụng tài nguyên hệ thống để giải quyết các vấn đề máy tính của người dùng.
Trang 3Hệ thống máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
3
Trang 4Hệ điều hành là gì?
4
❑ Hệ điều hành là một thành phần trong hệ thống máy tính, nó là một chương trình hoạt động như một trung gian giữa người dùng và phần cứng máy tính.
Trang 5Hệ điều hành là gì?
Chương 5: Giới thiệu tổng quan về Hệ điều hành
5
❑ Mục tiêu của hệ điều hành:
− Cung cấp môi trường để người dùng thực hiện các chương trình ứng dụng trên phần cứng máy tính.
− Quản lý và cấp phát tài nguyên của máy tính công bằng và hiệu quả
− Là một chương trình điều khiển với hai chức năng chính:
◼ Giám sát việc thực hiện chương trình sử dụng để ngăn chặn các lỗi và việc sử dụng máy tính không đúng.
◼ Quản lý và điều khiển hoạt động của các thiết bị I/O
Trang 6Lịch sử phát triển của hệ điều hành
Trang 7Phân loại hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
thống xử lý thông tin chi tiết của các tổ chức kinhdoanh
− Timesharing systems: cho phép nhiều ngườidùng từ xa thực hiện các công việc trên máy tínhcùng một lúc
Trang 8Phân loại hệ điều hành
8
❑ Hệ điều hành cho máy chủ
− Hệ điều hành chạy trên các máy server, phục vụnhiều người dùng cùng một lúc trên một mạng
− Cho phép người dùng chia sẻ tài nguyên phầncứng và phần mềm
❑ Hệ điều hành đa xử lý
− Hệ điều hành dùng cho các hệ thống kết nốinhiều CPU trên một máy đơn, tùy thuộc vào cách
kết nối mà các hệ thống có thể là Parallel
Trang 9Phân loại hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
9
❑ Hệ điều hành cho máy tính cá nhân
− Cung cấp giao diện tốt cho người dùng, phổ biến
là Windows, Macintosh, và Linux
❑ Hệ điều hành nhúng
− Dùng trong các thiết bị gia dụng, các máy tròchơi Những hệ điều hành này thường là đơngiản và có những đặc điểm của hệ thống thờigian thực
Trang 10Phân loại hệ điều hành
10
❑ Hệ điều hành thời gian thực
− Thường dùng cho các hệ thống điều khiển trongcông nghiệp Hệ thống xử lý sẽ cho kết quả chínhxác trong thời gian nhanh nhất Có hai loại
◼ Hệ thống xử lý thời gian thực cứng (Hard time): công việc hoàn tất đúng thời điểm quy định.
real-◼ Hệ thống thời gian thực mềm (Soft real-time): các
công việc được thực hiện theo độ ưu tiên.
Trang 11Phân loại hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
11
❑ Hệ điều hành cho thẻ thông minh
− Các hệ điều hành nhỏ nhất chạy trên thẻ thôngminh, có chứa một con chip CPU
− Có những loại chỉ có thể xử lý một chức năng duynhất, chẳng hạn như thanh toán điện tử, nhưng
có những loại có thể xử lý nhiều chức năng
Trang 12Sơ lược phần cứng máy tính
Trang 13Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
13
Trang 14Sơ lược phần cứng máy tính
14
❑ CPU : là bộ não của máy tính, nó đọc các chỉ thị từ bộ nhớ chính và thực thi chúng.
− Mỗi CPU đều có các thành phần:
◼ Các thanh ghi để lưu các biến tạm và một số thanh ghi đặc biệt khác.
◼ Arithmetic Logic Unit – ALU
◼ Bộ điều khiển giải mã và thực thi lệnh.
◼ Hệ thống bus kết nối CPU với bộ nhớ và các thiết bị I/O.
Trang 15Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
15
Trang 16Sơ lược phần cứng máy tính
16
− Các thanh ghi đặc biệt của CPU:
◼ Program counter: chứa địa chỉ của lệnh kế tiếp sẽ được thực thi.
◼ Stack pointer: trỏ đến đỉnh của stack hiện hành trong
bộ nhớ, Stack chứa một Frame cho mỗi thủ tục bao gồm các tham số đầu vào, các biến cục bộ, và các biến tạm mà nó không lưu trong thanh ghi
◼ PSW (Program Status Word): chứa các bit mã điều kiện, được thiết lập bởi việc so sánh các chỉ thị, độ ưu tiên CPU, mode (user or kernel), và nhiều bit điều khiển khác.
Trang 17Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
17
− Dual mode: Các CPU có 2 chế độ kernel mode
và user mode với sự điều khiển của PSW
◼ Kernel mode: CPU có thể thực hiện các lệnh trong tập lệnh của nó và sử dụng tất cả các tính năng của phần cứng.
◼ User mode: chỉ cho phép thực hiện và truy cập các tính năng của một tập con của tập lệnh
Trang 18Sơ lược phần cứng máy tính
18
− System calls:
◼ Để có được dịch vụ từ hệ điều hành, các chương trình
người dùng phải thực hiện các system calls, gọi hệ
điều hành.
◼ Chỉ thị TRAP chuyển từ user mode sang kernel mode
và khởi động hệ điều hành Khi công việc đã được hoàn thành, kiểm soát được trả lại cho chương trình người dùng.
Trang 19Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
19
❑ Bộ nhớ - Memory:
− Bộ nhớ được phân cấp theo các tiêu chí chấtlượng nhanh, lớn, và giá rẻ
Trang 20Sơ lược phần cứng máy tính
20
− Thanh ghi – Registers
◼ Các thanh ghi bên CPU, tốc độ truy cập nhanh, dung lượng lưu trữ <1KB
− Bộ nhớ Cache – Cache memory
◼ Cache là bộ nhớ đệm, được tạo từ SRAM, dung lượng nhỏ, có tốc độ cao nhưng chi phí cao, dùng để lưu những dữ liệu thường sử dụng nhằm tăng tốc độ
xử lý của máy tính
− Bộ nhớ chính - RAM (Random Access Memory)
◼ Lưu những tiến trình yêu cầu CPU nhưng chưa được
Trang 21Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
21
− Đĩa từ - magnetic disk (Đĩa cứng)
◼ Rẻ hơn so với RAM, nhưng thời gian để truy cập chậm hơn vì đĩa là một thiết bị cơ khí
Trang 22Sơ lược phần cứng máy tính
22
◼ Một đĩa bao gồm một hoặc nhiều đĩa kim loại xoay 5400, 7200, hay 10.800 rpm quanh một trục.
◼ Thông tin được ghi vào đĩa trên các vòng tròn đồng tâm Trên mỗi bề mặt của đĩa có một đầu đọc/ghi.
◼ Ở vị trí bất kỳ, mỗi đầu đọc có thể đọc một khu vực hình khuyên gọi là
track, tất cả các track tại cùng một
vị trí của đầu đọc gọi là cylinder.
Mỗi track được chia thành một số
Trang 23Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
23
− ROM – Read Only Memory
◼ ROM chứa chương trình khởi động máy, chương trình này được lập trình tại nơi sản xuất và không thể thay đổi.
◼ Ngược lại với ROM, bộ nhớ EEPROM (Electrically
Erasable ROM) và flash RAM có thể bị xóa và viết lại, nhưng được dùng giống như ROM chỉ với các tính năng để sửa lỗi trong các chương trình.
Trang 24Sơ lược phần cứng máy tính
24
− Đơn vị quản lý bộ nhớ - Memory Management Unit
◼ Thiết bị thực hiện kiểm tra và ánh xạ địa chỉ ảo (physical
address) được tạo ra bởi các chương trình thành địa chỉ vật
lý (physical address) của bộ nhớ máy tính.
Trang 25Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
25
❑ Các thiết bị nhập/xuất – I/O devices
− Trình điều khiển thiết bị - Device driver :
Chương trình điều khiển thiết bị, được đưa vàotrong hệ điều hành và chạy ở chế độ kernelmode
− Thanh ghi thiết bị - device registers: dùng đểgiao tiếp với thiết bị
Trang 26Sơ lược phần cứng máy tính
26
❑ Buses
− Các hệ thống hiện đại gồm 8 bus với tốc độtruyền và chức năng khác nhau: cache, local,memory, PCI, SCSI, USB, IDE, và ISA
− Hai bus chính là:
◼ ISA (Industry Standard Architecture): tốc độ 8,33 MHz,
có thể chuyển 2 bytes cùng một lúc, tối đa 16,67 MB/giây.
◼ PCI (Peripheral Component Interconnect): tốc độ 66MHz, truyền 8bytes tại một thời điểm, tối đa 528 MB/giây
Trang 27Sơ lược phần cứng máy tính
Chương 5: Giới thiệu tổng quan về Hệ điều hành
27
− Ba bus chuyên biệt: IDE, USB và SCSI
◼ IDE (Integrated Drive Electronics): gắn các thiết bị ngoại vi như ổ đĩa và đĩa CD-ROM vào hệ thống.
◼ USB (Universal Serial Bus): Bus chung cho những thiết bị I/O chậm như keyboard, mouse.
◼ SCSI (Small Computer System Interface) là một bus hiệu suất cao dành cho những ổ đĩa nhanh, máy quét,
và các thiết bị khác cần băng thông đáng kể.
Trang 28Các khái niệm của hệ điều hành
28
❑ Tiến trình – Process : là một chương trình thực thi Mỗi tiến trình có
− Không gian địa chỉ chứa chương trình thực thi
− Dữ liệu của chương trình
− Stack
− Tập các thanh ghi
− Danh sách các ô nhớ mà tiến trình có thể đọchoặc ghi
− Các thông tin cần thiết để tiến trình thực thi
Trang 29Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
Trang 30Các khái niệm của hệ điều hành
30
− Mỗi người dùng được gán một UID (UserIdentification) Mỗi tiến trình được khởi tạo có UIDcủa người tạo nó, một tiến trình con có cùng UIDvới tiến trình cha
− Những người dùng có thể là thành viên của mộtnhóm, mỗi nhóm có một GID (Group
IDentification)
Trang 31Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
31
❑ Deadlock : Trạng thái của hệ thống mà ở đó
có hai hoặc nhiều tiến trình tương tác và đang chờ nhau không thể thực hiện tiếp gọi là deadlock
Trang 32Các khái niệm của hệ điều hành
32
❑ Quản lý bộ nhớ:
− Đối với các hệ điều hành phức tạp, cho phépnhiều chương trình tồn tại trong bộ nhớ chínhcùng một lúc
− Để các chương trình không ảnh hưởng lẫn nhau
và ảnh hưởng đến hệ điều hành, cần có một cơchế quản lý và bảo vệ bộ nhớ chính
Trang 33Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
Trang 34Các khái niệm của hệ điều hành
34
❑ Tập tin – Files :
− Tập tin là một tập các thông tin liên quan được
đặt tên và ghi lại trên thiết bị lưu trữ thứ cấp
− Hệ thống tập tin (file system) là cách mà các
tập tin được đặt tên và tổ chức một cách hợp lýcho việc lưu trữ và phục hồi Hệ thống tập tinđược tổ chức dưới dạng phân cấp (cây)
− Thư mục, là một cách để nhóm các tập tin.
− Mỗi tập tin trong hệ thống được xác định bằng
đường dẫn bắt đầu từ thư mục gốc - root
Trang 35Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
35
− Khái niệm mount:
◼ Mounted file system để gắn hệ thống tập tin trong đĩa mềm, đĩa CD vào cây phân cấp chính.
Trang 36Các khái niệm của hệ điều hành
36
− Special file: là một giao diện cho một trình điềukhiển thiết bị xuất hiện trong một hệ thống tập tinnhư là một tập tin bình thường Có 2 loại
◼ Block special files
◼ Character special files.
Trang 37Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
37
− Pipes: là một loại tập tin giả có thể được sử dụng
để kết nối hai tiến trình
◼ Tiến trình A muốn gửi dữ liệu đến tiến trình B, nó ghi
dữ liệu lên pipe như một tập tin đầu ra.
◼ Tiến trình B đọc dữ liệu bằng cách đọc từ pipe như một tập tin đầu vào.
Trang 38Các khái niệm của hệ điều hành
Trang 39Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
39
❑ Shell
− Shell là một trình thông dịch lệnh của UNIX, làgiao diện tương tác giữa người dùng và hệ điềuhành
− Shell ví dụ tốt về cách sử dụng các system calls
− Có nhiều loại shell: sh, csh, ksh, và bash
Trang 40Các khái niệm của hệ điều hành
40
❑ System calls
− Giao diện giữa hệ điều hành và các chương trình
người dùng được xác định bởi tập các system
calls do hệ điều hành cung cấp
− Ví dụ: system call read: read(fd, buffer, nbytes)
Trang 41Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
41
Trang 42Các khái niệm của hệ điều hành
42
− Nếu system calls không thể được thực hiện, hoặc
là do một tham số không hợp lệ hoặc lỗi đĩa, thìcount = -1, và số lỗi được đưa vào biến toàn cục
errno
Trang 43Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
43
− System calls quản lý tiến trình
◼ Fork(): để tạo một tiến trình mới giống chính xác với tiến trình cha
◼ Sau khi fork():
◼ Tiến trình con thực hiện công việc khác với tiến trình cha
◼ Tiến trình cha chờ tiến trình con kết thúc bằng cách thực
hiện một system call waitpid().
Trang 44Các khái niệm của hệ điều hành
44
◼ Các system calls quản lý tiến trình
Trang 45Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
45
− System call quản lý tập tin
◼ Open: mở file để đọc hoặc ghi file, tham số là tên file
và đường dẫn đến tập tin cần mở, và code
Trang 46Các khái niệm của hệ điều hành
46
◼ Các system calls quản lý tập tin
Trang 47Các khái niệm của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
47
− Các system calls quản lý thư mục
Trang 48Các khái niệm của hệ điều hành
48
− Các system calls khác
Trang 49Cấu trúc của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
từ chế độ người dùng để chế độ nhân và chuyểnquyền kiểm soát cho hệ điều hành
Trang 50Cấu trúc của hệ điều hành
50
− Tổ chức này cho thấy một cấu trúc cơ bản cho hệđiều hành
◼ Một chương trình chính gọi các thủ tục dịch vụ yêu cầu.
◼ Một tập thủ tục dịch vụ thực hiện các system calls.
◼ Một tập các thủ tục tiện ích giúp các thủ tục dịch vụ
Trang 51Cấu trúc của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
Trang 52Cấu trúc của hệ điều hành
52
❑ Máy ảo - Virtual Machines
− Hệ thống tên VM/370 với 2 chức năng tách biệt:
◼ Đa chương – multiprogramming
◼ Một máy mở rộng với một giao diện thuận tiện
hơn các bare hardware.
− Trung tâm của hệ thống là màn hình máy ảo
multiprogramming.
Trang 53Cấu trúc của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
Trang 54Cấu trúc của hệ điều hành
54
− Một xu hướng trong hệ điều hành hiện đại là dichuyển mã của hệ điều hành lên các lớp cao
hơn, để lại một microkernel tối thiểu.
− Để yêu cầu một dịch vụ như đọc một khối của
một tập tin, tiến trình người dùng (client
process) sẽ gửi yêu cầu đến server process,
thực thi và trả lại kết quả
Trang 55Cấu trúc của hệ điều hành
Chương 5: Giới thiệu tổng quan về Hệ điều hành
55
− Ưu điểm của hệ thống Client – Server
◼ Hệ điều hành được chia thành nhiều thành phần, mỗi thành phần chỉ xử lý một phần của hệ thống, do đó, khi một thành phần bị lỗi thì không ảnh hưởng đến hệ thống.
◼ Khả năng tương thích của nó trong các hệ thống phân tán.
Trang 56Cấu trúc của hệ điều hành
56
− Một số chức năng của hệ điều hành rất khó thựchiện các chương trình của không gian ngườidùng, ví dụ, nạp các lệnh vào thanh ghi thiết bị
Có hai cách để giải quyết vấn đề này:
◼ Phải có một số tiến trình quan trọng của server chạy thực sự trong kernel mode (Device driver)
◼ Xây dựng một số tối thiểu cơ chế trong nhân nhưng
để lại các quyết định chính sách đến các máy chủ trong không gian người dùng.