Thứ Năm, 5 tháng 10, 2017

[Chuẩn kỹ năng CNTT] Chương 2: Các hệ thống máy tính


2.1 Phần cứng
2.1.1 Các phần tử thông tin ( Bộ nhớ)
Bộ nhớ bán dẫn là bộ nhớ đượcc làm từ các mạch tích hợp (ICs) sử dụng chất liệu bán dẫn. Bộ nhớ bán dẫn bao gồm ROM và bộ nhớ RAM.

ROM: Read only memory, ROM là bộ nhớ bán dẫn mà dữ liệu không bị xóa khi mất điện.
Các loại ROM:
  • ROM được che mặt nạ: Dữ liệu được ghi lại tại thời điểm sản xuất không thể ghi dữ liệu sau đó.
  • PROM (Progam ROM) : Dữ liệu được ghi trong lần sử dụng đầu tiên. Không thể ghi lại được trong các lần sau.
  • EPROM (PROM có thể xóa): Dữ liệu được ghi bằng điện, và có thể xóa bằng tia tử ngoại.
  • EEPROM (EPROM điện): Toàn bộ dữ liệu có thể xóa và ghi lại được. Dữ liệu xóa bằng điện.
  • Flash memory: Bộ nhớ cực nhanh, được ghi lại thực hiện một cách tập trung hoặc theo khối. Dữ liệu được xóa bằng điện.
RAM (Random Access Memory): Là bộ nhớ bán dẫn mà dữ liệu bị mất khi mất điện.
Các loại RAM:
  • SRAM và DRAM
  • So sánh:
Các mục so sánh SRAM DRAM
Mức độ tích hợp Thấp Cao
Tốc độ truy cập Nhanh Chậm
Giá thành Đắt Không đắt
Cách dùng Bộ nhớ đệm, các thiết bị hoạt động bằng PIN Bộ nhớ chính
Hoạt động Không cần làm tươi Cần làm tươi
Cấu trúc Flip-flop, cấu trúc phức tạp Tụ điện và các tranzito
Cấu trúc đơn gian

2.1.2 Kiến trúc bộ xử lý 

Cấu hình cơ bản của một máy tính bao gồm:
  • Khôi điều khiển: Là khối điều khiển toàn bộ máy tính. Nó đọc lệnh từ bộ nhớ chính và gửi đến các khối cần thiết để thực hiện lệnh.
  • Khối tính toán: Là khối thực hiện các phép toán số học, các phép toán logic, và các khép toán khác. Nos bao gồm bộ cộng,các thanh ghi, các bộ đảo.
  • Bộ nhớ: Thuật ngữ dùng chung cho khối lưu trữ dữ liệu, chương trình,… Được phân thành bộ nhớ chính và bộ nhớ ngoài.
  • Khối vào: Thuật ngữ chung của các khối mà nhập chương trình và dữ liệu vào máy tính.
  • Khối ra: Khối đưa ra kết quả xử lý của máy tính.
Sự tính toán va các phương pháp đánh địa chỉ:
Một chương trình được lưu trong bộ nhớ chính và được thực hiện theo từng lệnh bởi khối điều khiển. Sự tính toán địa chỉ để xác định vị trí của dữ liệu cần được xử lý.
Sự tính toán địa chỉ là chức năng lấy về địa chỉ thực dựa trên trường địa chỉ cho trong lệnh. Phương pháp tính toán địa chỉ được gọi là phương pháp định địa chỉ. Địa chỉ truy cập thực sự, kết quả của phép tính địa chỉ được gọi là địa chỉ hiệu dụng.

Các phương pháp định địa chỉ:
  • Định địa chỉ trực tiếp
  • Định địa chỉ gián tiếp
  • Định địa chỉ chỉ số
  • Định địa chỉ cơ sở
  • Định địa chỉ tức thì.


RISC và CISC
là các công nghệ tăng tốc độ xử lý máy tính.
RISC dùng cho máy tính được cấu hình cho tốc độ cao với tập lệnh đơn giản và phần cứng được đơn giản hóa bằng RISC.
Ngược lại cấu trúc lệnh phức tạp được cấu hình trong một mạch gọi là CISC


Điều khiển đường ống lệnh: là kỹ thuật dùng để giảm thời gian thực hiện lệnh của CPU. Việc này được thực hiện như sau: các bước thực hiện của một lệnh được chi làm 5 hoặc 6 bước nhỏ và nếu mỗi bước được hoàn thành trong một khoảng thời gian xác định và các các bước lệnh là độc lập với các bước khác thì chúng ta có thể cải thiện tốc độ xử lý bằng cách làm trễ việc thực hiện mỗi lệnh một bước so với lệnh trước đó.

2.1.3 Kiến trúc bộ nhớ

Thanh ghi
Bộ nhớ cache
Bộ nhớ chính
Bộ nhớ đệm cho đĩa
Bộ nhớ ngoài (đĩa cứng,…)
Bộ nhớ dung lượng lớn (đĩa quang,…)

Bộ nhớ Cache: là bộ nhớ nằm giữa thanh ghi và bộ nhớ chính. Do tốc độ của BNC thấp hơn thanh ghi nên để tăng hiệu quả xử lý của CPU thì dùng Cache để nạp các dữ liệu và chương trình thường xuyên được xử dụng trong BNC.

Kỹ thuật đan xen: BNC được chia làm rất nhiều khối nhỏ gọi là các băng và địa chỉ được gán qua các băng. Dữ liệu được lưu trên một dãy địa chỉ (theo chiều ngang) nhưng bộ nhớ được truy cập theo các băng nhớ (theo chiều dọc). Điều này cho phép truy xuất đồng thời đến một dải địa chỉ.

2.1.4 Các đơn vị băng từ

Băng từ là phương tiện lưu trữ trên một băng đã được nhiễm từ tính. Rẻ và dung lượng lớn. Băng từ được chi thành các khối và ngăng cách với nhau bởi các IBG (Inter – block -gap ).


Tính toán dung lượng:
Cho
Chiều dài bản ghi 80 byte
Hệ số khối (block) 100
Mật độ bản ghi 64 byte/mm
Khoảng cách giữa các khối (IBG) 15mm
Chiều dài băng từ 730 m

Tính số bản ghi tối đa trên 1 băng từ?

Bài làm

Hệ số khối là 100 → 100 bản ghi có thể lưu trên 1 khối.
Chiều dài bản ghi là 80 byte → Tổng số byte cho mỗi khối: 100(bản ghi/khối)*80(byte/bản ghi) = 8000 (byte/khối)
Mật độ bản ghi là 64 byte có lưu trữ trên 1mm
Chiều dài môt khối không tính IBG là 8000 (byte/khối) / 64(byte/mm) = 125(mm/khối)
Nếu tính IBG: 125 +15 = 140 (mm/khối)
Tổng số khối có thể lưu trên 1 băng từ là: 730.000 (mm)/ 140 (mm/khối) = 5214
Tổng số bản ghi có thể được lưu trữ trên 1 băng từ:
5214 * 100= 521400 bản ghi.


Tính toán hiệu năng

Tốc độ trao đổi dữ liệu 320 kbit/s
Chiều dài bản ghi 80 byte
Hệ số khối 100
Thời gian bắt đầu hay dừng lại 6ms

Thời gian trao đổi một khối dữ liệu? Thời gian yêu cầu để đọc một khối dữ liệu?

Bài làm:
Thời gian trao đổi dữ liệu một khối = (Chiều dài một khối) / ( tốc độ trao đổi dữ liệu).

Chiều dài khối = (Chiều dài bản ghi ) * (hệ số khối)
= 80 (byte/bản ghi) * 100 (bản ghi / khối) = 8000 ( byte/khối)
Thời gian trao đổi dữ liệu của một khối = 8.000 (byte/khối) / (320.000/s) = 25 (ms)

Thời gian yêu cầu để đọc một khối dữ liệu:

Thời gian yêu cầu để đọc một khối dữ liệu = (Thời gian bắt đầu) + (Thời gian trao đổi dữ liệu của một khối) = 6ms + 25 ms = 31 ms

2.1.5 Các đĩa cứng

- Đĩa cứng được cấu tạo từ các trụ (cylinder) và rãnh (track)
- Đĩa cứng loại cung (Sector) không có IBG

Đĩa cứng là một phương tiện truy cập tùy tiện và đọc ghi dữ liệu tốc độ cao, bao gồm 1 đến 10 đĩa tròn được phủ chất liệu từ ở mặt trước và mặt sau của đĩa, quay với tốc độ cao. Nếu chỉ có một đĩa nó được gọi là đĩa mềm.


Tính toán dung lượng

Cho 

Chiều dài bản ghi 250 byte
Hệ số khối     8
Số trụ trên đĩa 400
Số rãnh trên một trụ 19
Số byte trên một rãnh 13.000
Khoảng cách giữa các khối 135 byte

Bài làm

Chiều dài một khối là
chiều dài bản ghi * hệ số khối + Khoảng cách giữa 2 khối
= 250*8 + 135 = 2.135 (byte)

Số khối có thể lưu trên 1 rãnh là:
Chiều dài rãnh / chiều dài một khối = 13000/2.135 = 6

Tổng số bản ghi lưu trữ trên 1 rãnh
 Số khối * hệ số khối = 6*8 = 48

Tổng số bản ghi được lưu trữ trên một trụ:
 Số rãnh trên 1 trụ * số bản ghi trên 1 rãnh = 48*19 =912 (bản ghi)

Tổng số trụ cần để lưu trữ 100.000 bản ghi

(Tổng số bản ghi)/ Số bản ghi lưu trữ trên 1 trụ = 100.000/912 = 110




Tính toán hiệu năng:
Thời gian truy cập = Thời gian đợi + Thời gian trao đổi dữ liệu
                                = (Thời gian tìm kiếm + Thời gian trễ) + Thời gian trao đổi dữ liệu.

Thời gian đợi (Thời gian định vị + Thời gian trễ) đôi khi cũng được gọi là thời gian truy cập.


Thời gian tìm kiếm là thời gian trong đầu đọc/ghi di chuyển đến rãnh nơi đã có dữ liệu được lưu trữ.  (luôn được cho trước)
Thời gian trễ là thời gian cho đến khi dữ liệu cần đọc hoặc ghi chuyển đến vị trí đầu đọc. (Tối thiểu là 0 và tối đa là 1 vòng quay --> trung bình nửa vòng quay).

Đề bài:
Tính thời gian truy cập cho việc đọc dữ liệu bao gồm một khối (5000 byte):
Cho đĩa cứng có:
Số vòng quay của đĩa cứng: 2500 vòng/phút
Dung lượng trên 1 rãnh:  20000 byte
thời gian truy cập trung bình: 25ms

Bài làm
Tính toán thời gian trễ trung bình
Thời gian 1 vòng quay: 60.000 ms /2500 vòng = 24 ms/vòng.
Thời gian trễ = 1/2 Thời gian 1 vòng quay = 12 ms/vòng.

Tính toán tốc độ trao đổi dữ liệu 
Vì 1 vòng quay cho phép trao đổi dữ liệu trên 1 rãnh nên:
Tốc độ trao đổi dữ liệu: 20.000/24(byte/ms)

 Tinh toán thời gian trao đổi dữu liệu 
Kích thước: 5000 byte
Thời gian trao đổi dữ liệu = (Tổng dữ liệu cần trao đổi) / (Tốc độ trao đổi)
                                     = 5.000/(20.000/24) = 6(ms)

Thời gian truy cập
Thời gian truy cập = 25ms + 12 ms + 6ms



Tính toán dung lượng của ổ cứng dựa trên sector

- Sector  là cung hình quạt ở trên đĩa chia bởi các tia vẽ từ tâm của rãnh theo các phần bằng nhau.
- Vào/ra của phương tiện luwu trữ kiểu sector có thể được thực hiện theo đơn vị  sector và không sử dụng IBG.
- Mỗi sector có thể lấp đầy nhiều nhất bản ghi có thể và phần chia còn lại của sector thì không sử dụng.

2.1.6 Các thuật ngữ liên quan đến hiệu năng/RAID
Chú ý: Thi thường hỏi " Câu naoaf trong các câu sau phù hợp liên quan đến RAID..?"

Thời gian truy cập = Thời gian chờ + Thời gian trao đổi 
                                = (Thời gian tìm kiếm + Thời gian trễ ) + Thời gian trao đổi.


RAID (Redundant Array of Independent Disks)(Mảng dư thừa các đĩa độc lập) diễn tả bộ lưu trữ hỗ trợ, trong đó rất nhiều đĩa cứng làm việc song song và được điều khiển như thể chỉ có 1 đĩa cứng, vì vậy tốc độ vào ra được cải thiện và độ tin cậy được nâng cao.

RAID có 6 cấp:
RAID0 : Đây là phương pháp ghi các khối dữ liệu với một kích cỡ cố định trên nhiều ổ cứng. Truy cập không bị tập trung vào 1 đơn vị, --> Thời gian vào/ra được rút ngắn.

RAID1:Bằng cách lưu trữ dữ liệu giống nhau trên 2 đĩa--> An toàn dữ liệu.

RAID2, RAID3, RAID4:
Cùng với dữ liệu được lưu trữ trên đĩa cứng, có một đĩa được chỉ định là đĩa kiểm lỗi và ngăn ngừa lỗi. 
RAID2 có thể sửa lỗi. RAID3 và RAID4 có thể phát hiện lỗi nhưng không thể sửa lỗi.
RAID3 dữ liệu phân vùng theo các bit hoặc byte. RAID4 phân vùng dữ liệu theo khối.

RAID5: Ở đây mỗi khối dữ liệu được gán cho 1 giá trị parity (Chẵn lẻ). Dữ liệu và Parity được ghi trên những đĩa riêng biệt và lỗi trên một đĩa có thể phục hồi bằng cách lấy tổng loại trừ các khối khác.  (T101)

Ngoài ra còn có RAID6 cũng làm parity như RAID5 nhưng mà RAID6 có thể phục hồi dữ liệu khi 2 đĩa bị hỏng.

2.1.7 Thiết bị lưu trữ ngoài/Các đơn vị vào ra

Chú ý: Trong các câu hỏi thi thường liên quan đến kết hợp giữa giao tiếp vào ra và phương pháp truyền dữ liệu
Thiết bị lưu trữ ngoài : DVD, CD, Đĩa quang từ (MO), Đĩa mềm, Đĩa cứng, DAT
Thiết bị vào: chuột tablet, OCR, ỎMR, Đọc mã vạch, Máy quét ảnh
Thiết bị ra:Màn hình, Printer

Các phương pháp truyền dữ liệu:
  • Truyền nối tiếp là phương pháp truyền 1 bit ở 1 thời điểm
  • Truyền song song là phương pháp truyền các bit dữ liệu một cách song song.

Giao tiếp vào ra
Các loại sử dụng Nối tiếp:  USB, RS-232C, IEE1394.
Các loại sử dụng song song: SCSI, Centronics, GPIB.
Thứ tự kết nối: IEE1394, USB, GPIB, Centronics, SCSI, RS-232C.

2.2 CÁC HỆ ĐIỀU HÀNH

2.2.1 Cấu hình và các mục  tiêu của hệ điều hành
Chú ý:Câu hỏi liên quan đến khái niệm
Cấu hình của hệ điều hành:
Hệ điều hành là một phần mềm cơ sở mà điều khiển hoàn toàn và quản lý toàn bộ các hoạt động của phần cứng và phần mềm của một hệ thống máy tính
Vai trò:
- Chương trình điều khiển:
  • Quản lý công việc - Quản lý dữ liệu - Quản lý hoạt động
  • Quản lý truyền thông - Quản lý tác vụ
  • Quản lý bộ nhớ - Quản lý dỗi,...
- Chương trình dịch vụ:
  • Bộ soạn thảo liên kết, Chương trình trộn sắp xếp
  • Bộ sinh mã hệ thống, Bộ soạn thảo văn bản
  • Chương trình chuyển đổi phương tiện, Chương trình gỡ lỗi, hỗn hợp
- Bộ xử lý ngôn ngữ
  • Trình biên dịch- Chương trình hợp ngữ- Trình thông dịch - Bộ sinh mã hỗn hợp
Mục đích:
  • Sử dụng hiệu quả các tài nguyên phần cứng.
    • Lập trình đa xử lý: Là một cơ chế trong đó các chương trình được xử lý qua lại trên một CPU để nó có thể xuất hiện mặc dù nhiều chương trình đang hoạt động cùng lúc.
    • Chức năng lưu trữ ngoài (Spooling): Là kỹ thuật sử dụng các đĩa cứng tốc độ cao như một khối vào / ra. Ví dụ: Việc trực tiếp in trên một máy in tốc độ thấp sẽ làm chậm tốc độ xử lý. Thay vào đó các kết quả xuất ra có thể ghi vào một đĩa cứng tốc độ cao trước và sau đó một chương trình phục vụ, chỉ quan tâm đến xuất dữ liệu thực hiện in khi CPU không bận.
  • Đáp ứng các chế độ xử lý khác nhau
    • Xử lý khối, xử lý thời gian trực tuyến.
  • Đảm bảo tính tin cậy và an toàn
    • Cải tiến chỉ số RASIS : Reliability, Availability, Serviceability, Integrity, Security.
  • Giảm tải của phần mềm ứng dụng
    • Bộ nhớ ảo: là kỹ thuật để mở rộng dung lượng của bộ nhớ chính để các chương trình lớn có thể được nạp vào trong bộ nhớ chỉ một lần. 
    • Quản lý thư viện: Đây là một chức năng mà tích lũy một cách hệ thống các chương trình thô sơ, các chương trình bổ trợ, các mô-Đun tải, các chương trình được phát triển. Cho phép quản lý tích hợp các tài nguyên phần mềm mà được quản lý riêng lẻ.
  • Hỗ trợ vận hành và điều khiển máy tính.
    • Xử lý liên tiếp, lưu trữ dữ liệu thao tác
 2.2.2 Quản lý công việc
Công việc là các đơn vị tác vụ được đưa ra trong máytính bao gồm nhiều chương trình (các bước công việc).
Bộ lập lịch: Quản lý thứ tự thực hiện công việc
  • Lập lịch chủ: Giao tiếp với người thao tác
  • Lập lịch công việc: Quản lý sự tiếp nhận, chọn lựa, khởi đầu và kết thúc các công việc.
Bộ đọc: Đọc các công việc
Bộ khởi tạo: Chuẩn bị cho việc bắt đầu các công việc chương trình.
Bộ kết thúc: Thu dọn sau khi kết thúc các công việc, chương trình
Spooling: Quản lý đầu vào cho các công việc, quản lý đầu ra cho các kết quả xử lý.
                  Spooling là chức năng vào/ra của các công việc độc lập của các chương trình. Các kết quả xuất đến các khối tốc độ thấp như máy in, đầu tiên được lưu trữ trong một tệp spool. Sau đó, khi chương trình kết thúc, kết quả đầu ra được in trên máy in từ tệp spool bởi chương trình dịch vụ của hệ điều hành.

Thủ tục phân loại: Hỗ trợ thực thi các công việc.

Chú ý: phần thi quản lý công việc thường liên quan đến khái niệm spooling.

2.2.3 Quản lý tác vụ
 Chú ý: Biểu đồ sau luôn xuất hiện trong các bài thi


1.Một tác vụ được tạo ra sẽ được đặt vào trong hàng đợi tác vụ --> chuyển tới trạng thái ready (sẵn sàng).
2. Để thực thi, tác vụ được chuyển tới trạng thái Running(chạy) thông qua tác vụ Dispatcher(gửi) --> chuyển tới trạng thái running.
3. Hết thời gian cho phép, tác vụ thoát khỏi trạng thái Running để nhường cho một tác vụ khác ưu tiên cao hơn --> Chuyển đến trạng thái ready.
4. Rút khỏi một lệnh vào/ra --> chuyển đến trạng thái waiting (đợi).
5. Trạng thái đợi được thực hiện lần nữa sau khi hoàn thành vào/ra --> chuyển đến trạng thái sẵn sàng.
6. Tất cả các quá trình được hoàn thành --> Tác vụ được kết thúc.

2.2.4 Quản lý tệp dữ liệu
Chú ý: Phần này tập trung vào phần tổ chức tệp , cần nắm được các đặc trưng của các phương pháp tổ chức tệp

Là một chức năng của hệ điều hành. Nó là một chương trình điều khiển quán lý các dữ liệu vào và ra. Nó cung cấp các phương pháp tổ chức tệp khác nhau như tổ chức tuần tự, tổ chức trực tiếp, tổ chức chỉ số. Nó giống như cầu kết nối giữa các tệp logic được xử lý trong một chương trình và các tệp vật lí có cấu trúc khác nhau.


Các phương pháp truy cập:
  •  Truy cập tuần tự: Xử lí các tệp tuần tự từ điểm bắt đầu
  •  Truy cập trực tiếp: Xử lí trực tiếp một bản ghi cụ thể.
  • Truy cập động: Sử dụng truy cập trực tiếp để tìm và định vị một bản ghi, sau đó sử dụng truy cập tuần tự.
Tổ chức tệp:
  • Các tệp tổ chức tuần tự
    • Các bản ghi trong một tệp được lưu trữ tại những vị trí liên tiếp nhau theo trật tự nào đó. 
    • Các loại tệp này thường thấy ở hầu hết các thiết bị lưu trữ như băng từ, đĩa cứng, đĩa mềm. 
  • Các tệp tổ chức trực tiếp
    • Địa chỉ lưu trữ trên phương tiện lưu trữ được tính toán dựa trên giá trị khóa để tìm ra địa chỉ mỗi bản ghi và bản ghi được lưu tại vị trí đó.
    • Do đó để truy cập một bản ghi đầu tiên phải tính địa chỉ lưu trữ theo cùng một công thức và bản ghi được đọc tại địa chỉ lưu trữ đó
    • Có những trường hợp khóa khác nhau cho ra cùng 1 địa chỉ khác nhau khi đó bản ghi trước được gọi là bản ghi chính, bản ghi sau gọi là bản ghi đồng nghĩa.
  • Các tệp tổ chức theo chỉ số
    • Mỗi tệp sẽ có một chỉ số và chúng được tổ chức để người sử dụng có thể truy cập đến các bản ghi bằng cách tìm địa chỉ của các bản ghi đó qua chỉ số tệp.
    • Có thể dùng kết hợp 3 phương pháp truy cập đã nêu ở trên.
  • Các tệp tổ chức phân vùng
    • Trong các tệp này, các tệp tổ chức tuần tự được gộp lại vào các đơn vị gọi là các thành viên, mỗi thành viên được cung cấp một tên. Sau đó mỗi thư mục chứa các thanh viên đó và địa chỉ đầu của chúngđược tạo ra. 
    • Mỗi thành viên được xem như một tập các tệp tổ chức tuần tự.
    • Sử dụng phương pháp truy cập trực tiếp để tìm thấy sự bắt đầu của một thành viên và phương pháp truy cập tuần tự để xác định bản ghi.
Hệ thống phân cấp:
Chú ý: phần thi liên quan đến :chọn một đường dẫn tuyệt đối hoặc một đường dẫn tương đối" 
Ví dụ:
Đường đẫn tuyệt đối: /DIR3/file1( Ký tự "/" đầu tiên chỉ thư mục gốc)
Đường dẫn tương đối: 
Đây là đường dẫn của file2 khi thư mục hiện thời là  "DIR2":    DIR4/file2
Đây là đường dẫn của file2 khi thư mục hiện thời là "DIR4" :     file2
2.2.5 Quản lý bộ nhớ
 Quản lý bộ nhớ đem lại hiệu quả sử dụng bộ nhớ cao nhất cũng như hạn chế việc thiếu hụt dung lượng bộ nhớ. 
Hệ thống bộ nhớ thực
Đây là một hệ thống mà quản lý không gian vật lý của bộ nhớ chính.
Bộ nhớ thực có thể điều khiển bằng nhiều cách như sau:
  • Phương pháp phân vùng: Chi BNC thành nhiều phân vùng nơi mà chương trình được nạp. Có thể xảy ra hiện tượng phân mảnh, thừa dung lượng nhưng chương trình không thể lưu trữ.
  • Hoán đổi (roll-in/roll-out): Là việc chương trình thực hiện chuyển đổi thứ tự sau và trước giữa bộ nhớ chính và bộ nhớ ngoài. Nếu một chương trình được đưa vào có quyền ưu tiên cao hơn quyền ưu tiên của chương trình thực thi hiện thời, thì chương trình mới ngay lập tức được nạp vào bộ nhớ chính và được thực thi. Nếu bộ nhớ chính không còn không gian, thì một chương trình cũ bất kỳ sẽ được đưa ra bộ nhớ ngoài. 
    • Có thể xảy ra giảm hiệu năng hệ thống do chuyển đổi quá nhiều 
  • Bố trí lại: là chức năng trong đó một chương trình đã được đăng ký một vùng và được lưu trữ lại ở một vùng nhớ khác.
  • Phương pháp ghi đè:
    • Giới hạn vật lý cuả bộ nhớ chính có thể được loại bỏ nhờ vào việc các chương trình được phân thành các đơn vị đoạn và chỉ có các đoạn cần thiết được nạp vào bộ nhớ chính để thực thi. Toàn bộ chương trình được lưu trữ ở bộ nhớ ngoài, bộ nhớ chỉ chứa các đoạn thường sử dụng. Các đoạn không bao giờ được sử dụng được nạp ở BNN và được gọi khi cần.
Bộ nhớ ảo:
  •     Bộ nhớ ảo cung cấp một dung lượng lớn  không gian lưu trữ mà không quan tâm đến kích thước của bộ nhớ chính. Các chương trình được lưu trữ trong bộ nhớ ảo (thường trong bộ nhớ ngoài) và chỉ các phần cần thiết để thực thi mới được nạp vào bộ nhớ chính. 
  • Khi chương trình được nạp vào bộ nhớ ảo, các lệnh và dữ liệu được cấp các địa chỉ ảo, cái mà cần thiết phải biến đổi sang ác địa chỉ thực (các địa chỉ trong bộ nhớ chính) cho việc thực thi của chương trình. Phép biến đổi này được thực hiện bằng phần cứng gọi là bộ dịch địa chỉ động DAT (Dynamic address Translator).
  • Các phương pháp 
    • Phân trang:
      • Chương trình được phân thành các khối kích thước cố định gọi là các trang, mỗi trang sẽ trở thành một khối để nạp vào bộ nhớ thực.
      • Các trang được quản lý bởi bảng phân trang, mỗi mục sẽ là 1 trang trong BNA và mỗi mục có 1 bit dấu (0 là có tồn tại trong Bộ nhớ thực , 1 là không tồn tại trong bộ nhớ thực).
    • Phân đoạn:
      • Khác với phân trang ở chỗ các chương trình và tập hợp logic của dữ liệu xem như là các đoạn chứ không có kích thước cố định như phân trang. Các địa chỉ ảo bao gồm số hiệu đoạn và các địa chỉ trong đoạn đó.
      • Vì một chương trình được coi là 1 đoạn nên chúng có thể coi là thủ tục con. Tuy nhiên kích thước khác nhau --> khó khăn cho việc quản lý --> hiệu năng giảm.
    • Kết hợp
      • Các đoạn sẽ được phân nhỏ hơn thành các trang. Địa chỉ thật được truy cập theo trật tự "đoạn --> trang --> độ dịch chuyển tương đối trong trang"'.
- Giải thuật chọn trang: Khi phân trang thường xuyên --> thời gian thực thi chương trình điều khiển tăng --> giảm hiệu quả thực hiện (Hiện tượng slashing).  Cần lựa chọn trang khi thực thi.   Cần sử dụng giải thuật LRU (Trang được sử dụng gần nhất- Ví dụ: https://www.youtube.com/watch?v=I9_BpSXBodU) và FIFO (ví dụ https://www.youtube.com/watch?v=KejyTiATz18)

2.3 KỸ THUẬT CẤU HÌNH HỆ THỐNG
2.3.1 Các hệ thống khách chủ
Chú ý: Có nhiều câu hỏi thi về kiến thức hệ thống khách/chủ. Hầu hết trong số đó là về vai trò của máy khách hoặc máy chủ. 
 Client Server System (CSS)  hệ thống máy tính trong đó sử dụng một mạng để xử lý phân tán. CSS bao gồm máy chủ và máy khách. 
Máy chủ cung cấp các dịch vụ xử lý như quản lý tệp, quản lý cơ sở dữ liệu, sửa đổi và cung cấp dữ liệu, điều khiển in ấn và các chức năng giao tiếp, được yêu cầu bởi máy khách.
Máy khách gửi yêu cầu dịch vụ đến máy chủ, nhận các kết quả dữ liệu được xử lý bởi máy chủ và hiển thị các kết quả đó.
Các loại máy chủ:
  • Máy chủ tệp
  • Máy chủ cơ sở dữ liệu
  • Máy chủ in
  • Máy chủ giao tiếp: Cung cấp chức năng giao tiếp với bên ngoài sử dụng kết nối mạng.
Ưu điểm
  • Khi các xử lý diễn ra tại máy khách, việc phản hồi sẽ nhanh hơn
  • Các chi phí cho toàn bộ hệ thống thông tin có thể được giảm, đạt được tỉ lệ chi phí/hiệu năng tốt.
  • Các chức năng máy chủ chuyên dụng cung cấp cho hệ thống hiệu năng và hiệu quả kinh tế cao hơn.
  • Dễ dàng mở rộng, các máy khách và máy chủ có thể được thêm vào một cách linh hoạt.
Nhược điểm:
  • Cần có người quản trị máychủ
  • Hiệu năng giảm khi chỉ sử dụng tập trung các máy chủ chuyên dụng
  • Hiệu năng của toàn hệ thống phụ thuộc vào hiệu năng của mạng.
2.3.2 Các cấu hình hệ thống:

  • Hệ thống đơn công:
    • Hệ thống chỉ gồm 1 CPU => khả năng xử lý và tính tin cậy kếm hơn so với các cấu hình khác. Nhưng kinh tế hơn.
    •  DCE --- CCU --- CPU ---DISC
  • Hệ thống song hành:
    • Hệ thống gồm 2 CPU cùng thực hiện một xử lý và so sánh kết quả xử lý đó với nhau. 2 CPU cùng thực hiện một xử lý và so sánh kết quả với nhau. 
    • Cấu hình này được ứng dụng khi việc xử lý đòi không không được phép dừng, thậm chỉ chỉ một lúc. --> khi 1 CPU bị lỗi, hệ thống ngắt CPU lỗi đó và tiếp tục xử lý trên CPU còn lại. --> TIn cậy cao--> Đắt.
    •                     |-------CPU------
    • DCE --- CCU                     |-----DISC
    •                     |-------CPU------ 
  • Hệ thống kép
    • Hệ thống có 2 CPU, trong đó hệ thống chính được sử dụng cho xử lý trực tuyến còn hệ thống thứ hai được sử dụng cho các xử lý quyền ưu tiên thấp hơn. Nếu hệ thống chính bị lỗi --> chuyển sang hệ thống phụ. --> Tin cậy thấ hơn hệ thống song hành --> CHi phí rẻ hơn.
    •        |-------CCU---------CPU--------|
    • DCE                                          |--------DISC
    •        |-------CCU---------CPU--------|
  •  Hệ thống đa bộ xử lý:
    • Trong hệ thống này nhiều bộ CPU và CCI cùng nhau chia sẻ và xử lý tác vụ vì thế cấu hình hệ thống có hiệu năng xử lý cao.
    • 2 loại:
      • LCMP (Loosely Coupled Multiprocessors )- Hệ thống  cặpđôi lỏng lẻo, trongđó nhiều hệ thống máy tính đượcđiều khiển bởi các hệ điều hành riêng biệt.
      • TCMP (Tightly Coupled Multiprocessors) - Hệ thống cặp đôi chặt chẽ. Trong đó BNC cùng được điều khiển bởi 1 hệ điều hành và sử dụng chung 1 BNC.
      • TCMP: 
      •                            |---------CPU--------|
      •                            |                         |     
      • DCE----CCU-----|            MM          |------DISC
      •                            |                         |
      •                            |----------CPU-------| 
      •  
Chú thích: CCU (Communicaiton control Unit) Là khối điều khiển thu và phát dữ liệu thực hiện điều khiển lỗi và phân tích các ký tự.
DISC: Thiết bị lưu trữ ngoài.

2.3.3 Xử lý tập trung và  xử lý phân tán
Chú ý: Nhiều câu hỏi thi yêu cầu chỉ ra các đặc trưng của xử lý tập trung và xử lý phân tán.
  •  Xử lý tập trung là môt cấu hình hệ thống trong đó một máy tính được kết nối với nhiều thiết bị cuối và máy tính đó một mình thực hiện tất cả các xử lý. 
    • Ưu điểm: 
      • Dễ dàng cải thiện chi phí/hiệu năng.
      • Vận hành bao trì cần ít nhân viên hơn
      • Độ an toàn cao
    • Nhược điểm:
      • Khả năng mở rộng kém để thích hợp với các công nghệ mới
      • Dễ xảy ra tắc nghẽn.
      • Chi phí cho hệ điều hành là rất quan trọng.
      • Khôi phục một lỗi máy chủ sẽ tiêu tốn thời gian.
      • Một hỏng hóc có thể gây ảnh hưởng xâu rộng
  • Xử lý phân tán:
    • Là cấu hình hệ thống trong đó nhiều máy kết nối với nhau qua một mạng để thực hiện việc xử lý. 
    • Ưu điểm:
      • Các trách nhiệm quản lý rõ ràng. 
      • Ảnh hưỡng lỗi hệ thống chỉ mang tính cục bộ
      • Bảo trì dễ
      • Có tính kinh tế vì chỉ cần khối cần thiết được cài đặt.
    • Nhược điểm:
      • Trạng thái thực tế khó nắm bắt
      • Khó xác định lỗi ngay
      • Hiệu năng mạng ảnh hưởng lớn
      • Dễ xảy ra không nhất quán dữ liệu.
      • Các khối riêng biệt được quản lý lỏng lẻo.
    • Các loại phân tán:
      • Phân tán chức năng theo chiều ngang: Phân loại theo kiểu ứng dụng và kiểu dữ liệu.
      • Phân tán tải theo chiều nganh: Nhiều máy tính cùng thực hiện chung 1 xử lý. 1 máy hỏng chuyển yêu cầu cho các máy tính khác.
      • Phân tán chức năng theo chiều dọc.
2.3.4 Phân lọai theo chế độ xử lý 

 - Xử lý theo khối  dữ liệuđược gộp chung lại sau một thời gian  mới xử lý trong 1 lần.
 - Xử lý thời gian thực  dữ liệu được xử lý ngay lúc yêu cầu và trả về ngay kết quả

2.4 Hiệu năng và sự tin cậy của hệ thống

Để đánh giá các hệ thống máy tính, nhiều phương pháp khác nhau đã được đưa ra.

2.4.1 Các chỉ số hiệu năng   
Chú ý: Câu hỏi thường hay cho ở phần tính giá trị MIPS
  • Thời gian đáp ứng: Là khoảng thời gian từ hoàn thành quá trình nhập từ một đầu vào đến lúc bắt đầu quá trình xuất từ một đầu ra.
  • Thông lượng: Là số lượng công việc có thể xử lý bởi một hệ thống máy tính trong  một khoảng thời gian nhất định hoặc là số lượng thời gian để xử lý một công việc nào đó.
  • Thời gian quay vòng
  • Hỗn hợp lệnh:
    • Là sự kết hợp giữa phần cứng và hệ thống máy tính. Phần cứng tốt nhưng hệ thống kém thì tốc độ cũng chậm.
    • Đơn vị đo MIPS (Million Instruction Per Second) Chỉ số hiệu năng miêu tả số lệnh máy trong một giây theo đơn vị triệu (10^6)
  • Cho :
    • Nhóm lệnh A: Tốc độ thực hiện 0.1 ms Với Tần số xuất hiện 40%.
    • Nhóm lệnh B: Tốc độ thực hiện 0.2 ms với Tần số xuất hiện 30%.
    • Nhóm lệnh C: Tốc độ thực hiện 0.5 ms với Tần số xuất hiện 30%.
    • Tính thời gian thực hiện lệnh trung bình?
               Giải:
 0.1*(10^-6)*0.4 + 0.2 * (10^-6)*0.3 + 0.5*(10^-6)*0.3 = 0.25*(10^-6) giây /lệnh.
--> Số lệnh thực hiện trong 1 giây là = 1/ (0.25*10^-6) = 4 * 10^6 (lệnh/giây) = 4 MIPS.

Chỉ số Benchmark: Chỉ số được sử dụng để so sánh và đánh giá hiệu năng toàn diện của các máy tính.

2.4.2 Tính tin cậy
Chú ý: Nhớ RASIS ý nghĩa của các từ này
Các chỉ số tin cậy:
  • RASIS (Reliability-Avalability - Serviceability-Integrity-Security)
  • Đường cong Bathub: là đồ thị chỉ ra mối quan hệ giữa xác suất lỗi và thời gian giống với hình dạng của cái bồn tắm. Lỗi nhiều ở đầu và cuối quá trình vận hành.
Các ký thuật thiết kế độ tin cậy:
  • Fail-Soft: Xảy ra lỗi bộ phận bị lỗi được ngắt khỏi hệ thống và hệ thông tiếp tục hoạt động với hiệu năng thấp hơn.
  • Fail-Safe: Lỗi xảy ra hệ thống khóa các chức năng của một hệ thống và tập trung xử lý lỗi.
2.4.3 Tính khả dụng
Chú ý: Tính khả dụng luôn thi
MTBF (Mean Time Between Failures) là thời gian hệ thống hoạt động tiếp tục không có lỗi.
MTTR (Mean Time To Repair) là thời gian hệ thống được sửa chữa lỗi.
Tính khả dụng: A = (MTBF) / (MTBF+ MTTR).
 Nối tiếp: Tính khả dụng = P1*P2*P3
Song song: Tính khả dụng của toàn bộ hệ thống:
= 1- (Xác suất tất cả các khối cùng hỏng đồng thời)
= 1- (Xác xuất khối 1 hỏng)*(Xác suất khối 2 hỏng)*(Xác suất khối 3 hỏng) 
= 1- (1-P1)*(1-P2)*(1-P3)

Ví dụ: Tính khả dụng của hệ thống A và B là 2 khối mỗi khối có tính khả dụng là 0.97. Toàn bộ được xem  là hoạt động nếu ít nhất 1 trong 2 khối hoạt động/ Hình:
   -------A-------
--|                  |--
   -------B-------
Tính khả dụng = 1- (1-0.97)*(1-0.97)= 0.9991


 2.5 Các ứng dụng hệ thống

Internet: Là một tập hợp của các mạng trên toan thế giới kết nối với nhau thông qua giao thức TCP/IP.
Intranet: Mạng nội bộ trong phạm vi một công ty ứng dụng công nghệ của Internet.
Extranet: là một mạng Intranet mở rộng của nhiều công ty.Nhiều Intranet --> Nhiều Extranet --> Internet.


Trung tâm dữ liệu: là một CSDL lớn của toàn công ty hỗ trợ việc ra quyết định.
Khai thác dữ liệu: là phát hiện ra những xu hướng và mô hình để từ đó lập ra gả thuyết.
Chợ dữ liệu: là CSDL được trích ra từ trung tâm dữ liệu.
OLAP (Online Analytical Processing: Xử lý phân tích trực tuyếnuyến) là ứng dụng phân tích trong đó nguwoif dùng cuối phát hiện ra các vấn đề và  giải pháp của ván đề đó bằng cách trực tiếp tìm kiếm và tổ chức một cơ sở dữ liệu.
OLTP (Online Transaction Process: Xử lý giao dịch trực tuyến) là chế độ xử lý mà thông điệp được gửi đến máy tính chủ xử lý từ nhiều thiết bị cuối, thông điệp sẽ được xử lý thông qua việc truy cập đến hàng loạt csdl và trả lại kết quả ngay lập tức.


Chủ Nhật, 1 tháng 10, 2017

[C] Difference between new and malloc

new malloc
calls constructor doesnot calls constructors
It is an operator It is a function
Returns exact data type Returns void *
on failure, Throws On failure, returns NULL
Memory allocated from free store Memory allocated from heap
can be overridden cannot be overridden
size is calculated by compiler size is calculated manually

Nguồn: http://www.geeksforgeeks.org/malloc-vs-new/