You are on page 1of 99

1.

Giới thiệu chung


2. Phần cứng máy tính
3. Hệ điều hành
4. Phần mềm
5. Biểu diễn dữ liệu và số học máy tính
1. Giới thiệu chung

 Một số khái niệm:

Máy tính (computer): là thiết bị điện tử thực hiện công việc: nhận
thông tin vào  xử lý thông tin theo chương trình có trong bộ nhớ
máy tính  đưa thông tin ra.
Chương trình (program): dãy các câu lệnh trong bộ nhớ thực hiện
1 công việc nào đó.
Phần mềm (software): chương trình + dữ liệu
Phần cứng (hardware): các thành phần vật lý cấu thành hệ thống
máy tính
Firmware: các phần mềm nằm trong bộ nhớ chỉ đọc (ROM) của
phần cứng, điều khiển nội quan phần cứng.
1. Giới thiệu chung

 Phân loại máy tính

• Máy tính cá nhân (PC): là các máy tính thông dụng, phục vụ trực
tiếp cho người dùng cuối (end-user).
• Máy chủ (Server): hệ thống máy tính cung cấp các dịch vụ cơ bản
cho hệ thống mạng theo mô hình Server – Client. Có tốc độ, bộ nhớ
và độ tin cậy cao.
• Máy tính nhúng (Embedded Computer): là một hệ thống gồm bộ
vi xử lý và chương trình chuyên biệt đặt trong một thiết bị để điều
khiển.
1. Giới thiệu chung
Máy tính cá nhân:
Desktop Tablet PC
Laptop Netbook

Máy chủ: Máy tính nhúng

Modem ADSL
1. Giới thiệu chung
 Quá trính phát triển của máy tính:
 Thế hệ 1 (1946-1955): Máy tính dùng đèn chân không (Vacuum Tube): ENIAC
 Thế hệ 2 (1955-1965): Máy tính dùng transistor: TRANSAC S-2000
 Thế hệ 3 (1966-1980): Máy tính dùng mạch tích hợp IC (Integrated Circuit)
 Thế hệ 4 (1980-nay): Máy tính dùng mạch tích hợp cực lớn VLSI (Very Large
Scale Intergrated): Microprocessors
1. Giới thiệu chung

 Phân lớp hệ thống máy tính


1. Giới thiệu chung
2. Phần cứng máy tính
3. Hệ điều hành
4. Phần mềm
5. Biểu diễn dữ liệu và số học máy tính
2. Phần cứng máy tính

Các máy tính hiện nay được thiết kế dựa trên kiến trúc Von Neumann:

Interconnection
(Liên kết hệ thống):
kết nối truyền thông
CPU (Bộ xử lý giữa các thành phần Memory (Bộ nhớ):
trung tâm): điều chứa chương trình và
khiển hoạt động & dữ liệu đang được
xử lý số liệu xử lý

I/O Devices (Hệ thống xuất/nhập): trao


đổi thông tin bên ngoài – trong máy
2. Phần cứng máy tính

Bộ nhớ trong + CPU


= Bộ não con người
Các thiết bị vào
= Mắt + Tai + Lưỡi + Da + Mũi
Các thiết bị ra
= Miệng + Chân tay
Bộ nhớ ngoài
= Sách vở + Phim ảnh + Đĩa…
2. Phần cứng máy tính

Các máy tính hiện nay được thiết kế dựa trên kiến trúc Von Neumann:

Interconnection
(Liên kết hệ thống):
kết nối truyền thông
CPU (Bộ xử lý giữa các thành phần Memory (Bộ nhớ):
trung tâm): điều chứa chương trình và
khiển hoạt động & dữ liệu đang được
xử lý số liệu xử lý

I/O Devices (Hệ thống xuất/nhập): trao


đổi thông tin bên ngoài – trong máy
2. Phần cứng máy tính - CPU

 Chức năng: điều khiển hoạt động & xử lý dữ liệu (phép toán số học
và logic)
 Hoạt động: theo chương trình trong bộ nhớ chính
 Cấu trúc:

RF BIU ALU

CU
2. Phần cứng máy tính - CPU
 Cấu trúc (tt):
• Đơn vị điều khiển (CU- Control Unit): điều khiển hoạt động
theo chương trình đã định sẳn.
• Đơn vị số học & logic (ALU- Arithmetic and Logic Unit):
thực hiện phép toán số học, logic, quan hệ trên dữ liệu nhị phân.
• Tập thanh ghi (RF- Register File): lưu giữ thông tin tạm thời
trong quá trình hoạt động tính toán
• Đơn vị nối ghép (BUI- Bus Interface Unit): kết nối và trao đổi
thông tin trong ngoài CPU
2. Phần cứng máy tính - CPU

 Tốc độ CPU:
- CPU hoạt động theo xung nhịp (clock) có tần số xác định.
- Tần số xung nhịp: f = 1/T; T là chu kỳ xung nhịp.
- Bộ xử lý chạy càng nhanh → tần số xung f càng lớn → T càng nhỏ
hay mỗi thao tác thực hiện (giả sử cần: k.T giây) càng ngắn.
VD: Máy tính Pentium Core 2 Duo tốc độ 2.66GHz
→ T = 1/(2.66.109) = 0.38ns
2. Phần cứng máy tính - CPU

1. Đơn vị số học & logic (ALU): thực hiện

- Phép toán số học: cộng, trừ, nhân, chia, tăng, giảm, đảo…
- Phép toán logic: AND, OR, NOT, XOR, dịch bit…
- Phép toán quan hệ: bằng, lớn hơn, nhỏ hơn.
2. Phần cứng máy tính - CPU

2. Tập thanh ghi (RF):


- Là vùng nhớ tạm thời của CPU có tốc độ truy xuất cực nhanh
- Số lượng tuỳ thuộc vào bộ CPU → ảnh hưởng đến hiệu năng CPU
- Gồm các loại:
+ Thanh ghi địa chỉ: quản lý địa chỉ ngăn nhớ hay cổng xuất/nhập
+ Thanh ghi dữ liệu: lưu dữ liệu tạm thời
+ Thanh ghi đa năng: có thể chứa cả địa chỉ & dữ liệu
+ Thanh ghi điều khiển / trạng thái: chứa thông tin trạng thái CPU
+ Thanh ghi lệnh: chứa lệnh đang được thực hiện.
2. Phần cứng máy tính - CPU

2. Tập thanh ghi (tt): Một số thanh ghi điển hình:

+ Bộ đếm chương trình (PC): luôn trỏ và địa chỉ lệnh tiếp theo;
sau khi lệnh trong thanh ghi lệnh được thực hiện, PC tăng lên 1 để
trỏ vào lệnh tiếp theo.
+ Thanh ghi tổng: lưu các kết quả tính toán và địa chỉ .
+ Thanh ghi cờ: lưu thông tin liên quan đến trạng thái tính toán (âm
dương, bằng 0, tràn…)
2. Phần cứng máy tính - CPU

3. Tập lệnh:

- Mỗi bộ VXL có tập lệnh xác định (từ vài chục đến vài nghìn lệnh)
- Mỗi lệnh là 1 chuỗi nhị phân mà bộ VXL có thể phân tích và hiểu
được.
- Các chuỗi nhị phân này được ánh xạ ra thành các ký lệnh: ADD,
SUB, MUL, DIV, MOV, IN, OUT, SET, CLEAR, LOAD… (lập
trình Assembly)
- Thành phần 1 lệnh gồm: mã thao tác + địa chỉ
2. Phần cứng máy tính - CPU

4. Đơn vị điều khiển (CU): các thông tin nối kết đến CU:
- Clock: tín hiệu xung nhịp từ mạch tạo dao động
- Mã lệnh từ thanh ghi đưa đến CU giải mã
- Các trạng thái cờ: cho biết trạng thái CPU & trạng thái thực hiện
các phép toán trong ALU
- Tín hiệu điều khiển từ BIU: bên trong: điều khiển thanh ghi, ALU;
bên ngoài: lấy thông tin / chuyển vào bộ nhớ
2. Phần cứng máy tính

Cấu trúc máy tính được thiết kế dựa trên kiến trúc Von Neumann:

Memory (Bộ nhớ):


chứa chương trình và
dữ liệu đang được
xử lý
2. Phần cứng máy tính – Bộ nhớ

 Chức năng: lưu trữ chương trình & dữ liệu


 Hoạt động: đọc và ghi (read & write)
 Cấu trúc:

Bộ nhớ trong Bộ nhớ ngoài


2. Phần cứng máy tính – Bộ nhớ

1. Bộ nhớ trong:
- Có thể trao đổi thông tin trực tiếp với CPU
- Tốc độ đọc ghi rất nhanh
- Dung lượng không lớn bằng bộ nhớ ngoài
- Gồm:
+ Bộ nhớ đệm (cache memory): tốc độ rất cực nhanh, đặt đệm giữa
CPU và bộ nhớ chính nhằm tăng độ độ truy xuất; Dung lượng nhỏ
hơn bộ nhớ chính; Thường được tích hợp luôn vào trong bộ VXL.
+ Bộ nhớ chính (primary memory): chứa chương trình đang được sử
dụng bởi CPU; gồm bộ nhớ RAM & ROM.
2. Phần cứng máy tính – Bộ nhớ

Bộ nhớ RAM (Random Access Memory)


- Là bộ nhớ cho phép đọc và ghi được.
- Dữ liệu bị mất khi tắt máy.
- Chia thành: RAM động (Dynamic RAM) & RAM tĩnh (Static
RAM)
+ DRAM: cấu tạo bởi các tụ điện (nạp=1; xả =0); có khả năng lưu
trữ cao và giá thành thấp tuy nhiên do tụ phóng điện sau 1 khoảng
thời gian nên cần phải nạp lại thông tin (quá trình làm tươi RAM).
Gồm: SDRAM (Synchronous DRAM): Tốc độ hoạt động chậm hơn
nhiều tốc độ bộ VXL.
Và: DDRAM (Double Data Rate Synchronous DRAM): Tốc độ
hoạt động cao hơn.
+ SRAM: cấu tạo bởi mạch flip-flop (là các transistors) nên không
cần làm tươi RAM; tốc độ và giá thành cao; dùng làm các thanh ghi.
2. Phần cứng máy tính – Bộ nhớ

Bộ nhớ ROM (Read-only Memory)


- Là bộ nhớ chỉ cho phép đọc .
- Dữ liệu không bị mất khi tắt máy.
- Chia thành: Mask ROM & ROM lập trình được
+ Mask ROM: được ghi bởi nhà sản xuất, người dùng không thể
ghi thêm.
+ ROM lập trình được: PROM (dữ liệu chỉ được ghi 1 lần);
EPROM (dữ liệu có thể được xóa bằng tia UV và ghi lại);
EEPROM (dữ liệu được xóa đi bằng dòng điện; ứng dụng: Ổ Flash
USB)
2. Phần cứng máy tính – Bộ nhớ

2. Bộ nhớ ngoài:
- Dùng để lưu trữ các dữ liệu lớn (vài trăm GB)
- Được kết nối với hệ thống như thiết bị vào ra
- Tốc độ truy cập chậm hơn.
- Gồm các loại:
+ Bộ nhớ từ: đĩa cứng, đĩa mềm…
+ Bộ nhớ quang: CD, VCD, DVD…
+ Bộ nhớ bán dẫn: Memory card…
- Dùng làm thiết bị trung gian để trao đổi thông tin giữa máy tính
với các thiết bị bên ngoài.
2. Phần cứng máy tính – Bộ nhớ

2. Cấu trúc một số bộ nhớ ngoài :


- Đĩa từ:
track:

kiểu ghi cung từ (sector)


2. Phần cứng máy tính – Bộ nhớ

2. Cấu trúc một số bộ nhớ ngoài :


- Đĩa từ: thời gian truy cập = thời gian tìm + thời gian kiếm + thời
gian truyền dữ liệu
2. Phần cứng máy tính – Bộ nhớ

2. Cấu trúc một số bộ nhớ ngoài :


- Đĩa quang:
2. Phần cứng máy tính – Bộ nhớ

3. So sánh dung lượng và tốc độ giữa bộ nhớ trong & ngoài:


2. Phần cứng máy tính

Cấu trúc máy tính được thiết kế dựa trên kiến trúc Von Neumann:

I/O Devices (Hệ thống xuất/nhập): trao


đổi thông tin bên ngoài – trong máy
2. Phần cứng máy tính – Hệ thống xuất nhập
2. Phần cứng máy tính – Hệ thống xuất nhập

1. Thiết bị ngoại vi (peripherals):

 Chức năng: chuyển đổi thông tin bên ngoài thành dữ liệu máy tính
và ngược lại
 Bao gồm:
+ Thiết bị vào: thiết bị dùng để cung cấp dữ liệu cho máy tính
+ Thiết bị ra: thiết bị dùng để xuất dữ liệu, kết quả tính toán ra
ngoài.
+ Thiết bị nhớ
+ Thiết bị truyền thông
2. Phần cứng máy tính – Hệ thống xuất nhập

1. Thiết bị ngoại vi (peripherals) (tt):


2. Phần cứng máy tính – Hệ thống xuất nhập

1. Thiết bị ngoại vi (peripherals) (tt):


2. Phần cứng máy tính – Hệ thống xuất nhập

2. Module xuất nhập (I/O):

 Chức năng: ghép nối thiết bị ngoại vi với máy tính.


 Cấu trúc:
Mỗi module có thể gồm 1 hay nhiều cổng vào ra.
Mỗi cổng được gán địa chỉ xác định (COM, LPT, USB, VGA, PS2,
RS232)
 Phân loại:
- Giao diện nối tiếp (serial)
- Giao diện song song (parallel)
2. Phần cứng máy tính – Hệ thống xuất nhập

2. Module xuất nhập (I/O) (tt):


Giao diện nối tiếp Giao diện song song
Dữ liệu: truyền theo từng bit nối tiếp truyền song song bằng đường 8/16 bit
Tốc độ truyền chậm Tốc độ truyền nhanh hơn
Chỉ cần có một kênh truyền Cần có nhiều kênh truyền
Không có tín hiệu trễ Dễ bị nhiễu xuyên kênh
Có thể truyền với khoảng cách xa Truyền với khoảng cách trung bình
Giá thành duy trì các kênh truyền Giá thành duy trì các kênh truyền cao
thấp hơn hơn
VD: RS-232C, USB (Universal Serial VD: Centronics (8 bit, 1 chiều), SCSI
Bus), IEEE1394, IrDA (Small Computer Systems Interface)
(8 bit, 2 chiều), GPIB (General
Purpose Interface Bus), (8 bit, 2
chiều)
2. Phần cứng máy tính

Cấu trúc máy tính được thiết kế dựa trên kiến trúc Von Neumann:

Interconnection
(Liên kết hệ thống):
kết nối truyền thông
giữa các thành phần
2. Phần cứng máy tính – Liên kết hệ thống

1. BUS:
 Chức năng: Là tập hợp các dây dẫn dùng để chuyển thông tin từ
thành phần này đến thành phần khác trong máy tính.
 Phân loại:
2. Phần cứng máy tính – Liên kết hệ thống

1. BUS (tt):
 Phân loại:
- BUS địa chỉ: nối CPU đến bộ nhớ / module xuất nhập → xác định
ngăn nhớ / cổng cần truy xuất để trao đổi thông tin (BUS 1 chiều)
Nếu BUS có n đường thì có thể quản lý được 2n ngăn nhớ.
2. Phần cứng máy tính – Liên kết hệ thống

1. BUS (tt):
- BUS điều khiển: nối từ bộ điều khiển (CU) đến bộ nhớ / module
xuất nhập → điều khiển và cung cấp tín hiệu xung nhịp clock (BUS
1 chiều)
2. Phần cứng máy tính – Liên kết hệ thống

1. BUS (tt):
- BUS dữ liệu: nối giữa CPU với bộ nhớ, cổng xuất nhập → truyền
dữ liệu giữa các thành phần (BUS 2 chiều)
Nếu BUS có m đường thì có thể trao đổi đồng thời được m bit.
2. Phần cứng máy tính – Liên kết hệ thống

2. Phương pháp điều khiển:


- Điều khiển trực tiếp: CPU điều khiển trực tiếp thiết bị ngoại vi
tại cổng xuất / nhập → CPU không thực hiện được công việc khác
cho đến khi quá trình điều khiển ra / vào hoàn thành.
- Điều khiển bằng DMA: việc trao đổi dữ liệu được thực hiện giữa
bộ nhớ và thiết bị ngoại vi. Trong lúc đó CPU có thể thực hiện
được công việc khác.
1. Giới thiệu chung
2. Phần cứng máy tính
3. Hệ điều hành
4. Phần mềm
5. Biểu diễn dữ liệu và số học máy tính
3. Hệ điều hành

 Hệ điều hành là gì?


Chương trình trung gian giữa phần Người dùng
cứng và người sử dụng;
có chức năng điều khiển phần cứng
và cung cấp các dịch vụ cơ bản cho
các ứng dụng.
Các ứng dụng
 Mục tiêu?
- Giúp người dùng dễ dàng sử dụng Hệ Điều Hành
hệ thống.
- Quản lý và cấp phát tài nguyên hệ Phần cứng
thống hiệu quả.
3. Hệ điều hành

From “Operating System Concepts with Java”, Silberschatz et al., 2004


3. Hệ điều hành

 Chức năng cụ thể của HĐH


 Phân chia thời gian xử lý trên
CPU (định thời)
 Quản lý tài nguyên hệ thống
hiệu quả
 Phối hợp và đồng bộ hoạt động
giữa các quá trình
 Kiểm soát quá trình truy cập,
bảo vệ hệ thống
 Duy trì sự nhất quán của hệ
thống, kiểm soát lỗi và phục hồi
hệ thống khi có lỗi xảy ra.
 Cung cấp giao diện làm việc
thuận tiện cho người dùng
3. Hệ điều hành

 Trong máy tính lớn (mainframes)


1. Xử lý bó (batch)
2. Đa chương (multiprogrammed)
3. Đa nhiệm (time-sharing, multitasking)
1. Batch systems
- I/O: card đục lỗ, băng từ (tapes), line printer
- Cần có người vận hành (user  operator)
- Giảm setup time bằng cách ghép nhóm công việc (batching)
- Tự động nạp lần lượt các chương trình
3. Hệ điều hành

2. Multiprogrammed systems
- Nhiều công việc được nạp đồng thời vào bộ nhớ
chính
- Thời gian xử lý của CPU được phân chia giữa các
công việc
- Tận dụng thời gian rảnh, tăng hiệu suất sử dụng CPU
(CPU utilization)

 Yêu cầu đối với hệ điều hành


• Định thời công việc (job scheduling): chọn job và
nạp nó vào bộ nhớ để thực thi.
• Định thời CPU (CPU scheduling)
• Quản lý bộ nhớ
• Cấp phát tài nguyên: đĩa, máy in,…
• Bảo vệ
3. Hệ điều hành
3. Hệ điều hành

3. Time-sharing systems
Multiprogrammed systems không cung cấp khả năng tương tác hiệu quả
với users
- CPU luân phiên thực thi giữa các công việc
+ Mỗi công việc được chia một phần nhỏ thời gian CPU
+ Cung cấp tương tác giữa user và hệ thống với thời gian đáp ứng
(response time) nhỏ (vài phần s)
- Một công việc chỉ được chiếm CPU khi nằm trong bộ nhớ chính.
- Khi cần, 1 công việc nào đó được chuyển từ bộ nhớ chính ra thiết bị lưu
trữ (swapping), nhường bộ nhớ chính cho công việc khác.

 Yêu cầu đối với hệ điều hành


• Định thời công việc (job scheduling)
• Quản lý bộ nhớ (memory management): Virtual memory
• Quản lý các quá trình (process management)
• Quản lý hệ thống file, hệ thống lưu trữ
• Cấp phát hợp lý các tài nguyên
• Bảo vệ (protection)
3. Hệ điều hành

 Trong máy tính để bàn (desktop)


- Nhiều thiết bị I/O: bàn phím, chuột, màn hình, máy in,...
- Phục vụ người dùng đơn lẻ.

 Yêu cầu của của HĐH:


- Ưu tiên sự thuận tiện cho user và khả năng tương tác cao.
- Tối ưu hiệu suất sử dụng CPU và thiết bị ngoại vi.
- Nhiều hệ điều hành khác nhau (MS Windows, Mac OS, Solaris,
Linux,...)
3. Hệ điều hành

Hệ thống song song (parallel, tightly-coupled system)


- Nhiều CPU
- Chia sẻ computer bus, clock
- Ưu điểm:
+ Thông lượng xử lý gia tăng: càng nhiều processor thì càng nhanh xong công
việc
+ Tính kinh tế: vì có thể dùng chung tài nguyên (đĩa,…)
+ Độ tin cậy: khi một processor hỏng thì công việc của nó được chia sẻ giữa
các processor còn lại
- Phân loại hệ thống song song
+ Đa xử lý đối xứng (symmetric multiprocessor - SMP)
Mỗi processor vận hành một bản sao của hệ điều hành
Copy các bản sao với nhau khi cần
+ Đa xử lý bất đối xứng (asymmetric multiprocessor)
Mỗi processor thực thi một công việc khác nhau
Master processor định thời và phân công việc cho các slave processors
3. Hệ điều hành
Hệ thống phân bố (distributed system, loosely-coupled system)
- Mỗi processor có bộ nhớ riêng, các processor giao tiếp qua các kênh nối như:
mạng, bus tốc độ cao...
- Người dùng chỉ thấy một hệ thống đơn nhất
- Ưu điểm
+ Chia sẻ tài nguyên (resource sharing)
+ Chia sẻ sức mạnh tính toán (computational sharing)
+ Độ tin cậy cao (high reliability)
+ Độ sẵn sàng cao (high availability): các dịch vụ của hệ thống được cung cấp liên
tục cho dù một thành phần hardware trở nên hỏng
- Các mô hình hệ thống phân bố
+ Client-server: cung cấp dịch vụ & sử dụng dịch vụ
+ Peer-to-peer (P2P)
3. Hệ điều hành
+ Peer-to-peer (P2P) sharing file: Bittorrent, uTorrent, BitComet, Azureus…
Torrent search engine: http://www.torrentz.com/; http://thepiratebay.org/
3. Hệ điều hành

Hệ thống thời gian thực (real-time system)


- Sử dụng trong các thiết bị chuyên dụng như: kiểm soát các
tiến trình trong nhà máy, điện hạt nhân, điều khiển máy bay,
điều khiển màn hình hiển thị giờ...) virtual reality
- Ràng buộc về thời gian cho ra kết quả.
Phân loại
+ Hard real-time
Hạn chế (hoặc không có) bộ nhớ phụ, tất cả dữ liệu nằm
trong bộ nhớ chính (RAM hoặc ROM)
Yêu cầu về thời gian đáp ứng/xử lý rất nghiêm ngặt,
thường sử dụng trong điều khiển công nghiệp,
robotics,…
+ Soft real-time
Thường được dùng trong lĩnh vực multimedia, virtual
reality với yêu cầu mềm dẻo hơn về thời gian đáp ứng
3. Hệ điều hành

Hệ thống cầm tay (handheld system)


- Personal digital assistant (PDA): Palm, Pocket-PC
- Điện thoại di động (cellular phones)
- Đặc trưng:
+ Bộ nhớ nhỏ (512 KB – 128 MB)
+ Tốc độ processor thấp (để ít tốn pin)
+ Màn hình hiển thị có kích thước nhỏ và độ phân giải thấp.
+ Có thể dùng các công nghệ kết nối như IrDA, BlueTooth, wireless
3. Hệ điều hành

 Các thành phần của HĐH


Quản lý quá trình (process management)
Quản lý bộ nhớ chính
Quản lý file (file management)
Quản lý hệ thống I/O (I/O system management)
Quản lý hệ thống lưu trữ thứ cấp (secondary storage management)
Hệ thống bảo vệ
3. Hệ điều hành
 Các thành phần của HĐH
1. Quản lý quá trình (process management)
- Quá trình: chương trình / tác vụ đang được thực thi
- Một quá trình cần các tài nguyên của hệ thống như CPU, bộ nhớ, file, thiết bị
I/O,… để hoàn thành công việc.
- Các nhiệm vụ của HĐH:
+ Tạo và hủy quá trình
+ Tạm ngưng/tiếp tục thực thi (suspend/resume) quá trình

2. Quản lý bộ nhớ chính (memory management)


- Để có hiệu suất sử dụng CPU và thời gian đáp ứng tốt, hệ điều hành cần dùng giải
thuật quản lý bộ nhớ thích hợp
- Các nhiệm vụ của HĐH:
+ Theo dõi, quản lý các vùng nhớ trống và đã cấp phát
+ Quyết định sẽ nạp chương trình nào khi có vùng nhớ trống
+ Cấp phát và thu hồi các vùng nhớ
3. Hệ điều hành
 Các thành phần của HĐH (tt)
3. Quản lý file (File management)
- Hệ thống file (file system): File, Thư mục
- Các dịch vụ mà HĐH cung cấp:
+ Tạo và xoá file/thư mục.
+ Các tác vụ xử lý file/thư mục (rename, copy, move…)
+ Ánh xạ file/thư mục vào thiết bị lưu trữ thứ cấp tương
ứng
+ Sao lưu và phục hồi dữ liệu

4. Quản lý hệ thống xuất nhập (I/O management)


- Cơ chế: buffering (vùng đệm), caching (vùng nhớ
nhanh), spooling (vùng chứa)
- Trình điều khiển thiết bị (device-driver) cho mỗi chủng
loại thiết bị phần cứng khác nhau.
3. Hệ điều hành
 Các thành phần của HĐH (tt)
5. Quản lý hệ thống lưu trữ thứ cấp (secondary storage management)
– Bộ nhớ chính: kích thước nhỏ, là môi trường chứa tin không bền vững
→ cần hệ thống lưu trữ thứ cấp để lưu trữ bền vững các dữ liệu, chương
trình.
– Phương tiện lưu trữ thông dụng: đĩa từ, đĩa quang
– Nhiệm vụ của thành phần: Quản lý vùng trống (free space
management), Cấp phát không gian lưu trữ (storage allocation), Định
thời đĩa (disk scheduling)

6. Hệ thống bảo vệ
– Kiểm soát quá trình người dùng đăng nhập/xuất và sử dụng hệ thống
– Bảo đảm chỉ những người dùng/quá trình đủ quyền hạn mới được phép
sử dụng các tài nguyên tương ứng
– Các nhiệm vụ của HĐH:
+ Cung cấp cơ chế kiểm soát đăng nhập/xuất (login, log-out)
+ Phân định được sự truy cập tài nguyên hợp pháp và bất hợp pháp
(authorized/unauthorized)
1. Giới thiệu chung
2. Phần cứng máy tính
3. Hệ điều hành
4. Phần mềm
5. Biểu diễn dữ liệu và số học máy tính
4. Phần mềm

 Phần mềm là gì?


Phần mềm = Chương trình + dữ Người dùng
liệu = tập các câu lệnh + dữ liệu

Thuộc tính: Các ứng dụng


- Khả năng bảo trì
- Khả năng tin cậy Hệ Điều Hành
- Độ hữu hiệu ~ nguồn tài nguyên
- Khả năng sử dụng ~ người dùng Phần cứng
4. Phần mềm

 Phân loại:
- Sản phẩm tổng quát (Generic Product): được bán cho bất kỳ
khách hàng nào có khả năng tiêu thụ.
- Sản phẩm chuyên ngành (Bespoke Product): được phát triển một
cách đặc biệt cho khách hàng qua các hợp đồng.

syngo® (Siemens)
4. Phần mềm

 Công nghệ phần mềm (software engineering): là quá trình kỹ


nghệ gồm 3 mặt:
1. Thủ tục (procedures)
2. Phương pháp (methods)
3. Công cụ (tools)
1. Thủ tục:
- Xác định yêu cầu/nhu cầu
người dùng
- Xác định cách thức thực hiện
- Xác định trình tự thực hiện
- Định các mốc thời gian
(milestones) thực hiện
4. Phần mềm
2. Phương pháp:
- Cách làm cụ thể để xây dựng phần mềm
- Mỗi công đoạn làm phần mềm có các phương pháp riêng:
+ Phương pháp phân tích
+ Phương pháp thiết kế
+ Phương pháp lập trình
+ Phương pháp kiểm thử

3. Công cụ:
- Cung cấp sự trợ giúp tự động / bán tự động cho từng phương pháp
- Computer Aided Software Engineering –CASE- các công cụ phần mềm
được chuẩn hóa để trợ giúp các công đoạn khác nhau trong quá trình phát
triển
+ Compiler, debugger
+ Hỗ trợ phân tích, thiết kế (Rwin, Modeler, Oracle Designer, Rational
Rose,...)
4. Phần mềm

 Phần mềm mã nguồn mở (Open Source Software):


- Phần mềm được cung cấp miễn phí cả mã (file thực thi - excutable)
và nguồn (source)
- Người dùng có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một
số nguyên tắc chung (General Public Licence - GPL)
- Ví dụ: Firefox, OpenOffice, Thunderbird, phpBB, Joomla, VLC
Media Player...

 Phần mềm thương mại (Commercial Software):


- Phần mềm chỉ được cung cấp file cài đặt (installer).
- Người dùng phải mua và không có quyền phân phối lại.
- Ví dụ: Microsoft Office, Windows Media Player, Photoshop, Nero,
Maple, Matlab...
4. Phần mềm

 Phần mềm miễn phí (Free Software):


- Phần mềm được cung cấp miễn phí file cài đặt (file installer).
- Người dùng có quyền phân phối tự do nhưng không được sửa đổi
- Ví dụ: GIMP, foobar2000, Winamp, TeamViewer, ImgBurn, Adobe
Reader…

 Phần mềm chia sẻ (Shareware Software):


- Phần mềm chỉ được cung cấp miễn phí file cài đặt (file installer).
Phiên bản này bị lượt bỏ đi một số tính năng cao cấp mà chỉ có trong
bản full.
- Khuyến khích người dùng mua để sài được cái tính năng cao cấp
hơn.
- Ví dụ: Folder Lock, TuneUp, Winzip...
4. Phần mềm

 Phần mềm trực tuyến (Webware Software):


- Phần mềm được cung cấp miễn phí, sử dụng trực tuyến trên mạng
internet.
- Ưu: miễn phí, tiện lợi, có thể dùng ở bất cứ đâu có mạng
- Nhược: gặp hạn chế khi xử lý với các file dữ liệu lớn.
- Ví dụ:
Kaspersky Online Virus Scanner: http://www.kaspersky.com/virusscanner
Virustotal http://www.virustotal.com/
Adobe Photoshop Express: https://www.photoshop.com/
Yahoo! Mail http://mail.yahoo.com
Picnik http://www.picnik.com/
Meebo http://www.meebo.com/
Facebook http://www.facebook.com
5. Biểu diễn dữ liệu & số học máy tính

1. Chuyển đổi cơ số:

 Số nhị phân
 Được biểu diễn bằng 2 giá trị 0; 1
 Trong máy tính biểu diễn bằng trạng thái điện áp cao
hoặc điện áp thấp; trạng thái có dòng điện hay không có
dòng
 Bit: là một chữ số nhị phân biểu diễn được 2 trạng thái
là 0 hoặc 1.
 Byte: Gồm 8 bit biểu diễn được 28 = 256 trạng thái →
bảng mã ASCII (American Standard Code for Information
Interchange)
5. Biểu diễn dữ liệu & số học máy tính
ASCII Table
5. Biểu diễn dữ liệu & số học máy tính
Extented ASCII Table
5. Biểu diễn dữ liệu & số học máy tính

 Số hệ 16 (hexadecimal)
 Được biểu diễn bằng 16=24 giá trị: 0-9, A-F
 Một c/số hex có thể biểu diễn 4 c/số nhị phân
5. Biểu diễn dữ liệu & số học máy tính

 Cơ số và trọng số
 Cơ số 10:
 21998=2*104+1*103+9*102+9*101+8*100

 Cơ số 2:
 11111001110=210+29+28+27+26+23+22+21
5. Biểu diễn dữ liệu & số học máy tính

 Chuyển từ thập phân sang nhị phân


 Chuyển phần nguyên
 D0=BmBm-1…B0=Bm*2m+Bm-1*2m-1 +…+B0*20
→ D1=D0/2=Bm*2m-1+Bm-1*2m-2 +…+B1*20 và dư B0
→ D2=D1/2=Bm*2m-2+Bm-1*2m-1 +…+B2*20 và dư B1
… cho đến khi kết quả bằng 0 và chỉ còn dư Bm
5. Biểu diễn dữ liệu & số học máy tính

 Chuyển từ thập phân sang nhị phân (tt)


 Chuyển phần phân
 D0=0.B-1B-2…B-m=B-1*2-1+B-2*2-2 +…+B-m*2-m
→ D1=D0*2=B-1 + (B-2*2-1 +…+B-m*2-m+1 )
→ D2=D1*2=B-2 + (B-3*2-1 +…+B-m*2-m+2)
… cho đến khi kết quả bằng 1
5. Biểu diễn dữ liệu & số học máy tính

 Chuyển từ nhị phân sang thập phân


 Thực hiện bằng cách cộng các trọng số của các bit 1 trong số nhị phân
Ví dụ:
(1.101) 2

2 0 +2 -1 + 2 -3  Weight
  
1 + 0.5 + 0.125 = (1.625) 10
5. Biểu diễn dữ liệu & số học máy tính

 Một số lưu ý:
 Chuyển số thập phân vô hạn tuần hoàn sang nhị phân:
– Biểu diễn nó dưới dạng phân số
– Chuyển phân số này ra dạng nhị phân
 Chuyển số nhị phân vô hạn tuần hoàn sang thập phân:
– Dịch vị trí của dấu nhị phân 2 lần (bằng cách nhân với lượng 2n)
sao cho phép trừ giữa chúng chỉ còn phần nguyên
– Chuyển phần nguyên này ra dạng thập phân
– Chia số thập phân này lại với lượng đã nhân.
5. Biểu diễn dữ liệu & số học máy tính

 Chuyển đổi từ nhị phân sang thập lục phân


 Do 4 c/số nhị phân tương đương với một c/số hexa
 Trong phần nguyên số nhị phân được chia làm các
nhóm với 4 c/số bắt đầu từ bit có nghĩa thấp nhất
 Trong phần phân số nhị phân được chia làm các nhóm
với 4 c/số bắt đầu từ dấu phẩy
5. Biểu diễn dữ liệu & số học máy tính

 Chuyển từ thập lục phân sang nhị phân


 Ta thay một chữ số trong hệ thập lục phân thành 4 chữ
số trong hệ nhị phân
5. Biểu diễn dữ liệu & số học máy tính

 Chuyển từ thập phân sang bát phân


 Tương tự sang nhị phân nhưng thay 2 bằng 8
 Chuyển từ thập phân sang thập lục phân
 Tương tự sang nhị phân nhưng thay 2 bằng 16

 Chuyển từ nhị phân sang bát phân


 Tương tự sang thập lục phân nhưng thay việc “nhóm 4”
bằng “nhóm 3”
 Chuyển từ bát phân sang thập lục phân
 Chuyển thông qua nhị phân
5. Biểu diễn dữ liệu & số học máy tính
Bin

“Nhóm 3” 2n /*2 “Nhóm 4”

Dec
8n 16n
/*8 /*16
Oct Hex

Dec → Bin, Oct, Hex Bin, Oct, Hex → Dec Oct → Bin → Hex
convert(d,octal) convert(d, decimal,octal) convert([…],base,i
Maple: nput, output)
convert(d,hex) convert(d, decimal, hex)
[.,.,.,.]: đảo ngược chuỗi
convert(d,binary) convert(d, decimal, binary) số; đọc ngược kết quả

Matlab: dec2bin; bin2dec; dec2hex; hex2dec…


5. Biểu diễn dữ liệu & số học máy tính

Ứng dụng:
- Cơ số 10: hệ thống số chuẩn dùng trong đời sống
hằng ngày.
- Cơ số 2: hệ thống số chuẩn dùng trong kỹ thuật số
(máy tính, thiết bị điện tử số…)
- Cơ số 16: biểu diễn mã màu trong 1 số ngôn ngữ
lập trình, đĩa chỉ ô nhớ, biểu diễn ký tự unicode đặc
biệt trong các địa chỉ web (vd:
vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh), địa chỉ IP…
- Cơ số 8: đôi khi sử dụng trong máy tính thay cho
cơ số 16 khi không biểu diễn được các chữ cái của
hệ 16.
5. Biểu diễn dữ liệu & số học máy tính

2. Biểu diễn số nhị phân:


 Biểu diễn bằng “giá trị tuyệt đối”
– Bit cao nhất được sử dụng làm bit dấu
– Số dương biểu diễn bởi 0; Số âm biểu diễn
bởi 1
– Các bit còn lại biểu diễn giá trị (tuyệt đối)
– Khoảng biểu diễn (-(2n-1-1), 2n-1-1)
– Hệ quả: có 2 số 0 là số 0 dương (+0) và số
không âm (-0)
5. Biểu diễn dữ liệu & số học máy tính

 Biểu diễn bằng “số bù 1”


– Số dương: vẫn như cũ
– Số âm: đảo từng bit của số dương
tương ứng.
5. Biểu diễn dữ liệu & số học máy tính

 Biểu diễn bằng “số bù 2”


– Số dương: vẫn như cũ
– Số âm: lấy đảo bit rồi cộng 1
– Khoảng biểu diễn (-2n-1, 2n-1-1)
– Chỉ có duy nhất một số 0

 Biểu diễn bù 2, bù 1 thành số ban đầu


– Nếu “số bù 2” bắt đầu là số 0 (số
dương) => không cần đổi ngược =>
đọc ngay giá trị.
– Nếu “số bù 2” bắt đầu là số 1 (số âm)
=> Thực hiện quy trình ngược lại:
“Số bù 2” trừ 1 để ra “số bù 1”
“Số bù 1” đảo bit để ra số âm ban đầu
5. Biểu diễn dữ liệu & số học máy tính

 Mục đích biến đổi thành số bù 1, 2:


- Biểu diễn số âm
- Thực hiện phép tính trên các số bù này, kết quả vẫn không bị
ảnh hưởng.

 Cộng hai “số bù 1”

 Cộng hai “số bù 2”


5. Biểu diễn dữ liệu & số học máy tính

 Độ chính xác:
 Độ chính xác trong biểu diễn số
 Với số nguyên sẽ không có sai số khi có đủ số bit cần thiết để biểu diễn
số
 Với số thực không thể loại bỏ sai số với hữu hạn các bit
 Độ chính xác trong thực hiện phép toán
 Sai số do kết quả cuối cùng / trung gian khi biểu diễn
5. Biểu diễn dữ liệu & số học máy tính

 Độ chính xác đơn:

• Dùng 16 bit để biểu diễn


• Với phần nguyên:
– Minimum value = (0000 0000 0000 0000)2 = 0
– Maximum value = (1111 1111 1111 1111)2 = 65,535
• Với phần phân:
– Minimum value = (0000 0000 0000 0000)2 = 2-16
=0.0000152587890625
– Maximum value = (1111 1111 1111 1111)2 = 1-2-16
=0.9999847412109370000
5. Biểu diễn dữ liệu & số học máy tính

 Độ chính xác kép:

• Dùng 32 bit để biểu diễn


• Với phần nguyên:
– Minimum value = (0000 0000 0000 0000 0000 0000 0000 0000)2 =0
– Maximum value = (1111 1111 1111 1111 1111 1111 1111 1111)2
=4,294,967,295
• Với phần phân:
– Minimum value = (0000 0000 0000 0000 0000 0000 0000 0000)2 =2 -
32 =0.00000000023283064365387

– Maximum value = (1111 1111 1111 1111 1111 1111 1111 1111)2
= 1  2 -32 =0.99999999976716900000000
5. Biểu diễn dữ liệu & số học máy tính

 Tràn và thấm (Overflow and underflow)


• Xảy ra khi nhân các giá trị rất lớn hoặc rất nhỏ khiến kết quả vượt ra
ngoài khoảng biểu diễn
• Khi kết quả lớn hơn giá trị lớn nhất có thể biểu diễn gọi là tràn
(Overflow)
• (Maximum absolute value < Overflow)
• Khi kết quả nhỏ hơn giá trị nhỏ nhất có thể biểu diễn gọi là thấm
(underflow)
• (0 < Underflow < Minimum absolute value)
5. Biểu diễn dữ liệu & số học máy tính

3. Thông tin logic:

 Phép đảo (Negation) Phép và (Logical product )


KH: ¬ (NOT) KH:  (AND)
Bảng trạng thái Bảng trạng thái
5. Biểu diễn dữ liệu & số học máy tính

3. Thông tin logic:


 Phép hoặc (Logical sum)  Phép hoặc mạnh
KH:  (OR) (Exclusive OR )
KH: Ұ (XOR)
Bảng trạng thái Bảng trạng thái
5. Biểu diễn dữ liệu & số học máy tính

3. Thông tin logic:


 Ứng dụng:

Masking Tìm số bù 1 (phép đảo)


5. Biểu diễn dữ liệu & số học máy tính

4. Cấu trúc dữ liệu:


5. Biểu diễn dữ liệu & số học máy tính

4. Cấu trúc dữ liệu:

 Kiểu đơn giản


 Kiểu số nguyên:
– Biểu diễn trong máy tính dưới dạng số nhị phân
 Kiểu số thực:
– Biểu diễn trong máy tính dưới dạng số dấu phẩy động hoặc số dấu
phẩy tĩnh
 Kiểu kí tự:
– Biểu diễn trong máy tính dưới dạng số nhị phân
 Kiểu logic:
– Dùng để thực hiện các phép toán logic
 …
5. Biểu diễn dữ liệu & số học máy tính
Trong Matlab
4. Cấu trúc dữ liệu:
Số nguyên Số thực

Logic
Ký tự
5. Biểu diễn dữ liệu & số học máy tính

4. Cấu trúc dữ liệu:


 Kiểu mảng
 Mảng là tập hợp các phần tử có cùng kích thước và cùng kiểu dữ liệu
 Mảng là một vùng nhớ liên tục trong bộ nhớ
 Mảng có thể là 1, 2 hay 3, ... chiều
 Giới hạn về chiều và thứ tự các chiều trong bộ nhớ là tuỳ thuộc vào
ngôn ngữ hoặc chương trình dịch
 Kiểu con trỏ
 Kiểu con trỏ lưu trữ địa chỉ của vùng nhớ trong bộ nhớ
 Được dùng để trỏ tới các kiểu biến, hàm
5. Biểu diễn dữ liệu & số học máy tính

4. Cấu trúc dữ liệu:


 Kiểu bản ghi
 Khác với mảng các phần tử của bản ghi có thể có kích thước và kiểu dữ
liệu khác nhau
 Ví dụ:
5. Biểu diễn dữ liệu & số học máy tính
Trong Matlab
4. Cấu trúc dữ liệu:
Kiểu mảng / ô (array / cell) Kiểu bản ghi
1. Cấu trúc máy tính – Đinh Đồng Lưỡng
2. Cấu trúc & Khoa học máy tính – Võ Mậu Pha
3. Hệ điều hành – Thoại Nam, Lê Ngọc Minh; Đặng
Nhân Cách

You might also like