Hệ điều hành là gì?❖Là tập hợp các chương trình được thiết kế để điều khiển toàn bộ các thiết bị phần cứng và phần mềm ứng dụng trong máy tính, tương tác và quản lý việc giao tiê
Trang 1Giảng viên: ThS.Nguyễn Quỳnh Hoa
Khoa Công nghệ Thông tin – ĐHSP Hà nội Email: hoantq@hnue.edu.vn
Trang 2Phân phối, Bài tập và Kiểm tra
❖Phân phối thời gian
▪ 75% dành cho giảng bài
▪ 25% dành cho các chuyên đề
❖Thi hết học phần
▪ Thi vấn đáp
❖Điểm đánh giá.
▪ Điểm chuyên cần : Lấy điểm báo cáo nhóm
▪ Kiểm tra: theo quy chế
34 slide 2
Trang 3Những mục tiêu chính:
❖Cung cấp cho sinh viên:
▪ Khái niệm cơ bản và nguyên lý của các Hệ điều
Trang 4Tài liệu tham khảo
❖ Silberschatz, Galvin, Gagne, Operating System Concepts, John
Wiley & Sons, 2003
❖ Jean Bacon & Tim Harris, Operating Systems,
Addison-Wesley, 2003
❖ Nguyễn Phú Cường, Giáo trình Hệ điều hành, Đại học Cần
Thơ, 2005.
❖ Lê Khắc Nhiên Ân, Hoàng Kiếm, Giáo trình Nhập môn hệ điều
hành, Đại học Khoa học Tự nhiên, 2003
❖ Trần Hạnh Nhi, Hoàng Kiếm, Giáo trình hệ điều hành nâng
cao, Đại học Khoa học Tự nhiên,1999
Trang 5Nội dung môn học
Chương 5: Quản lý nhập xuất
Chương 4: Hệ thống tập tin Chương 3: Quản lý bộ nhớ Chương 2: Quản lý tiến trình Chương 1: Tổng quan về hệ điều hành
Trang 61 Định nghĩa và các khái niệm
❖Định nghĩa hệ điều hành (Operating System)
➢Hệ thống gì?
➢Điều hành cái j?
34 slide 7
Hệ thống chương trình điều hành máy tính
?
Trang 7Hệ điều hành là gì?
❖ HĐH khác với các chương trình phần mềm khác ntn?
Trang 8Hệ điều hành là gì?
❖Là tập hợp các chương trình được thiết kế để điều
khiển toàn bộ các thiết bị phần cứng và phần mềm
ứng dụng trong máy tính, tương tác và quản lý việc
giao tiếp giữa máy tính và người sử dụng
▪ Quản lý các thiết bị đầu vào, các thiết bị đầu ra, và các thiết bị lưu trữ
▪ Quản lý các tập tin được lưu trữ trên máy tính
❖Mỗi máy tính đòi hỏi phải có hệ điều hành để thực
hiện các chức năng
▪ Phải nạp vào bộ nhớ của máy tính trước khi tải bất kỳ phần mềm ứng dụng hoặc tương tác với người sử dụng
9
Trang 91 Định nghĩa và các khái niệm
❖Định nghĩa hệ điều hành (Operating System)
➢OS là phần mềm hoạt động ở lớp trung gian giữangười sử dụng máy tính và phần cứng
➢Mục tiêu của OS là làm cho người sử dụng:
• Thực thi dễ dàng các ứng dụng của mình
• Thao tác điều khiển máy tính trở nên thuận tiện.
• Khai thác phần cứng máy tính một cách có hiệu quả
Trang 10Hệ điều hành là gì?
❖Disk Operating System (DOS)
▪ Hệ điều hành đầu tiên được phát triển cho máy tính PC
▪ Dựa trên văn bản
❖Hầu hết các hệ điều hành sử dụng giao diện đồ họa người dùng (GUI) tích hợp
▪ Các chức năng và các lệnh được đại diện bởi các trình đơn và các nút hoặc biểu tượng có thể nhấn vào
▪ Sử dụng «trỏ vào và nhấn" (point and click) để thực hiện hầu hết các công việc
11
Trang 11Hệ điều hành là gì?
❖ Chương trình phần mềm được thiết kế để chạy trên một hệ điều hành cụ thể sử dụng cùng các nút bấm, biểu tượng
hay hình ảnh cho các chức năng thường dùng
▪ Giảm thời gian cần thiết để tìm hiểu phần mềm mới
❖ Quản lý phần cứng, các chương trình và các tập tin
❖ Phần mềm ứng dụng cho phép người dùng làm việc hiệu quả
▪ phần mềm ứng dụng cho phép một người dùng trở nên hiệu quả hơn khi tạo các tài liệu hoặc hoàn thành các công việc
▪ chương trình ứng dụng sẽ tương tác với hệ điều hành một cách “vô
hình” và bạn không nhận ra điều đó
Trang 12Các hệ điều hành hiện đại
❖Windows 7
13
Trang 13Các hệ điều hành hiện đại
❖Mac OS
Trang 14Các hệ điều hành hiện đại
Trang 15Các hệ điều hành hiện đại
❖Linux
▪ Phát triển đầu tiên vào năm 1991
▪ Miễn phí và có có khả năng tùy chỉnh
▪ Đóng gói thành các định dạng được gọi là các bảnphân phối
• Bao gồm hệ điều hành, các tiện ích và các thư viện khác nhau, và thậm chí là một số phần mềm ứng dụng
• Được sử dụng rộng rãi trên các siêu máy tính và máy chủ cao cấp
• Rất phổ biến với các doanh nghiệp phát triển phần mềm
Trang 16Các hệ điều hành hiện đại
❖Các hệ điều hành cho thiết bị cầm
tay (Handheld Operating
Systems)
▪ Sử dụng trên các PDA và
Smartphone
▪ Tùy chọn cho mỗi hệ thống khác
nhau tùy thuộc vào loại thiết bị
cầm tay
▪ các hệ điều hành dành cho thiết
bị cầm tay phổ biến: Symbian,
Windows Mobile, Palm, iOS,
Trang 17Các hệ điều hành hiện đại
❖Các hệ điều hành nhúng
(Embedded Operating Systems)
▪ Quản lý và điều khiển mọi hoạt động của các loạithiết bị cụ thể
▪ Khi thiết bị được khởi động, hệ điều hành nhúngđược tải lên bộ nhớ
▪ Được thiết kế để gắn chặt và được chuyên biệt cao
• Chúng chỉ bao gồm các chức năng cụ thể cho các thiết bị
cụ thể mà nó được phát triển
Trang 18Các khả năng và giới hạn của hệ điều hành
❖ Tên tập tin có thể dài đến 255 ký tự
▪ Trên PC, không có thể bao gồm \ /: * <>? | trong tên tập tin
▪ Trên Mac, không thể sử dụng dấu hai chấm trong tên tập tin
❖ Có thể mở nhiều chương trình cùng lúc
❖ Có thể tùy chỉnh cho phù hợp với sở thích cá nhân
❖ Máy tính độc lập (Stand-alone computer) - có thể cài đặt chương trình hoặc tải về các tập tin từ Internet
❖ Máy tính mạng (Networked computer) - có thể không
có đủ quyền để thực hiện một số tác vụ nhất định
19
Trang 19Các tính năng chung của hệ điều hành
❖ có thể duy trì các tài khoản riêng biệt cho mỗi người dùng, theo dõi các tài liệu và các thiết lập của mỗi người dùng và giữ cho tài khoản người dùng được bảo mật
❖ Khi bạn mở một máy tính chạy Windows 7 lần đầu tiên :
▪ Tài khoản người dùng của bạn không yêu cầu mật khẩu thì bạn sẽ được đăng nhập một cách tự động và màn hình Desktop sẽ xuất hiện
▪ Nếu sử dụng máy tính với nhiều tài khoản người dùng hoặc có yêu cầu mật khẩu, Windows sẽ hiển thị biểu tượng và bạn phải đăng nhập vào tài khoản của bạn bằng cách nhấp chuột vào biểu tượng tài khoản của bạn và nhập vào mật khẩu tương ứng
Trang 20Các tính năng chung của hệ điều hành
❖Cấp nguồn (Power On) / Tắt nguồn (Power Off)
▪ Khi máy tính khởi động lần đầu tiên, bấm nút
nguồn
• Máy tính vận hành một tập các chương trình tự chuẩn đoán để đảm bảo rằng phần cứng thiết yếu đang hoạt động bình thường và sau đó tải hệ điều hành lên bộ nhớ
▪ Không bao giờ tắt hệ thống đơn giản bằng ấn nútnguồn
• Luôn luôn sử dụng tùy chọn Shut Down hoặc Power Off của hệ điều hành
• Đảm bảo rằng các thay đổi bất kì bạn đã làm trên hệ thống đã được lưu lại đúng cách và các tập tin tạm không cần thiết sẽ bị xóa đi
Trang 21Các tính năng chung của hệ điều hành
❖ Khởi động máy tính
▪ công tắc nguồn được đặt ở phía
trước hoặc ở phía trên cùng thùng
máy
▪ Công tắc nguồn của màn hình
thường được đặt ở góc dưới bên
phải
▪ Một số hệ thống máy tính để bàn
chứa một nút khởi động lại (Reset)
▪ Vị trí của nút nguồn trên máy tính
xách tay sẽ thay đổi nhưng thường
là ở phía ngoài bên trái hoặc mặt
trước phía trên cùng của máy tính
Power Button
Reset Button
Trang 22Các tính năng chung của hệ điều hành
1 Đầu tiên bật tất cả mọi thứ kết nối đến khối hệ
▪ Hệ thống kiểm tra tất cả các thiết bị đang làm việc
▪ Sau đó bắt đầu tìm kiếm các tập tin của hệ điều
hành
23
Trang 23Các tính năng chung của hệ điều hành
❖Chuyện gì xảy ra ở phía sau?
▪ Quá trình bật máy tính và tải hệ điều hành được gọi
là khởi động (booting) máy tính
▪ Chip ROM-BIOS làm thủ tục khởi động có thể:
• Tải các lệnh lưu trữ trong ROM-BIOS vào bộ nhớ và thực thi các lệnh
• Máy tính tiến hành kiểm tra các thiết bị bên trong và bên ngoài của nó Qua trình này được gọi là quá trình tự
kiểm tra POST
• Chương trình BIOS kiểm tra và đếm bộ nhớ, sau đó máy
Trang 24Các tính năng chung của hệ điều hành
❖Chuyện gì xảy ra ở phía sau?
▪ Khi hệ điều hành được tải xong, Windows sẽ hiểnthị màn hình Chào mừng
▪ Nếu máy tính được kết nối
vào một mạng nội bộ hoặc
được thiết lập cho nhiều
Trang 25Các tính năng chung của hệ điều hành
❖ Thoát khỏi máy tính đúng cách
▪ Việc lưu các tập tin đang làm việc của bạn, đóng các chương trình đang mở, và đăng xuât hay tắt máy tính khi bạn làm việc xong là rất quan trọng
▪ Đừng bao giờ tắt máy tính của bạn mà không đóng các tập tin và các chương trình phần mềm đang mở đúng cách, luôn luôn tắt hoặc đăng xuất đúng cách
▪ Nhấp chuột vào nút Start để truy cập vào các tùy chọn
Shut Down
• máy tính sẽ đóng tất cả các tập tin đang mở, đóng tất cả các chương trình, thoát khỏi hệ điều hành và sau đó tắt hoàn toàn máy tính
Trang 26Các tính năng chung của hệ điều hành
❖Thoát khỏi máy tính đúng cách
Tắt Các tùy chọn
người dùng hiện tại, và trở về màn hình đăng nhập.
Lock Ẩn desktop đằng sau một màn hình đăng nhập cho đến khi
đăng nhập trở lại vào hệ thống.
27
Trang 27Các tính năng chung của hệ điều hành
❖Thoát khỏi máy tính đúng cách
Restart Đóng tất cả các mục đang mở và khởi động lại máy tính mà không cần
ngắt nguồn, còn được gọi là khởi động lại hoặc khởi động ấm Khởi động lại hệ thống theo cách này sẽ xóa bộ nhớ và tải lại hệ điều hành, nhưng hệ thống sẽ không thực hiện các bài kiểm tra tự chẩn đoán
Sleep màn hình sẽ tắt và thường quạt máy tính cũng dừng lại Đèn ở bên
ngoài các thùng máy có thể nhấp nháy hoặc chuyển sang màu vàng để chỉ ra rằng máy tính đang ngủ Windows đặt công việc và các thiết lập của bạn vào bộ nhớ và sau đó máy sẽ tiêu tốn một lượng rất nhỏ năng
lượng lệnh Sleep có thể xuất hiện là Standby.
Hibernate Chỉ có sẵn trên máy tính xách tay; bấm vào tùy chọn này để đặt một
máy tính xách tay vào một chế độ mà nó hoàn toàn không tiêu tốn điện năng Khi bạn nhấn nút nguồn trên một máy tính xách tay đang ngủ đông, hệ thống khởi động trở lại và lại tiếp tục về trạng thái trước khi
Trang 28Các tính năng chung của hệ điều hành
❖Luôn luôn để Windows hoàn thành qúa trình tắt hay khởi động lại đúng cách
❖Nếu có sự cố mất điệp áp gặp phải khi máy đang ở chế độ sleep hoặc standby, bạn sẽ bị mất những
thông tin chưa được lưu lại
❖Để tắt Standby và quay trở lại chế độ bình thường, chỉ cần di chuyển chuột hoặc nhấn một phím trên bàn phím
❖Để tắt chế độ Hibernate, hãy sử dụng nút Power
29
Trang 29❖Hệ thống làm việc của máy tính bao gồm 4 thành phần :
▪ Phần cứng (Hardware) – cung cấp các tài nguyên cơ bản
• CPU, memory, I/O devices
▪ Hệ điều hành (OS - Operating system)
• Trung gian điều khiển và bố trí việc sử dụng phần cứng cho các ứng dụng và đối tượng sử dụng
▪ Các chương trình ứng dụng (Application programs) – Các phần mềm phục vụ tác nghiệp của người sử dụng.
• Word processors, compilers, web browsers, database systems, video games
▪ Đối tượng sử dụng (Users):
Trang 304 lớp của hệ thống làm việc
của máy tính
34 slide 31
Trang 31Các định nghĩa khác
❖ OS là tài nguyên:
▪ Quản lý tất cả các tài nguyên khác
▪ Làm trung gian giữa những mâu thuẫn về hiệu năng của tài nguyên và sự sử dụng chúng một cách thuận tiện
❖ OS là chương trình điều khiển
▪ Điều khiển sự thực hiện các chương trình, ngăn ngừa
lỗi và sự sử dụng không thích hợp
❖ “Chương trình chạy trong toàn bộ thời gian hoạt động
của máy tính” đó chính là kernel Mọi chương trình
khác là chương trình hệ thống hoặc chương trình ứng
dụng
Trang 322 Quá trình phát triển của HĐH
❖Monitor đơn giản
Trang 333 Phân loại OS theo nguyên lý điều khiển
❖Hệ thống khung lớn (Mainframe Systems)
❖Hệ thống thời gian thực (Real – Time Systems)
❖Hệ thống cầm tay (Handheld Systems)
❖Môi trường tính toán
(Computing Environments)
Trang 343.1 Mainframe
Systems
a) Nguyên lý điều khiển theo lô đơn giản
❖Lô (batch) là tập hợp công việc được sắp thứ
tự
❖Chi phí cài đặt thấp bởi điều khiển đơn giản
Hàng đợi công việc tự động chuyển điều khiển
từ công việc này đến công việc khác.
❖Hạt nhân là bộ giám sát
▪ Khởi động công việc
▪ Điều khiển chuyển đổi công việc
▪ Khi công việc được hoàn thành việc điều khiển chuyển lại cho bộ giám sát
34 slide 35
Trang 35Sơ đồ bộ nhớ của một hệ thống theo
lô đơn giản (Simple Batch System)
Trang 36b) Hệ thống lô đa chương
(Multiprogramming Systems)
Multiprogramming có các khả năng:
▪ Một user đơn lẻ không được sử dụng CPU và
thiết bị I/O toàn thời gian
▪ Khi các công việc được tổ chức đa chương (code and data) thì CPU luôn luôn thực thi một trong nó
▪ Một tập con của tất cả các công việc được lưu trữ trong bộ nhớ
▪ Một trong những công việc đó được chọn và hoạt
động theo job scheduling
▪ Khi một công việc rơi vào trạng thái chờ (ví dụ chờ I/O), OS sẽ chuyển sang công việc khác
34 slide 37
Trang 37Hệ thống theo lô đa chương (Multiprogrammed Batch Systems)
Một vài công việc được lưu trữ trong bộ nhớ chính tại cùng môt thời
điểm, CPU phục vụ một trong những công việc đó
Trang 38Những đặc tính cần thiết để
Multiprogramming
❖Hệ thống cung cấp các chương trình điều
khiển I/O.
❖Quản trị bộ nhớ – hệ thống phải có khả
năng đinh vị trong bộ nhớ một vài chương
trình.
❖Lập lịch CPU – hệ thống phải lựa chọn
một vài công việc sẵn sàng để chạy.
❖Định vị các thiết bị.
34 slide 39
Trang 39c) Hệ thống chia sẻ thời gian
(Timesharing Systems)
❖ Timesharing (multitasking – đa nhiệm) là khái niệm mở rộng về mặt logic chỉ việc chuyển điều khiển giữa các
công việc thường xuyên đến mức các users tương tác
được đến mỗi công việc khi nó đang chạy, tạo ra máy
tính tương tác.
▪ Thời gian điều chuyển phù hợp < 1 second
▪ Mỗi user có ít nhất một chương trình trong bộ nhớ tiến
trình (process)
▪ Nếu một vài công việc sẵn sàng chạy tại cùng một thời
điểm CPU scheduling
▪ Nếu các tiến trình không đặt vừa trong bộ nhớ, swapping
sẽ được thực hiện.
Trang 413.3 Parallel Systems
❖Multiprocessor systems có nhiều CPU trong
một hệ thống liên lạc khép kín.
❖Tightly coupled system – các processor chia sẻ
bộ nhớ và đồng hồ xung; truyền tin luôn luôn thông qua bộ nhớ được chia sẻ.
❖Các lợi ích của parallel system:
▪ Gia tăng thông lượng truyền tin
▪ Kinh tế
▪ Gia tăng độ tin cậy
Trang 42Parallel Systems (Cont.)
(slave)
▪ Phổ biến trên những hệ thống lớn
34 slide 43
Trang 43Symmetric Multiprocessing
Architecture
Trang 44❖Các lợi ích của distributed systems.
▪ Chia xẻ tài nguyên
▪ Tăng tốc độ tính toán
▪ Đáng tin cậy
▪ Communications
34 slide 45
Trang 45Distributed Systems (tiếp)
❖Đòi hỏi cơ sở hạ tầng mạng máy tính.
❖Local area networks (LAN) hoặc Wide
area networks (WAN)
❖Có hai dạng hệ thống client-server hoặc hệ
thống peer-to-peer.
Trang 46Cấu trúc chung của Client-Server
34 slide 47
Trang 473.5 Clustered Systems
❖Tập hợp hai hoặc nhiều hệ thống có bộ lưu trữ
chia sẻ.
❖Cung cấp độ an toàn cao.
❖Asymmetric clustering: Một server chạy các ứng
dụng trong khi các server khác dự phòng.
❖Symmetric clustering: Tất cả N host đều chạy ứng
dụng.
Trang 483.6 Real-Time Systems
❖Luôn được sử dụng như những thiết bị
điều khiển trong những ứng dụng chuyên
biệt: Thí nghiệm khoa học, hệ mô phỏng y
học, điều khiển công nghiệp,
❖Phải hoàn thành công việc trong một thời
gian xác định cưỡng bức.
❖Hệ thống Real-Time có thể là hard hoặc
soft real-time.
34 slide 49
Trang 49Real-Time Systems (tiếp)
❖Hard real-time:
▪ Bộ lưu trữ thứ cấp có giới hạn hoặc không
có, dữ liệu được lưu trữ trong bộ nhớ nhỏ
hoặc trong ROM
▪ Trái ngược với hệ thống time-sharing và
không hỗ trợ các hệ điều hành đa năng
❖Soft real-time
▪ Sử dụng điều khiển các robot công nghiệp
▪ Sử dụng trong các ứng dụng multimedia,
thực tại ảo (virtual reality) đòi hỏi các tính
năng cao cấp của hệ điều hành
Trang 503.7 Handheld Systems
❖Personal Digital Assistants (PDAs)
❖Cellular telephones (điện thoại di động)
Trang 52• Thông qua các cổng và hệ thống từ xa truy nhập đền nguồn tài nguyên như nhau.
▪ Mạng gia đình
• Sử dụng các máy tính đơn, kết nối modem
• Không firewall, không kết nối mạng.
34 slide 53
Trang 53Computing Environments (tiếp)
client yêu cầu dịch vụ (chẳng hạn database)
File-server cung cấp giao diện cho client
lưu trữ và nạp tập tin
Trang 54Peer-to-Peer Computing
❖ Một mô hình khác của hệ thống phân tán.
❖ P2P không phân chia các máy thành client và server.
▪ Coi tất cả các nút đều có vai trò như nhau.
▪ Mỗi nút hoạt động như client, server hoặc đóng vai trò
cả hai.
▪ Mỗi nút phải kết nối bởi mạng P2P
• Đăng kí dịch vụ với một trung tâm tra cứu dịch vụ trên mạng,
• Quảng bá yêu cầu dịch vụ và đáp ứng các yêu cầu
dịch vụ theo giao thức discovery protocol
▪ Ví dụ: Napster và Gnutella
34 slide 55