Professional Documents
Culture Documents
Phần I.3 (Thêm cho SV CNTT) Giới hạn của máy tính
Phần I.3 (Thêm cho SV CNTT) Giới hạn của máy tính
underflow
overflow overflow
-¥ -b -a -0 +0 a b +¥
Số thực
Giới hạn về phần cứng
• Phần cứng bị lỗi, hỏng
• Các thiết bị vật lý có thể hỏng bất cứ lúc nào trong
quá trình sử dụng
VD. Ổ cứng hỏng, máy in hỏng, màn hình hỏng,…
• Luôn phải tính toán tới việc backup và khôi phục dữ
liệu
• Điện toán đám mây có thể giảm bớt rủi ro hỏng
hóc, tuy nhiên khi phần cứng hỏng vẫn có thể gây
ra các lỗi trên phạm vi rộng
• Server Amazon sập, khiến khách hàng không thể truy cập
server thuê từ nền tảng Cloud
• Server Google sập, nguời dùng không thể đăng nhập và gmail
hay sử dụng gmap
Giới hạn về phần cứng
• Lỗi trong thiết kế phần cứng bị phát hiện và
gần như KHÔNG thể khắc phục được
• Lỗi driver của ROM/BIOS
• Lỗi CPU với 2 lỗ hổng spectre, meltdown, và
BranchScope của CPU intel
• Lỗi bảo mật trên các CPU của Apple khiếm iphone
có thể bị jailbreak
Giới hạn về phần cứng
• Lỗi trên đường truyền dữ liệu
• Xảy ra do nhiều nguyên nhân có thể gặp khi truyền
trên đường truyền có dây hoặc không dây
• Phát hiện lỗi: dùng Parity Bits – bit chẵn lẻ, hoặc
dùng Check Digits, dùng hsdh như md5 làm
signature của data
• Phát hiện và sửa lỗi: Error-Correcting Codes hoặc
ECC
Giới hạn về phần mềm
• Liệu có thể viết một phần mềm mà KHÔNG thể
có lỗi?
Giới hạn về phần mềm
• Lỗi trong phần mềm: bug
• Quá trình sửa lỗi là debug
• Phát hiện lỗi thông qua: software testing
• Chúng ta chỉ tìm được lỗi hiện chứ KHÔNG thể
chứng minh được lỗi KHÔNG tồn tại trong phần
mềm
• Khi kiểm tra phần mềm, họ chỉ kiểm tra được trong
1 ngữ cảnh hẹp chứ không thể trong tất cả mọi
trường hợp sử dụng
• Một phần mềm đưa ra thị trường quá trình phát
hiện, sửa lỗi và nâng cấp luôn tiếp tục
Giới hạn về phần mềm
• Chu trình phát triển phần mềm
• Hai kỹ thuật dùng để kiểm thử
phần mềm lớn
• walk-throughs và inspections
• Phần mềm nguồn đóng và
xu thế phần mềm nguồn mở
• Nguồn mở: nhiều người tham gia vào
Giới hạn về phần mềm
• Một số vụ lỗi phần mềm gây ra tổn thất lớn
• NASA’s Mars Climate Orbiter
• Ariane 5 Flight 501
• EDS Child Support System
• Soviet Gas Pipeline Explosion
• Bitcoin Hack, Mt. Gox
• Heathrow Terminal 5 Opening
Gần đây nhất là Boeing 737 MAX
Ở VN: Lỗi trong quản lý giao dịch ngân hàng qua thẻ,
dẫn tới lỗ hổng KHÔNG trừ tiền khi thanh toán
Giới hạn về phần mềm
• Thời gian thực hiện phụ thuộc vào kích thước đầu vào
• Kích thước đầu vào: VD số lượng phần tử là
• Số lần thực hiện các lệnh (thời gian của thuật toán) thường là 1
hàm dạng đa thức của kích thước đầu vào n. Ví dụ
𝑇 𝑛 = 𝑛3 + 5𝑛2 + 100𝑛 + 60
• Đánh giá theo O-lớn (big O)
• Quan tâm đến yếu tố quyết định chính thời gian thực hiện.
VD. trong hàm 𝑇 𝑛 ở trên thì 𝑛3 là phần tử quyết định chính tới
độ lớn, ký hiệu 𝑂(𝑛3 ) và 5𝑛2 + 100𝑛 + 60 là các tham số ít
quan trọng khi n lớn
Giới hạn về phần mềm