Trang chủ Chuyên Ngành ĐỀ CƯƠNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH LỜI GIẢI...

ĐỀ CƯƠNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH LỜI GIẢI CHI TIẾT

331
ĐỀ CƯƠNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH LỜI GIẢI CHI TIẾT
ĐỀ CƯƠNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH LỜI GIẢI CHI TIẾT

Nội dung:

Đề cương kiến trúc máy tính và hệ điều hành ôn tập có đáp án chi tiết

Đề cương kiến trúc máy tính và hệ điều hành ôn tập, tự học có đáp án chi tiết theo chuẩn chương trình chuyên ngành đại học bộ giáo dục và đào tạo

Câu 1: Viết đầy đủ tên tiếng Anh và dịch ra tiếng Việt các cụm từ viết tắt sau đây:

KTMT:

KH TÊN ĐẦY ĐỦ DỊCH NGHĨA Trang
LRU Least recently used được sử dụng gần đây nhất 75
AC accumulator (thanh ghi) tích lũy 53
ALU arithmetic logical unit bộ số học- logic 36
ANSI american national standard institude viện nghiên cứu chuẩn quốc gia mỹ 57
ASCII american standard code for information interchange bảng mã chuẩn 57
B base hệ số cơ sở 46
BCD binary code decimal số thập phân được mã hoá thành nhị phân 44
CD- ROM Compact disc read-only memory bộ nhớ đĩa chứa dữ liệu chỉ đọc 89
CICS complex  instruction set computer các máy tính hoặt bộ xử lí có tập lệnh phức tạp 57
CLV constant linear velocity Kỹ thuật vận tốc dài ko đổi 89
CPI cyscle per instruction số chu kì của một lệnh 9
CPU central processing unit bộ xử lí trung tâm 36
CRT cathode ray tube công nghệ ống tia âm cực 111
CS chip select chọn chip 30
CU control  unit bộ điều khiển 36
DI decode instruction giải mã lệnh 38
DMA direct memory access truy nhập bộ nhớ trực tiếp 39
DMAC direct memory access controller điều khiển bộ nhớ truy cập trực tiếp 39
EEPROM electrically erasable programmable read only memory Là bộ nhớ chủ yếu chỉ đọc (nhưng có thể đc ghi vào bất kỳ thời điểm nào mà ko cần phải xoá sạch nội dung trước đó) 68
EI execute instruction thực hiện lệnh 38
EPROM erasable programmable read only memory là PROM có thể xoá đi và lập trình lại (yêu cầu một công cụ đặc biệt là tia cực tím). Để lập trình lại EPROM, toàn bộ chip trước tiên phải bị xoá hoàn toàn. 68
FAT file allocation table bảng quản lí thư mục 83
FI fetch instruction nạp lênh 38
FIFO first in first out chiến lược vào trước ra trước 81
FO fetch operand nạp các toán hạng 38
HAD Head disk assembly Kỹ thuật lắp ráp đĩa đóng hộp đầu kín 82
IF intrucion frequency tần số của dòng lệnh 9
IR instruction register thanh ghi lệnh 38
IRQ interrupt request yêu cầu ngắt 39
LCD liquid crystal display công nghệ tinh thể lỏng 111
LFU least frequency used chiến lược thay thế vị trí ít được sử dụng nhất 79
M memory bộ nhớ 7
M matisa phần định trị 46
MAR memory address register thanh ghi địa chỉ bộ nhớ 50
MFLOPS million floating point operation per second số lượng phép tính với số thực trong một giây 9
MIPS million instruction per second số lượng lệnh được xử lí trong một giây 9
MRB memory buffer register thanh ghi bộ nhớ đệm 52
MTMD multi intruction multi data máy tính đa dòng lệnh, đa dòng dữ liệu 8
OF overflower cữ tràn 44
P processor bộ xử lí 7
PC program counter bộ đếm chương trình 37
POS procduct of sums tích của các tổng 13
PROM programmable ROM 1 biến thể của ROM có thể được lập trình bởi người sử dụng với các thiết bị phù hợp. Trong khi ROM được cài đặt bằng phần mềm thì PROM có thể cài đặt vào chương trình vào chip. Sau khi lập trình, dữ liệu và thông tin trong PROM không thể thay đổi. 68
PSW program status word từ trạng thái chương trình 51
RA receive address địa chỉ cần đọc 74
RAM radom access memory bộ nhớ truy cập ngẫu nhiên 36
RISC reduced instruction set computer máy tính có tập lệnh rút gọn 57
ROM read only memory bộ nhớ chỉ đọc 36
S sign dấu hiệu 46
SIMD single intruction multi data máy tính đơn dòng lệnh , đa dòng dữ liệu 8
SISD single intruction single data máy tính đơn dòng lệnh và đơn dòng dữ liệu 7
SOP sum of products tổng các các tích 13
USB universal serial bus đường truyền  nối tiếp chung 98
WO write operand ghi kết quả 38

`HĐH:

KH TÊN ĐẦY ĐỦ DỊCH NGHĨA Trang
DMA direct memory access truy xuất bộ nhớ trực tiếp 248
FAT file allocation table bảng định vị tệp 287
FSD Flie system driver điều khiển hệ thống tệp tin 277
FTP file transfer protocol giao thức truyền tệp 177
GUID globally unique identifier định danh đối tượng duy nhất 307
LAN local area network mạng cục bộ 165
LCNs logical cluster numbers đĩa bằng số hiệu cluster logic 276
LDM logical disk manager quản lí đĩa logic 305
MAN metropolitan area network mạng đô thị 165
MBR master boot record Bản ghi khởi động chủ 304
MFT master file table bảng tệp chính 312
NFS network file system hệ thống tập tin mạng 177
NTFS New Technology File System Hệ thống tập tin công nghệ mới 276
PC personal computing máy tính cá nhân 163
PCT page control table bảng điều khiển trang 221
PDAs personal digital assistants máy hỗ trợ cá nhân dùng kĩ thuật số 164
RAID Redundant Arrays of Inexpensive Disks là hình thức ghép nhiều ổ đĩa cứng vật lý thành một hệ thống ổ đĩa cứng có chức năng gia tăng tốc độ đọc/ghi dữ liệu hoặc nhằm tăng thêm sự an toàn của dữ liệu chứa trên hệ thống đĩa hoặc kết hợp cả hai yếu tố trên.
SCT segmen control table bảng điều khiển đoạn 220
TCP/IP transmission control protocol/ internet protocol giao thức truyền thông 165
VCNs vitrual cluster numbers số hiệu cluster ảo 276
WAN wide area network mạng diện rộng 165

Câu 2: kiến trúc máy tính được phân loại như sau:

* máy tính đơn dòng lệnh và đơn dòng dữ liệu( single instruction single data-SISD): tại một thời điểm chỉ có một lệnh thực hiện trên một dữ liệu

- dạng kiến trúc máy tính tuần tự :

 

Sơ đồ máy tính đơn dòng lệnh đơn dòng dữ liệu( máy tính tuần tự) với P: processor: bộ xử lí và memory: M

  • Máy tính đơn dòng lệnh và đa dòng dữ liệu( single instruction single data- SIMD): tại một thời điểm sử dụng một phép tính hoặc một lệnh và thao tác đồng thời nhiều dữ liệu

Máy tính vecto, mảng:

  • Máy tính đa dòng lệnh và đa dòng dữ liệu( multi instruction multi data- MIMD) máy tính đa dòng lệnh và đa dòng dữ liệu: loại máy tính này xử lí nhiều phép toán hoặc nhiều lệnh cùng một lúc trên nhiều bộ dữ liệu khác nhau:
  • Cấu trúc đa máy tính:

  • Máy tính nơron: loại máy tính này được siwr dụng kiến thức mô phỏng nổn của con người. người ta cs thể xây dựng cho máy tính các chương trình có thể tự học và có tốc độ xử lí rất lớn.
  • Máy tính lượng tử và máy tính sinh học đang được nghiên cứu.

Câu 3: đặc điểm kiến trúc cơ bản của  MARIE (a Machine Architecture that is Really Intuitive and Easy

MARIE có những đặc điểm sau đây:

  • Nhị phân, bù 2
  • Chương trình lưu trữ, chiều dài từ máy cố định
  • từ máy (nhưng không phải byte) địa chỉ
  • 4K từ máy của bộ nhớ chính (điều này có nghĩa 12 bit cho mỗi địa chỉ)
  • 16-bit dữ liệu (những từ máy có 16 bit)
  • 16-bit chỉ dẫn, 4 bit cho các mã máy và 12 bit cho địa chỉ
  • một thanh ghi tích lũy 16 bit (AC)
  • một thanh ghi lệnh 16 bit (IR)
  • một thanh ghi đệm bộ nhớ 16 bit (MBR)
  • một bộ đếm chương trình 12 bit (PC)
  • một thanh ghi địa chỉ bộ nhớ 12 bit (MAR)
  • Một thanh ghi đầu vào 8-bit
  • Một thanh ghi đầu ra 8-bit

Hình 4.8 cho thấy kiến ​​trúc cho Marie.

Trước khi tiếp tục, chúng ta cần phải nhấn mạnh một điểm quan trọng về bộ nhớ. Trong Chương 8, chúng tôi trình bày một bộ nhớ đơn giản được xây dựng sử dụng mạch lật ( D flip-flops). Chúng tôi nhấn mạnh một lần nữa rằng mỗi vị trí trong bộ nhớ có một địa chỉ duy nhất (trong hệ nhị phân) và mỗi địa điểm có thể giữ một giá trị. Những khái niệm về địa chỉ so với những gì là thực sự được lưu trữ tại địa chỉ đó có xu hướng gây nhầm lẫn. Để tránh nhầm lẫn, chỉ cần hình dung một bưu điện. Có hộp bưu điện với "địa chỉ" khác nhau hoặc số. Trong thư có thư. Để nhận được thư, số lượng các hộp thư phải được biết. Điều này cũng giống như dữ liệu hoặc lệnh cần phải được nạp từ bộ nhớ. Các nội dung của bất kỳ địa chỉ bộ nhớ nào cần được xác định địa chỉ của vị trí bộ nhớ đó. Chúng ta sẽ thấy rằng có nhiều cách khác nhau để xác định địa chỉ này.

Câu 4: Hãy gọi tên và cho biết chức năng của các thanh ghi trong MARIE

Ở MARIE, có 7 bản ghi, như sau:

  • AC : thanh ghi tích lũy, nơi giữ các giá trị dữ liệu. Đây là 1 bản ghi chung và giữ các dữ liệu mà CPU cần xử lí. Phần lớn các máy tính điện tử ngày nay có nhiều bản ghi chung.
  • MAR : thanh ghi địa chỉ bộ nhớ , nó chứa các địa chỉ bộ nhớ của dữ liệu đang được tham chiếu.
  • MBR : thanh ghi bộ nhớ đệm, nắm giữ các giữ liệu chỉ đọc từ bộ nhớ, hoặc dữ liệu đã sẵn sàng lưu vào bộ nhớ.
  • PC : bộ đếm chương trình, nơi giữ các địa chỉ của lệnh tiếp theo được thực hiện trong chương trình.
  • IR : Thanh ghi lệnh, nơi giữ tập lệnh tiếp theo được xử lí
  • InREG : Thanh ghi nhập, nơi chứa dữ liệu từ thiết bị nhập vào.
  • OutREG : Thanh ghi xuất, nơi chứa dữ liệu từ thiết bị xuất ra.

MAR, MBR, PC và IR giữ các thông tin riêng biệt và không được sử dụng cho bất cứ điều gì khác ngoài mục đích của chúng. Lấy ví dụ, chúng ta không thể lưu trữ một giá trị dữ liệu tùy ý từ bộ nhớ trong PC. Chúng ta phải sử dụng MBR hoặc AC để lưu trữ giá trị tùy ý này. Ngoài ra, có 1 trạng thái thanh ghi hoặc miền bản ghi giữ thông tin cho thấy các điều kiện khác nhau, chắc hạn việc tràn bộ nhớ trong ALU.

Tuy nhiên, để cho rõ ràng, chúng tôi không bao hàm thanh ghi trong bất kì một con số.

MARIE là một máy tính đơn giản với một bộ thanh ghi bị hạn chế.  Các bộ vi xử lý hiện đại có vô số các thanh ghi chung, thường được gọi là ‘ thanh ghi mà người dùng có thể nhìn thấy’, mà thực hiện các chức năng tương tự như của AC.

Câu 5: các đơn vị đo khả năng hoạt động của máy tính:

  • Số lượng lệnh được thực xử lí trong một giây( million instruction per second- MIPS) dùng để đo số lượng lệnh trung bình có thể thực hiện được trong một giây dựa theo tần suất xuất hiện của các lệnh trong chương trình

Trang( 9)

  • Số lượng phép tính với số thực trong 1 giây( MFLOPS= million floating point operatopn per second): dùng để đo phép tính số học với số thực dấu chấm động trong thời gian một giây thông thường cho bộ xử lí vecto
  • Thông lượng của kênh( throughput): là số lượng các chương trình, các công việc hoặc các yêu cầu mà bộ xử lí có thể thực hiện được trong một đơn vị thời gian.
  • Tính hiệu dụng( utilization): là tỉ lệ thời gian mà bộ xử lí nhận yêu cầu đến khi bộ xử lí thực hiện xong yêu cầu.
  • Thông lượng của bộ nhớ( memory band width) là thông lượng của các từ( word), tức là số lượng các bit mà bộ xử lí có thể truy nhập được từ bộ nhớ trong một đơn vị thời gian
  • Thời gian truy cập bộ nhớ( access memory time) là khoảng thời gian trung bình mà bộ xử lí có thể truy nhập được một mục dữ liệu từ bộ nhớ. Nó thường được đo bằng nano giây( ns)
  • Kích thước của bộ nhớ( memory size) thể hiện số lượng dữ liệu mà bộ nhớ có thể lưu trữ được. nó được đo bằng MB

Câu 6 Trình bày chế độ ngắt (Interrupt) trong hoạt động của máy tính tuần tự. Có mấy loại ngắt? ( trang 39)

  1. Chế độ ngắt trong hoạt động của máy tính tuần tự

Chế độ ngắt là cơ chế tạm dừng một chương trình đang thực hiện một cách đột ngột( không biết trước thời điểm xảy ra). Khi đó máy tính sẽ phải lưu lại tất cả các trạng thái hiện thời của chương trình bị ngắt để thực hiện chương trình ngắt. khi thực hiện xong chương trình ngắt thì hệ thống phải khôi phục lại trạng thái của chương trình trước khi ngắt để tiếp tục làm việc bình thường.

Các tình huống xảy ra ngắt:

  • Khi một chương trình đang thực hiện bình thường nó gặp một lệnh nảy sinh ra lỗi. ví dụ gặp phái một phép chia cho ). Lúc đó hệ thống tạm dừng chương trình để đưa ra thông báo.
  • Khi chương trình đang hoạt động bình thường, nếu CPU nhận được tín hiệu từ các bộ phận khác như bàn phím, hoặc chuột thì phải đáp ứng các tín hiệu này.
  • Có các thiết bị hoạt động theo các chu kì nhất định như xung nhịp đồng hồ sẽ sản sinh ra những tín hiệu ngắt.
  1. Các loại ngắt:

Có các loại ngắt sau:

  • Ngắt cứng: do các thiết bị vào ra( như bàn phím, chuột, máy in..) chủ động sinh ra các yêu cầu ngắt khi nó làm việc.
  • Ngắt mềm: được sản sinh ra khi thực hiện các chương trình. Ví dụ: thông báo phép chia cho 0.
  • Ngắt che được( markable): khi có tìn hiệu ngắt loại này thì hệ thống có thể đáp ứng hoặc không đáp ứng yêu cầu ngắt.
  • Ngắt không che được( unmarkable): loại ngắt bắt buộc hệ thống phải thực hiện khi có yêu cầu ngắt,

Câu 7:Cơ chế truy cập bộ nhớ trực tiếp (DMA) là gì? Nêu nguyên lý hoạt động của chế độ này

( trang 39)

Phương pháp truy cập bộ nhớ trực tiếp DMA( direct memory access I/O) để tránh nhược điểm của phương pháp I/O được điều khiển bởi ngắt là mỗi lần truyền một kí tự lại phải ngắt một lần. khi đó chính CPU phải thực hiện chương trình con xử lí ngắt dẫn đến tốn thời gian làm việc của CPU, người ta sử dụng phương pháp truy cập bộ nhớ trực tiếp DMA. Trong cơ chế này, dữ liệu sẽ được truyền trực tiếp từ bộ nhớ đến các thiết bị ngoại vi và ngược lại. quá trình truyền dữ liệu này không bị điều khiển bởi CPU mà bởi các thiết bị phần cứng gọi là bộ điều khiển truy cập bộ nhớ trực tiếp DMAC( direct memory access controller)

  • Nguyên lí hoạt động của chế độ DMA như sau:
  • Khi có nhu cầu truyền dữ liệu các thiết bị ngoại vi và bộ nhớ, các thiết bị ngoại vi sẽ phát tín hiệu yêu cầu tới bộ DMAC
  • DMAC phát tín hiệu tới CPU đòi CPU đi vào chế độ DMA
  • Bộ xử lí thực hiện nốt chu kì máy, phát tín hiệu chấp nhận cho DMAC và tự tách mình ra khỏi hệ thống BUS cho DMAC
  • DMAC làm chủ kênh truyền địa chỉ, kênh truyền dư liệu và kênh điều khiển. dữ liệu được truyền trực tiếp giữa bộ nhớ và thiết bị ngoại vi mà không qua CPU điều khiển.
  • Khi dữ liệu truyền xong DMAC phát tín hiệu cho CPU, trả quyền điều khiển hệ thống BUS cho CPU. CPU là việc bình thường.

Chế độ DMA thường được dùng để truyền dữ liệu giữa các thiết ị có khả năng truy xuất thông tin với khối lượng lớn và đòi hỏi tốc độ truy xuất cao như các thiết bị đĩa cứng, đĩa mềm và bộ nhớ.

Câu 8: Trình bày các khối chức năng chính trong cấu trúc của máy tính tuần tự.

Cấu trúc chung của máy tính gồm các khối chức năng chính sau đây:

  • Bộ xử lí trung tâm( central processing unit-CPU) là bộ não của máy tính, gồm các phần chính sau đây:
  • Bộ điều khiển:( control unit- CU) phiên dịch các lệnh thành các vi lệnh( micro operation) hoặc chuyển đổi thành các tón hiệu điều khiển các tín hiệu khác trong máy tính, đồng thời đồng bộ và phối hợp sự hoạt động của tất cả các bộ phận trong máy tính
  • Bộ số học và logic( arithmetic- logical unit- ALU) được sử dụng để tính toán các phép toán số học như cộng, trừ, nhân chia được dịch thành số nhị phân, đồng thời thực hiện các phép toán logic.
  • Ngoài 2 bộ phận trên còn có các thanh ghi( registers) là nơi lưu trữ tạm thời các lệnh, các dữ liệu đang và sẽ thực hiện. chúng đóng vai trò trung gian giữa bộ điều khiển và bộ số học- logic với các bộ phận khác trong máy tính. Các thanh ghi này có tốc độ truyền dữ liệu cực lớn.
  • Bộ nhớ( memory): được sử dụng để lưu trữ các dữ liệu và các chương trình và các kết quả trung gian trong quá trình thực hiện. bộ nhớ có 2 loại chính:
  • ROM( read only memory- bộ nhơ chỉ đọc): loại bộ nhơ này chỉ dùng để đọc thông tin ra. Nó thường được sử dụng để ghi các thông số của máy tính và các chương trình cơ sở để máy tính hoạt động được. thông tin trong bộ nhớ này không bị mất đi khi mật điện hoặc khi tắt máy. Bộ nhớ này thường có dung lượng nhỏ.
  • RAM( random access memory- bộ nhớ truy cập ngẫu nhiên) là bộ nhớ truy cập ngẫu nhiên, nghĩa là có thể đọc và ghi vào bất kì vị trí nào trong bộ nhớ. Nó thường được dùng để lưu trữ các kết quả trung gian trong quá trình thực hiện một chương trình và lưu trữ các chương trình khi thực hiện. thông tin trong bộ nhớ se bị xóa sạch khi mất điện hoặc tắt máy. Tốc độ của bộ nhớ RAM nhanh hơn tốc độ của bộ nhớ ROM. Dung lượng của RAM lơn hơn dung lượng của bộ nhớ ROM nhiều lần.
  • Giao diện vào/ra( I/O interface) cho phép bộ nhớ nhận và truyền thông với các bộ phận bên ngoài như ổ đĩa, bàn phím, màn hình….
  • Hệ thống kệnh truyền thông( bus): bộ xử lí trung tâm CPU thực hiện kết nối và trao đổi thông tin với các bộ phận chức năng khác thông qua hệ thống kênh truyền tin. Về mặt vật lí, bus là tập hợp các đường truyền tín hiệu điện, mỗi đường dây truyền được một bit thông tin tại một thời điểm. hệ thống kênh truyền thông tin của máy tính có 3 loại, mỗi loại truyền một loại thông tin:
  • Kênh điều khiển( control bus) được sử dụng để truyền các tín hiệu điều khiển từ bộ xử lí đến các bộ nhớ hoặc các giao diện vào ra, đồng thời nó chuyển tín hiệu phản hồi từ các bộ phận về bộ xử lí. Ngoài ra nó còn được dùng để liên kết các bộ phận bên trong của bộ xử lí.
  • Kênh địa chỉ( address bus) được sử dụng để truyền các địa chỉ từ bộ xử lí đến các thiết bị hoặc vùng bộ nhở cần truy nhập. khi đó, các bộ giải mã so sánh địa chỉ này với địa chỉ của mình. Nếu trùng thì cho phép truyền dữ liệu hoặc cho phép điều khiển.
  • Kênh dữ liệu( data bus): được sử dụng để truyền các địa chỉ từ bộ xử lí đến các thiết bị ngoại vi tớ CPU và ngược lại.

Câu 9: Nêu các chức năng chính của bộ xử lý trung tâm

Các chức năng chính của bộ xử lí trung tâm( trang  41)

Bộ xử lí trung tâm là trái tim, khối óc của máy tính. Nó vừa phân tích thông tin, vừa điều khiển cách truyền tin. Cấu trúc của một CPU cho biết nó xử lí lệnh và dữ liệu như thế nào:

Các chức năng chính của bộ xử lí trung tâm bao gồm:

  • Nạp các lệnh ( fetch instructions): trước khi thực hiện lệnh. CPU cần phải nạp các lệnh từ bộ nhớ.
  • Dịch các lệnh( interpret instructions): sau khi nạp lệnh, CPU cần phải giải mã lệnh để xác định yêu cầu thực hiện của lệnh.
  • Nạp dữ liệu( fetch data): nếu việc thực thi lệnh một lệnh yêu cầu việc đọc dữ liệu từ bộ nhớ hoặc từ một modum vào/ra( I/O mudule) thì cần phải nạp các dữ liệu này.
  • Xử lí dữ liệu( process data): thực hiện một vài phép toán số học hoặc phép toán logic trên dữ liệu.
  • Ghi dữ liệu: ( write data): ghi kết của việc thực thi lệnh vào bộ nhớ hoặc modun vào/ra.

Để có thể là được những việc trên, CPU cần phải lưu trữ tạ thời một số dữ liệu. việc lưu trữ các lệnh và dữ liệu tạm thời trong khi một lệnh đang được thực thi nhờ một bộ nhớ trong nhỏ của CPU – đó là các thanh ghi.

Câu 10:Bộ xử lý trung tâm (CPU) có những bộ phận cơ bản nào? Chức năng của từng bộ phận là gì

  1. Cấu trúc của CPU

( trang 42)

Các thành phần chisnhc của CPU bao gồm: bộ số học logic ALU, bộ điều khiển CU, và các thanh ghi và một số cơ chế kết nối các bộ phận này với nhau.

  1. Chức năng chính của từng bộ phận
  • Bộ số học logic( ALU) bộ số học logic là một bộ phận của máy tính có chức năng thực hiện các phép tính số học và logic trên các dữ liệu.

Trong đó các số thực hay số nguyên được biểu diễn theo cách sau:

  • Biểu diễn dữ liệu trong máy tính:

+ đơn vị thông tin cơ bản nhất trong máy là bit( binary digit)

+ năm 1964 các nhà thiết kế máy tính mainframe IBM syste/360 đưa ra đơn vị biểu diễn địa chỉ bộ nhớ của máy tính là 1 byte= 8 bit

+ các từ máy( computer word) có thể bằng 1 hoặc nhiều byte. Kích thước của áy có thể là 8 bits, 16 bits, 32 bits.. tùy thuộc vào tổ chức máy tính.

  • Biểu diễn số nguyên trong máy tính:

+ dạng biểu diễn dấu- độ lơn( sign- magnitude) trong một từ có n bit thì bit trái ngoài cùng biểu diễn dấu, còn N-1 bit sẽ biểu diễn độ lớn của số.

+ sử dụng só bù 1( 1’s complement representation)

+ sử dụng số bù 2( 2’s- comlement representation) để biểu diễn số â trong hệ nhị phận.

+ biểu diễn bằng mã BCD( binary code decimal)

  • Biểu diễn sô thực trong máy tính

+ người ta biểu diễn số thực trong máy tính bằng 2 cách: số thực dấu phẩy động và số thực với dấu phẩy tĩnh.

+ với số thực dấu phẩy tĩnh thì các phép tính được thực hiện tương tự như các số nguyên

+ để biểu diễn các giá trị cực lớn hoặc cực nhỏ, người ta cũng dùng cách biểu diễn theo dấu phẩy động với các số nhị phận dược dạng

S*B^(+-E)*M

Với khuôn dạng:

S E M

 

  • Sử dụng bias

+ mục đích: để chuyển bất kì số nguyên nào trong khuôn dạng đã cho đều được biểu diễn dưới dạng số nguyên không âm.

+ giá trị bias là một số nằm gần giữa các giá trị có thể được chọn để biểu diễn số 0.

  • Thiết bị điều khiển ( CU)

Có chức năng phiên dịch các lệnh thành vi lệnh( micro operator) hoặc chuyển đổi thành các tín hiệu điều khiển các tín hiệu khác trong máy tính, đồn thơi đồng bộ và phối hợp sự hoạt động của tất cả các bộ phận trong máy tính.

  • Có 2 cách thiết kế bộ điều khiển:

+ các bộ điều khiển nối cứng với nhau( hard wired CU): các bộ điều khiển sử dụng các mạch để biểu diễn các trạng thái khác nhau của bộ xử lí( với mỗi tín hiệu đưa vào thì nó sẽ sinh ra một loạt tín hiệ điều khiển tương ứng với trạng thái đó bằng các bộ phận phần cứng). đặc điểm của cách thiết kế này là tốc độ tính toán rất nhanh vì nó thực hiện bằng phần cứng. tuy nhiên nó không linh hoạt vì mỗi khi muốn thêm một lệnh thì người ta phải thiết kế lại bộ điều khiển này. Tuy nhiên trong thực tế, phần lớn người ta đều dùng bộ điều khiển này do tốc độ lớn và phương pháp thiết kế đã được chuẩn hóa.

+ các bộ điều khiển vi chương trình( micro programmed CU): đế khắc phục tính không linh hoạt của bộ điều khiển vi chương trình. Với mỗi loại lệnh của bộ xử lí thì nó sẽ được phiên dịch ra thành các vi lệnh. Mỗi vi lệnh này sẽ được thực hiện trong một bộ điều khiển vi chương trình. Đặc điểm của cách thiết kế này là tốc độ thực hiện chậm vì nó có quá nhiều công đoạn, tương tự như chương trình con. Bộ điều khiển này kinh hoạt hơn vì các lệnh muốn thêm hoặc thay đổi chỉ cần thay đổi trong bộ nhớ vi lệnh. Tuy nhiên, bộ điều khiển này ít được dùng trong thực tế.

  • Các thanh ghi:

Các thanh ghi trong CPU có 2 loại:

  • Các thanh ghi hữu hình đối với người sử dụng( user- visible registers): các thanh ghi này cho phép các nhà lập trình bằng ngôn ngữ máy hoặc ngôn ngữ asembly sử dụng chúng một cách tối ưu để hạn chế việc tha chiều bộ nhớ chính:
  • Các thanh ghi điều khiển và thanh ghi trạng thái( control and status registers): các thanh ghi này được CU sử dụng để điều khiển hoạt động của CPU và được chương trình của hệ điều hành sử dụng để điều khiển việc thực thi các chương trình.
  • Các thanh ghi hữu hình đối với người sử dụng bao gồm:
  • Các thanh ghi đa năng( general- purpose registers) chức năng của chúng do người lập trình gán. Trong một tập lệnh, bất kì thanh ghi đa năng nào đều có thể chứa một toán hạng cho các phép toán dấu phấy động. trong một số trường hợp, các thanh ghi đa năng cũng có thể được dùng để ghi địa chỉ( gián tiếp hoặc thay thế)
  • Các thanh ghi dữ liệu( data register): chỉ dùng để lưu trữ dữ liệu và không thể tha gia vào việc tính toán.
  • Các thanh ghi địa chỉ( address registers): gần giống như thanh ghi đa năng trong đó có các địa chỉ được phân đoạn.
  • Các con trỏ đoạn ( segment pointers): lưu trữ địa chỉ cơ sở của đoạn trong một máy tính có các địa chỉ được phân đoạn
  • Các thanh ghi chỉ số( index registers) được sử dụng cho các địa chỉ được chỉ số hóa và có thể được chỉ số hóa một cách tự động
  • Con trỏ ngăn xếp( stack pointer): nếu có địa chỉ ngăn xếp hữu hình đối với người sử dụng thì ngăn xếp ở trong một bố nhớ và có một thanh ghi riêng trỏ tới đỉnh của ngăn xếp.
  • Các thanh ghi mã điều kiện( condition codes registers) còn gọi là các thanh ghi cờ( flags): là các bit được thiết lập bởi phần cứng CPU chứa các thông tin về trạng thái kết quả của các phép toán( âm, dương, bằng không, hoặc bị tràn số)
  • Các thành ghi điều khiển và thanh ghi trạng thái:

Có nhiều thanh ghi khác nhau phục vụ cho việc điều khiển hoạt động của CPU. Hầu hết các thanh ghi này phần lớn các máy tính lớn các máy tính hữu hình đối với người sử dụng. các máy tính khác nhau sẽ có các tổ chức thanh ghi khác nhau và dùng các tên gọi khác nhau. Sau đây là mô tả ngắn gọn một số loại thanh ghi thông dụng:

Bốn thanh ghi chủ yếu để thực thi lệnh là:

  • Bộ đếm chương trình( program counter- PC) chứa một địa chỉ lệnh, có chưc năng tuần tự tạo ra địa chỉ ô nhớ mà CPU cần truy nhập. PC thực hiện vai trò một con trỏ, trỏ tới ô nhớ mà CPU cần truy nhập sau mỗi lệnh tuần tự hoặc sau mỗi lệnh rẽ nhánh
  • Thanh ghi lệnh ( instruction register- IR) chứa lệnh được nạp gần nhất. tại đây, các mã lệnh và các toán hạng được phân tích.
  • Thanh ghi địa chỉ ô nhớ( memory address register- MAR): chứa địa chỉ của một vị trí trong bộ nhớ.
  • Thanh ghi bộ nhớ đệm( memory buffer register- MBR) chứa dữ liệu được ghi vào bộ nhớ hoặc được đọc ra bộ nhơ gần nhất.

Câu 11: nguyên lí thực hiện một lệnh trong môt chu kì lệnh của máy tính tuần tự:

( trang 37)

Mỗi lệnh được thực hiện trong một chu kì lệnh ( instruction cycle). Chu kì lệnh là khoảng thời gian từ khi nhận lệnh đến khi thực hiện xong lệnh. Các chu kì lệnh không nhất thiết phải dài bằng nhau. Mỗi chu kì lệnh xảy ra trên nhiều chu kì nhịp đồng hồ của CPU.

Mỗi một lệnh được thực hiện theo nhiều giai đoạn, phục thuộc vào loại lệnh. Nói chung việc thực hiện lệnh thường trải qua 5 bước:

  1. Nạp lệnh ( fetch instruction): bắt đầu mỗi chu kì lệnh, CPU nạp từ bộ nhớ RAM vào thanh ghi lệnh ( instruction register- IR).
  2. Giải mã lệnh( decode instruction- DI): bộ điều khiển giải mã lệnh để hiểu được các thao tác cần phải thực hiện.
  3. Nạp các toán hạng( fetch operand- FO): nếu lệnh yêu cầu các tha số thì máy tính sẽ thực hiện việc nạp các toán hạng cho lệnh.
  4. Thực hiện lệnh( execute instruction- EI) dựa vào mã lệnh đã được giải mã mà CPU thực hiện các công việc được yêu cầu. công việc này gồm 1 trong 4 loại sau đây:
  • CPU-memory: truyền dữ liệu CPU đến bộ nhớ hoặc ngược lại
  • CPU-I/O: truyền dữ liệu từ một thiết bị vào ra I/O tới CPU hoặc ngược lại
  • Data processing: CPU xử lí dữ liệu bằng cách thực hiện một vài phép toán số học và logic.
  • Control: điều khiển thứ tự thực thi lệnh.
  1. Ghi kết quả( write operand- WO): ghi kết quả thực hiện lệnh trở lại thanh ghi hoặc bộ nhớ.

Quá trình thực hiện một chương trình được mô tả( nhiều lệnh )

Câu 12: nguyên lí thực hiện một chương trình. Giải thích cách bộ đếm chương trình ( program counter- PC) theo dõi thứ tự lệnh.

( trang 37)

Chức năng cơ bản của máy tính là thực hiện chương trình. Chương trình là tập hợp các lệnh được lưu trữ trong bộ nhớ. Bộ xử lí trung tâm thực hiện chương trình bằng cách lần lượt thực thi các lệnh trong chương trình. Quá trình này được thực hiện theo 2 bước: tại một thời điểm, CPU nạp lệnh từ bộ nhớ và thực thi lệnh này. Việc thực thi chương trình thực chất là sự là sự lặp lại quá trình nạp lệnh và thực thi lệnh.

( vẽ sơ đồ)

Chương trình chỉ dừng khi máy tính tắt, khi gặp lỗi hoặc gặp một lệnh máy tính ngừng hoạt động

Trong CPU có một thanh ghi( register) đặc biệt gọi là bộ đếm chương trình( program counter- PC) được sử dụng để theo dõi thứ tự thực hiện lệnh:

  1. Đầu tiên hệ điều hành bắt đầu nạp chương trình từ các thiết bị ngoại vi vào trong bộ nhớ.
  2. Sau khi chương trình đã nằm trong bộ nhớ thì hệ điều hành sẽ chuyển quyền xử lí chương chương trình cho bộ nhớ bằng cách đưa bộ đếm chương trình PC đến lệnh đầu tiên của chương trình muốn thực hiện
  3. Bộ xử lí bắt đầu thực hiện lệnh này
  4. Sau khi thực hiện xong một lệnh , bộ đếm chương trình sẽ tự động chuyển đến lệnh tiếp theo trong chương trình và lặp lại quá trình trên. Cứ như thế, máy tính sẽ thực hiện hết các lệnh của chương trình và cuối cùng máy tính sẽ trả lại quyền điều khiển cho hệ điều hành.

Câu 13: Trình bày ngắn gọn về các đặc điểm của lệnh máy (các phần tử, dạng lệnh, loại lệnh và số lượng địa chỉ).

  1. Đặc điểm của lệnh máy:
  • Các phần tử trong lệnh máy bao gồm:
  • Mã phép toán( operation code): chỉ định phép toán đang thực hiện dưới dạng mã nhị phân được gọi là mã lệnh( operation code- opcode)
  • Địa chỉ toán hạng nguồn( source operand reference): cho biết địa chỉ của một hoặc nhiều toán hạng nguồn( tức là các toán hạng là đầu vào) của các phép toán.
  • Địa chỉ toán hạng kết quả( result operand reference): cho biết địa chỉ của toán hạng lưu trữ kết quả của phép toán
  • Địa chỉ của lệnh tiếp theo( next instruction reference)
  • Dạng lệnh
Mã lệnh Các toán hạng

Trong đó:

  • Phần một là mã lệnh:( operation code): mỗi một mã lệnh sẽ tương ứng với một dãy số nhị phân. Độ dài của dãy số nhị phân sẽ quy định số lệnh có thể biểu diễn được. với độ dài n bit sẽ có thể biểu diễn tối đa 2^n lệnh.
  • Phần 2 là các toán hạng( operands): độ dài toán hạng sẽ quyết định số lượng toán hạng và quy định kích thước của phần toán hạng.
  1. Các loại lệnh máy:
  • Xử lí dữ liệu( data processing): là các lệnh số học và logic
  • Lưu trữ dữ liệu( data storage): là các lệnh bộ nhớ để chuyển dữ liệu giữa bộ nhớ và thanh ghi.
  • Di chuyển dữ liệu( data movement): có nhiệm vụ chuyển dữ liệu và chương trình vào bộ nhớ và chuyển kết quả cho người dùng
  • Điều khiển( control): các lệnh kiểm tra điều kiện và rẽ nhánh.
  1. Số lượng địa chỉ:

Thông thường trong ột lệnh người ta sử dụng từ 0 đến n địa chỉ( n tham số). với số lượng địa chỉ càng nhiều thì khả năng tính toán và độ linh hoạt của lệnh càng lớn.

Trong thực tế người ta thường sử dụng 2 đến 3 tham số cho lệnh

  • Lệnh một địa chỉ:
  • Lệnh một địa chỉ đơn giản nhất thường thuộc các máy tính đời cũ. Loại máy tính này thực hiện hầu hết các phép toán trên một toán hạng của lệnh và một thanh ghi tích lũy( accuulator- AC). Thanh ghi này đóng vai trò là toán hạng thứ 2 của lệnh. Sau khi thực hiện, kết quả sẽ được ghi trở lại thanh ghi. Ngoài các lệnh thông dụng như ADD, SUB, MPY, DIV.. các máy tính này dùng các lệnh sau:

Load: nạp dữ liệu vào thanh ghi tích lũy

Stor: lấy dữ liệu từ thanh ghi tích lũy đưa vào biểu thức.

  • Lệnh 2 địa chỉ
  • Với lênh 2 địa chỉ và đối với phép toán nhị phân, một địa chỉ có thể phải thực hiện cả 2 nhiệm vụ: vừa là tham chiếu tới toán hạng nguồn( source), vừa là tham chiếu kết quả( đóng vai trò đích- distination)
  • Lện 3 địa chỉ:
  • Với lệnh 3 địa chỉ. Mỗi lệnh chỉ định 2 vị trí toán hạng và một vị trí kết quả. Để tránh thay thế giá trị của bất kì toán hạng nào nên đôi khi ta phải dùng một vị trí T để lưu trữ một số kết quả trung gian
  • Lệnh ngăn xếp
  • Thực chất có thể có một số lệnh không có địa chỉ. Các lệnh không địa chỉ được thực hiện ở một tổ chức bộ nhớ đặc biệt gọi là ngăn xếp( stack). Mọi thao tác xử lí các biểu thức được thực hiện dựa trên các ngăn xếp. nó sẽ đọc và ghi các giá trị ở đỉnh của ngăn xếp.
  • Trong các máy tính ngăn xếp, lệnh thường không chứa các toán hạng nào và người ta chỉ sử dụng 2 lệnh là push và pop để ghi và đọc dữ liệu từ đỉnh ngăn xếp. 2 lệnh này cũng sẽ truy nhập đến bộ nhớ, còn các thao tác khác thì hoàn toàn được thực hiện trên ngăn xếp. loại máy tính này không cho phép sử dụng thanh ghi nên thời thực hiện chương trình lớn

Push x: đưa x vào ngăn xếp

Pop x: lấy giá trị từ ngăn xếp đưa vào x

Add: cộng 2 giá trị từ đỉnh ngăn xếp

Sub: trừ 2 giá trị ở đỉnh ngăn xếp

Mpy: nhân 2 giá trị ở đỉnh ngăn xếp

Div: chia 2 giá trị ở đỉnh ngăn xếp

Câu 14: chức năng chín của bộ nhớ máy tính. Phân loại bộ nhớ theo vị trí và theo phương pháp truy cập dữ liệu. lấy ví dụ minh họa ( trang 64)

  1. Chức năng chính của bộ nhớ:

Bộ nhớ là bộ phận của máy tính dùng để lưu trữ dữ liệu, chương trình, các kết quả trung gian trong quá trình thực hiện chương trình.

  1. Tùy theo vị trí của bộ nhớ trong máy tính người ta phân chia thành 2 loại:
  • Bộ nhớ trong( internal memory): thường là bộ nhớ chính( main memory). Tuy nhiên, còn có các dạng bộ nhớ trong khác. Đó là bộ nhớ trong cục bộ của CPU, bộ nhở riêng của CU.
  • Bộ nhớ ngoài( external memory):gồm các thiết bị lưu trữ ngoại vi( ví dụ như đĩa băng)có thể truy nhập tới CPU thông qua các thiết bị điều khiển vào/ ra( I/O controllers)
  1. Theo phương pháp truy nhập đơn vị dữ liệu( the method of accessing units of data) người ta chia ra làm 4 loại bộ nhớ:
  • Truy nhập tuần tự( sequential access): bộ nhớ được tổ chức thành các đơn vị dữ liệu được gọi là các bản ghi( records). Việc truy nhập được thực hiện theo tuần tự tuyến tính xác định. Người ta sử dụng các thông tin địa chỉ để phân biệt các bản ghi và trợ giúp trong tiến trình truy nhập dữ liệu. một đầu đọc/ ghi được sử dụng để chuyển từ vị trí hiện thời của chúng đến vị trí cần đọc hoặc ghi.
  • Truy nhập trực tiếp ( direct access)
  • Truy nhập ngẫu nhiên( random access)
  • Kết hợp( associative)
  • Ba thông số đo khả năng hoạt động của bộ nhở là:

Thời gian truy nhập( access time)

Thời gian chu kì bộ nhớ( memory cycle time)

Tốc độ truyền ( transfer rate)

Câu 15: lệnh máy thường chứa những phần tử nào: ( trang 52)

  • Các phần tử trong lệnh máy bao gồm:
  • Mã phép toán( operation code): chỉ định phép toán đang thực hiện dưới dạng mã nhị phân được gọi là mã lệnh( operation code- opcode)
  • Địa chỉ toán hạng nguồn( source operand reference): cho biết địa chỉ của một hoặc nhiều toán hạng nguồn( tức là các toán hạng là đầu vào) của các phép toán.
  • Địa chỉ toán hạng kết quả( result operand reference): cho biết địa chỉ của toán hạng lưu trữ kết quả của phép toán
  • Địa chỉ của lệnh tiếp theo( next instruction reference)
  • Các toán hạng nguồn và toán hạng kết quả có thể được đặt ở một trong các vùng sau:

Bộ nhớ chính hoặc bộ nhớ ảo: cũng như với tham chiếu lệnh tiếp theo, phải biết địa chỉ bộ nhớ chính hoặc bộ nhở ảo chứa các toán hạng.

  • Thanh ghi CPU: một CPU có thể chứa một hoặc nhiều thanh ghi cho phép tham chiếu bởi các lệnh máy. Nếu CPU có nhiều hơn một thanh ghi thì có thể ẩn tha chiếu tới nó. nếu CPU có nhiều hơn một thanh ghi thì mỗi thanh ghi được gán một số duy nhất và lệnh phải chứa số của thanh ghi cần thiết
  • Các thiết bị vào/ ra: lệnh máy phải chỉ định rõ modum vào/ra và thiết bị vào ra cho phép toán. Nếu sử dụng mối liên quan giữa bộ nhớ chính hoặc bộ nhớ ảo khác.

Câu 16: Trong hai loại Cache L1 và L2 loại nào nhanh hơn? Loại nào có kích thước nhỏ hơn? Vì sao lại nhỏ hơn?

( trang 73)

Có 2 loại cache:

  • Cache sơ cấp( hay còn được gọi là cache mức 1. Được thiết lập ngay trong CPU và thường chạy cùng với tốc độ xung nhịp của chip.
  • Cache thứ cấp( hay cache mức 2) thường nằm ngay trên bo mạch chủ và thường chạy với tốc độc của nó( chậm hơn tốc độ của CPU), nhưng chip petumbo lại đặt cache thứ cấp ngay trên vỏ bọc của chip nên nó hoạt động với tần số nhanh hơn nhiều tốc độ của bo mạch chủ.
  • Cache L1 nhanh hơn hơn cache L2 do cache L1 chạy cùng với tốc độ xung nhịp chip. Do nó nằm cache L1 nằm ngay trong CPU=> nó nhỏ hơn???

Câu 17. Hãy giải thích cách tổ chức và hoạt động đọc của bộ nhớ Cache ( trang 73)

Ram hệ thống không thể luôn cung cấp đầy đủ dữ liệu cần thiết cho CPU 1 cách nhanh chóng. Do đó, người ta thường dùng bộ nhớ Cache làm trung gian trong quá trình truyền giữa bộ xử lý và RAM.

Sơ đồ: Cache là trung gian giữa CPU và Bộ nhớ chính

Câu 18: thế nào là địa chỉ hóa tức thời? ưu và nhược điểm của phương pháp này:

  1. Khái niệm( trang 60)( immediate addressing)
  • Đây là dạng địa chỉ hóa đơn giản nhất:
  • Phần toán hạng là 1 giá trị cụ thế operand =A. trong đó A là giá trị của toán hạng được lấy từ bộ nhớ về một cách tự động đồng thời thực hiện việc nạp lệnh về vì vậy nó lập tức có sẵn để sử dụng.
  • Chế độ này thường được dùng để khởi tạo các hằng hoặc các giá trị ban đầy.

Lệnh

Op Giá tị toán hạng
  • Ưu điểm:

Khi xử lí lệnh, các toán hạng được cung cấp ngay mà không cần thêm phép truy nhập bộ nhớ nên tốc độ tính toán nhanh.

  • Nhược điểm: do kích thước dành cho phần toán hạng của lệnh là hữu hạn nê khoảng giá trị của toán hạng cũng sẽ bị hạn chế.

Câu 19: thế nào là địa chỉ hóa trực tiếp và gián tiếp.ưu và nhược điểm của từng phương pháp.

(trang 60)

  1. Địa chỉ hóa trực tiếp( direct addressing)

Đây là dạng địa chỉ hóa rất đơn giản.

  • Phần toán hạng trong lệnh chứa địa chỉ của bộ nhớ. Địa chỉ bộ nhớ này chỉ ra nơi lưu trữ giá trị thực sự của toán hạng

  • Ưu điểm: khắc phục được hạn chế về khoảng cách giá trị của toán hạng
  • Nhược điểm: do kích thước của lệnh nhỏ nên phương pháp này bị hạn chế bởi không gian làm địa chỉ cho vùng bộ nhớ. Tốc độ thực hiện chậm hơn phương pháp trên vì lệnh này cần thêm một phép truy nhập bộ nhớ để lấy giá trị
  1. Địa chỉ hóa gián tiếp( indirect addressing)
  • Phần toán hạng chứa địa chỉ của bộ nhớ, địa chỉ của bộ nhớ lại chứa địa chỉ một vùng khác của bộ nhớ chứa giá trị của toán hạng

  • Ưu điểm: tăng phạm vi truy nhập trong bộ nhớ vì độ dài từ máy trong bộ nhớ lớn hơn độ dài của phần toán hạng trong lệnh. Nếu độ dài từ máy là N thì khoảng địa chỉ có thể được truy nhập là 2^N
  • Nhược điể: khi thực thi lệnh , phương pháp này đòi hỏi 2 tham chiếu bộ nhớ để nạp toán hạng, một để lấy địa chỉ của nó và tham chiếu thứ 2 để lấy giá trị của nó. do đó tốc độ tính toán chậm .

Câu 20: trình bày chức năng chính của modun vào/ra:

Chức năng của modun vào ra :

Modun vào ra nằm toàn bộ bên trong máy tính để điều khiển một hoặc nhiều thiết bị bên ngoài và để trao đổi dữ liệu giữa các thiết bị này với bộ nhớ chính và /hoặc với các thanh ghi của CPU. Do đó, một modun vào ra phải có một đầu nối bên trong máy tính( với CPU và bộ nhớ chính) và phải có đầu nối bên ngoài máy tính( với các thiết bị bên ngoài).

Các chức năng chính của modun vào ra:

  • Điều khiển và điều chỉnh thời gian( control and timing)
  • Giao tiếp với CPU( CPU communication)
  • Giao tiếp với các thiết bị( device communication)
  • Làm vật đệm dữ liệu( data bufering)
  • Kiểm tra và phát hiện lỗi( error detection)

Trong bất kì một khoảng thời gian nào, CPU có thể giao tiếp với một hoặc nhiều thiết bị bên ngoài phục thuộc vào nhu cầu của chương trình đối với việc vào/ra mà không thể đoán trước được. các tài nguyên bên trong, ví dụ như bộ nhớ chính và bus hệ thống phải chia sẻ hoạt động chứa việc vào/ra dữ liệu. do đó, chức năng của modun vào ra là điều khiển và điều chỉnh thời gian để phối hợp dữ liệu luân chuyển giữa các tìa nguyên bên trong và các thiết bị bên ngoài. Ví dụ như, việc điều khiển sự truyền dữ liệu một thiết bị bên ngoài tới CPU được thực hiện theo các bước sau:

  1. CP đòi modun vào/ra để kiểm tra trạng thái của thiết bị đang được gắn với máy tính
  2. Thiết bị vào/ra trả lời trạng thái của thiết bị
  3. Nếu thiết bị đang ở trạng thái hoạt động và sẵn sàng để truyền dữ liệu từ CPU yêu cầu truyền dữ liệu bằng cách gửi một lệnh tới thiết bị vào/ra
  4. Thiết bị vào/ ra thu một đơn vị dữ liệu( 8 hoặc 16 bit) từ thiết bị bên ngoài.
  5. Dữ liệu được truyền từ modun vào/ra tời CPU

Nếu hệ thống sử dụng bus thì mỗi một tương tác giữa CPU và modun vào/ra đều chứa một hoặc nhiều phân chia bus( bus arbitration)

( xem chi  tiết trang 92) có ví dụ từng chức năng cụ thể.

Câu 21: nêu cấu tạo và nguyên lí hoạt động của ổ đĩa cứng:

  1. Cấu tạo:

Các đĩa, động cơ, trục quay, các đầu từ và cơ cấu bộ kích đầu từ được đặt trong một khoang kín được gọi là head disk assembly( HAD). HAD hiếm khi được mở. các thành phần khác bên ngoài của .. trang 82)

  1. Hoạt động của ổ đĩa cứng:
  • Khi hoạt động thì các đĩa sẽ được quay với tốc độ rất lớn và nó sẽ làm nâng các đầu từ lên khỏi mặt đĩa
  • Trong quá trình ấy, đầu từ trong hầu hết các ổ đĩa hạ xuống đĩa khi nó không quay.
  • Trước đây tốc độ quay của đĩa cứng là 3600 rpm( vòng/phút) nhanh gấp 10 lần ổ đĩa mềm. hiện nay tốc độ của một số đĩa cứng đã tăng lên rất nhiều, một số ổ đĩa có tốc độ quay 5400, 5600, 6400, 7200 và thậm chí 10000 vòng/ phút. Tốc độ quay cao kết hợp với cơ cấu định vị đầu từ nhanh, số cung từ trên một rãnh cao tạo nên ổ đĩa cứng nhanh hơn.

Câu 22: cấu tạo và nguyên lí hoạt động của ổ đĩa mềm

Trang 84:

  1. Cấu tạo:

Các thành phần cơ bản của ổ đĩa mềm bao gồm:

  • Đầu đọc/ ghi
  • Động cơ chính của máy tính của ổ đĩa( spindle motor)
  • Bộ mạch( circuit boards)
  • Bộ điều khiển
  • Cáp nối ổ đĩa mềm
  1. Hoạt động của ổ đĩa mềm
  • Hầu hết đĩa quay với tốc độ 300 vòng/ phú, trừ ổ đĩa 51/4 inch quay 360 vòng/ phút
  • Các đầu từ di chuyển vào/ ra khoảng 1 inch và ghi 80 rãnh
  • Các rãnh được ghi trên cả 2 mặt đĩa
  • Mỗi hình trụ gồm 2 rãnh ở cả 2 mặt trên và dưới. đầu đọc sử dụng cách ghi dữ liệu xóa theo đường ống( tunnel erase), ghi lên một rãnh có độ rộng xác định và sau đó xóa hai cạnh của rãnh đó để tránh nhầm lẫn với các rãnh lân cận. độ rộng của rãnh tùy thuộc vào loại ổ đĩa.

Câu 23: nêu rõ sự giống và khác nhau về tổ chức logic trên đĩa cứng và đĩa mềm?? chưa làm??

Đặc điểm Đĩa cứng Đĩa mềm
Giống -Đc phân chia thành nhiều cung tròn đồng tâm, mỗi cung tròn đc gọi là 1 rãnh (track)VD đĩa 1.4MB có 16 rãnh

-Mỗi cung tròn đc chia thành nhiều cung từ (sector)

-Có bảng FAT: dùng để quản lý các thư mục và tệp; chứa thông tin về tên gọi, thuộc tính, vị trí bắt đầu của tệp hoặc thư mục đồng thời chứa chuỗi liên kết cho phép tìm tới tất cả các sector của tệp

 

Khác -có 1 bảng phân vùng đĩa (Partition) chưa ttin về vị trí ban đầu và kết thúc của mỗi ổ đĩa logic - ko có
-có phương tiện cơ học đọc ghi và cả đầu từ - dùng ổ đĩa mềm để đọc và ghi ttin trên đĩa.

Câu 24: trình bày nguyên lí cấu tạo và hoạt động của bàn phím:

( trang 105)

  1. Cấu tạo:

Bàn phím là thiết bị ngoại vi cho phép đưa thông tin vào máy tính dưới dạng mã kí tự. bàn phím thực hiện chức năng chuyển thông tin dạng lực ấn và vị trí của bàn phím được nhấn thành mã phím và chuyển cho máy tính.

Bàn phím bao gồm 2 bộ phân chính:  ma trận chính và mạch điện tử quét phím:

  • Ma trận chính gồm các dây hàng và dây cột giao nhau nhưng không tiếp xúc với nhau. Các công tắc phím được đặt ở chỗ giao của hàng và cột. 2 tiếp điểm của công tắc nằm ở trên hàng và cột tại chỗ giao nhau đó. Bình thường phím luôn ở trạng thái nhả. Các hàng sẽ được nối vào bộ giải mã hàng. Các cột sẽ được nối vào bộ giải mã hàng và bộ giải mã cột được nối với xung đồng hồ để quét trong một khoảng thời gian nhất định.

Hình vẽ

  1. Nguyên lí hoạt động
  • Nhấn phím=> các tiếp điểm hàng, cột được nối với nhau
  • Các bộ giải mã hàng và cột nhận biết được vị trí hàng, cột đang được bấm=> gửi tín hiệu này về bộ giải mã bàn phím để sinh ra mã quét.
  • Đồng hồ trong bàn phím được điều khiển bằng phần mềm cho phép xác định tần số quét trên hàng và cột, mỗi khi có xung thì các bộ giải mã mới hoạt động.
  • Máy tính sẽ sử dụng phần mềm hệ thống( OS hoặc phần mềm ứng dụng do người sử dụng tự viết) để xử lí mã quét
  • Dữ liệu được truyền từng bit một từ bàn phím tới máy tính. Một ngắt cứng phát tín hiệu về bộ xử lí.

Câu 25: trình bày nguyên lí cấu tạo và hoạt động của chuột máy tính( trang 107)

  1. Nguyên lí cấu tạo:

Chuột máy tính chuẩn gồm các thành phần sau:

  • Vỏ chuột( housing) cho phép cầm trên tay và di chuyển trên một mặt phẳng
  • Viên bi lăn( roller ball) để chuyển tín hiệu đến hệ thống
  • Các nút bấm( buttons) thường có 2 nút để lựa chọn.
  • Cáp nối chuột vơi hệ thống
  • Một đầu nối giao diện ( interface connector) để gắn chuột với hệ thống

Vỏ chuột được làm bằng nhựa. phía trên vỏ, nơi các ngón tay đặt lên là các nút. Số nút có thể tùy ý nhưng thường các con chuột của máy tính PC chỉ có hai nút. Nếu có thêm các nút bổ sung thì có thêm phần mềm đặc biệt để điều khiển hoạt động cả chúng. Phần dưới của vỏ có một hòn bi cao su nhỏ lăn tròn khi di chuyển con chuột. chuyển động của viên bi lăn này này được dịch thành tín hiệu điện và được truyền vào máy tính qua dây cáp. Một số chuột sử dụng bộ cảm quang( optical sensor) đặc biệt để dò sự chuyển động tren khung dưới. chuột quang này không được ưa chuộng do chúng chỉ hoạt động khi ta dùng đệm khung luwosi đặc biệt bên dưới. dây cáp có thể có độ dài tùy ý nhưng thông thường chỉ dài 1,2m đến 1,8 m

  1. Nguyên lí hoạt động

Phụ thuộc vào việc chuột máy tính được cấu tạo theo các cơ chế cảm ứng khác nhau:

  • Cơ chế cảm ứng cơ học
  • Cơ chế cảm ứng quang học
  • Cơ chế cảm ứng laser
  • Cơ chế cảm ứng cơ học
  • Chuột máy tính đầu tiên có kích thước khá lớn với 2 bánh xe vuông góc với nhau. Để sử dụng con chuột này cần phải sử dụng cả 2 tay: một tay cầm chuột và tay kia cầm một bàn phím nhỏ có 5 nút bấm.
  • Năm 1970, kĩ sư Bill enghlish của Xerox PARC đã thay thế bánh xe cổ điển bằng một viên bi nổi tiếng.
  • Chuyển động của viên bi này có thể theo mọi hướng và được 2 bánh xe nhỏ bên trong chuột ghi nhận.
  • Trên bánh xe có các khe hở nhỏ cho phép một tia sáng phát qua tới đầu cảm ứng bên kia, mỗi lần ngắt sẽ báo hiệu chuột di chuyển
  • Một thiết bị cảm ứng sẽ thu thập tín hiệu và chuyển thành giá trị tọa độ tương ứng của chuột trên màn hình
  • Kiểu thiết kế này được sử dụng trong suốt thập kỉ 80 và 90

Trang 109

  • Cơ chế cảm ứng quang học
  • Thành phần cơ học ( bi và bánh xe) được thay thế bằng một thiết bị bắt siêu nhỏ
  • Thiết bị này sẽ liên tục” chụp” lại bề mặt mà người dùng di chuyển. thông qua phép so sánh giữa những bức hình này, bộ xử lí trong chuột sẽ tính toán được tọa độ.
  • Để ảnh chụp tốt, người ta sử dụng một đèn LED đỏ soi sáng bề mặt. khi chiếu sáng bề mặt, tia sáng sẽ bị phản chiếu và hội tụ thông qua một thấu kính trước khi chạm vào bộ cảm ứng. nhờ thế, hình ảnh sẽ rất chi tiết. đôi khi, chuột quang học sử dụng đèn LED bị hiểu nhầm là chuột laser do ánh sáng đỏ mà nó phát ra.

+ ưu điểm:

Do không có các bộ phận cơ nên hoàn toàn không sợ hỏng hóc do ăn mòn hay bụi bẩn

Bảo trì cũng rất đơn giản( chỉ cần lau mắt đọc là xong)

Độ chi tiết và nhạy cảm của cơ chế cảm ứng quang học cung tốt hơn rất nhiều

+ nhược điểm:

Không thể làm việc trên các bề mặt bóng hoặc trong suốt

Hoạt động không chính xác trên các bề mặt sặc sỡ thì chuột hoạt động không chính xác

Một số loại chuột rẻ tiền có hệ thống xử lí hình ảnh kém sẽ không đủ khả năng tính toán khi người dùng di chuyển chuột với tốc độ nhanh

Tốn điện nhiều hơn chuột cơ

  • Cơ chế cảm ứng laze
  • Cơ chế cảm ứng laser là công nghệ mới nhất và tiên tiến nhất được giới thiệu lần đầu tiên năm 2004 dưới sự hợp tác của logitech và agilent technilogies
  • MX1000 là đại diện đầu tiên của thế hệ chuột laser xuất hiện trên thị trường. chú chuột này sử dụng một tia laser nhỏ thay vì đèn LED đỏ thông thường
  • Công nghệ laser cho phép tia sáng có độ tập tring cao hơn và đặc biệt ổn định. Nhờ thế chuột có thể tăng độ chi tiết của hình ảnh “ chụp” tới 20 lần trên lí thuyết.

Câu 26: trình bày nguyên lí cấu tạo và nguyên lí hoạt động của màn hình CRT

  1. Cấu tạo( trang 113)
  • Các màn hình CRT là một ống thủy tinh chân không bao gồm các bộ phận:
  • Súng phóng tia điện tử: cathode bằng kim loại và được nối với điện áp âm
  • ống phóng điện tử
  • cuộn lái tia
  • màn hình hiển thị: được phủ một lớp có khả năng phát quang và dẫn điện( thông thường là phopho) được nối với điện áp dương và đóng vai trò một anode
  1. nguyên lí hoạt động
  • khi đốt nóng, cathode tạo ra các điện tử tuwjdo.
  • Dưới tác dụng của điện trường cường độ cao trong ống phóng, điện tử rời khỏi cathode được hội tụ thành tia hướng về phía màn hình hiển thị
  • Cuộn lái tia có tác dụng lái chùm tia điện tử dịch chuyển theo 2 chiều dọc và ngang màn hình tạo nên một điểm phát sáng. Cường độ điểm sáng phụ thuộc vào cường độ chùm tia và chất liệu phát sáng.
  • Khi chùm tia mất đi hoặc chuyển hướng thì điểm sáng vẫn còn lưu sáng một khoảng thời gian ngắn sau đó. Thời gian lưu sáng( persisstence) phụ thuộc vào chất liệu phát sáng và cường độ chùm tia.
  • Đối với màn hình màu, súng bắn theo ba chù tia lên ba điểm có thể phát sáng ra các màu xan lá cây( G- green), đỏ( R- red) và xanh da trời( B- blue)
  • Cường độ của các tia điện tử bắn vào các điểm sẽ quyết định độ sáng tối của điểm ảnh, đồng thời quyết định màu sắc của điểm ảnh.
  • Các chùm tia điện tử được cao áp lái tia theo chiều từ trái sang phải và từ trên xuống quét toàn bộ màn hình.
  • Vì các điểm ảnh chỉ tồn tại trong thời gian rất ngắn nên để quan sát ảnh cần làm tươi các điểm ảnh theo một chu kì nhất định theo từng dòng và theo chiều từ trên xuống dưới.
  • Tần số quét dọc( vertical scan frequency) khoảng 70 HZ tốc độ quét màn hình càng cao thì càng tốt cho mắt của chúng ta.

Câu 27: cấu tạo và nguyên lí hoạt động của màn hình tinh thể lỏng:

  1. Cấu tạo:
  • Một bộ lọc phân cực tạo 2 sóng ánh sáng riêng rẽ chỉ cho phép các sóng ánh sáng đồng hướng với nó qua đi
  • Bộ lọc phân cực thứ 2 được đặt theo góc thích hợp với bộ lọc thứ nhất, tất cả những sóng ánh sáng này chặn lại. khi thay đổi góc của bộ lọc thứ hai này, số lượng ánh sáng được cho phép đi qua có thể thay đổi
  • Các ô tinh thể lỏng có nhiệm vị thay đổi góc phân cực và kiểm soát lượng ánh sáng đi qua.
  • Màn hình LCD màu:
  • Bổ sung thêm bộ lọc ô tinh thể từng điểm- mỗi ô hiển thị một trong 3 màu:

R,G và B

  • Sóng ánh sáng đi qua một ô tinh thể lỏng, mỗi mảng màu có một ô riêng của mình
  • Các tinh thể lỏng có các phân tử dạng que( rod- shaped molecule) chảy như chất lỏng. chúng cho phép ánh sáng đi thẳng qua, nhưng một điện tích làm thay đổi hướng của dòng tinh thể này cũng như làm biến đổi hướng của ánh sáng đi qua chúng.
  • LCD ma trận thụ động
  • Mỗi ô được điều khiển bởi công điện tích của hai transitor, xác định bằng vị trí và cột ô trên màn hình
  • Sô tranzito nằm dọc theo các cạnh ngang và dọc của màn hình xác định độ phân giải của LCD
  • Khi phản ứng lại với sự dao động của điện tích từ hai transistor tương ứng, ô tinh thể xoắn( twist) sóng ánh sáng. Điện tích càng mạnh thì sự xoắc sóng ánh sáng càng nhiều. nếu xoắn càng lớn thì sự tương phản càng cao.
  • LCD ma trận tích cực
  • Mỗi ô có transitor chuyên dụng phía sau tấ màn hình để nạp điện cho nó làm xoắn sóng ánh sáng
  • Cho hình ảnh sáng hơn màn hình ma trân thụ động vì các ô có thể duy trì điện tích liên tục năng lượng hơn ma trận thụ động.
  • Với môi transitor chuyên dụng cho từng ô, việc sản xuất màn hình ma trân tích cực phức tạp hơn và đắt hơn.
  • Công nghệ plasma khí( gas- plasma technology)
  • Là công nghệ thay thế các màn hình LCD
    - đó là các màn hình đen và màu da ca được dùng trong một số máy tính sách tay của toshiba.
  • Một vài hãng sản xuất kết hợp công nghệ plasma khí cho các màn hình của máy tính để bàn và các màn hình màu phẳng cho tivi( high- definition television- HDTV- flat- panel screens)

Câu 28: trình bày nguyên lí hiện văn bản và hiện đồ họa( trang 115)

  1. Nguyên lí hiện văn bản trên màn hình
  • Trong chế độ văn bản, máy tính quản lí theo từng kí tự trên màn hình
  • Máy tính sử dụng một bản kí tự ( có kích thước là 8x8 hoặc 9x12…) để hiện dạng kí tự. điểm nào có giá trị 0 thì sẽ tối, nếu có giá trị 1 thì sẽ cho một điểm sáng trên màn hình
  • Trong máy tính người ta sẽ lưu trữ bộ phông cho 256 kí tự( ASCII). Bộ phông chuẩn được lưu trữ trong bộ nhớ ROM của máy tính
  • Khi máy tính hoạt động, chúng được sao chép ra vùng nhớ RAM có địa chỉ cần thay đổi vùng bộ nhớ, khi đó máy tính sẽ tự hiện lên màn hình phông chữ mới.
  • Trong chế độ văn bản chuẩn, màn hình máy tính được chia thành 80 cột và 25 dòng. Tại mỗi vị trí ta có thể hiện được kí tự trên màn hình
  • Mỗi lí tự trên màn hình tương ứng với một mã ASCII
  • Để hiện màu sắc kí tự trên màn hình người ta sử dụng 1 byte tương ứng với mỗi kí tự
Màn nền Màu chữ

Nhấp nháy

  • Với định dạng trên, có thể biểu diễn 16 màu cho chữ( 0 đến 15 – từ đen đến trắng) và 8 màu cho nên văn bản( 0 đến 7- từ màu đen đến màu trắng)
  • Để quản lí toàn bộ kí tự trên màn hình thì máy tính cần sử dụng 80x25x2=4000 byte. Vùng dữ liệu này được lưu trữ tại địa chỉ thấp trong RAM.
  1. Nguyên lí hiện đồ họa
  • Màn hình quản lí từng điểm ảnh, mỗi điểm ảnh được sử dụng bởi màu sắc của điểm ảnh đó
  • Trong chế độ chuẩn, màn hình được phân chia thành 640x480 điểm. mỗi điểm được xác định bới tọa độ của nó.
  • Trong chế độ đồ họa
  • Đặt màn hình ở các độ phân giải( resolution) khác nhau( 800x600,1024x800…)
  • Đặt chế độ màu sắc cho màn hình khác nhau( 2 hoặc 16 màu, 256 howcj 65536 màu.. màu tương ứng với 1, 4, 8, 16 bit để biểu diễn điểm ảnh).
  • Để quản lí các điểm ảnh phải sử dụng một bộ nhớ chứa thông tin màu sắc điểm ảnh
  • Các điểm được lưu trong bộ nhớ theo phương pháp liên tiếp nhau hết dòng này sang dòng khác xuất phát từ tọa độ(0,0) trên màn hình
  • Trong chế độ đồ họa, người ta cũng có thể sử dụng hai màn hình để thể hiện hình ảnh

Câu 29: trình bày cách phân loại máy in theo kiểu đạp và không đập( trang 116)

Máy in là một thiết bị đầu ra cho phép in thông tin trên giấy. có 2 loại máy in chính: máy in kiểu đạp và máy in kiểu không đập

  • Máy in kiểu đập
  • Máy in ma trận điểm: máy in loại này thể hiện hình ảnh hoặc chữ viết bằng cách quét một ma trận điểm lên bề mặt băng mực. ma trân này được thiết lập bằng các đầy kim in. ma trận kim này( đầu in) được điều khiển để di chuyển theo chiều ngang và giấy được cuộn theo chiều dọc để có thể quét tất cả các mặt giấy. trong quá trình in thì các kim trong đầu in điều khiển để cho phép tạo ra điêm hoặc không tạo ra điểm.trong thực tế có nhiều loại máy in kim khác nhau( gồm 9 kim và 24 kim)
  • Máy in dòng: để in từng dòng trên giấy thì từng vị trí ứng với mỗi chữ sẽ in trên giấy có một ru lo đủ các kí tự. các kí tự trên mỗi vị trí được sắp xếp tương ứng với các kí tự trên dòng sẽ định in ra và đập vào băng mực cùng một lúc. Loại máy in kiểu này rẻ, tốc độ chậm nhưng có độ bền cao. Tuy nhiên, loại này hầu như rất ít được dùng
  • Máy in kiểu không đập
  • Máy in laze: người ta sử dụng chùm tia laze để chiếu lên trang giấy làm nó sẽ được từ hóa theo điểm một. sau đó trang giấy này sẽ được đi qua lô mực. tại các điểm được từ hóa thì mực sẽ hút vào đó để tọa nên hình ảnh hoặc chữ. Sau đó giấy này được đưa qua một hệ thống lô sấy cho mực nóng chảy và bám chặt trên giấy. độ phân giải của máy in laze cũng được xác định bằng thông số DPI( dots per inch)
  • Máy in phun: sử dụng các tia mực mảnh để phun lên giấy. các tian này có thể có các màu khác nhau để có thể tạo ra các ảnh màu gồm 4 màu cơ bản: đen, xanh, đỏ, vàng.
  • Máy in nhiệt: dùng nhiệt độn cao để tạo thành các kí tự trên giấy đặc biệt
  • Máy in từ tính: dùng tấm selen nhiễm từ dạng kí tự rồi cho bám mực vào đó và in trên giấy.

Hiện nay các máy in laser được dùng phổ biến nhất vì độ bền cao, tốc độ nhanh.

Các máy in phun, đặc biệt là các máy phun màu cũng bắt đầu thông dụng.

Câu 30: trình bày nguyên tắc hoạt động của máy in lazeL trang 118)

  • Trao đổi thông tin
  • Xử lí thông tin
  • Định dạng
  • Quét mành( rasterizing)
  • Quét laser
  • Áp mực toner
  • Làm chảy mực

Câu 31: trình bày nguyên lí hoạt động của máy in phun( trang 120)

  • Sử dụng các vòi phun rất nhỏ để phun mực lỏng trực tiếp lên giấy theo cùng kiểu mẫu chấm mà máy laser sử dụng
  • Hai dạng in phun cơ bản:

+ công nghệ in phun nhiệt

+ công nghệ in phun ap

  • Hộp mực phun bình thường có chỗ chứa mực lỏng và có các vòi phun rất nhỏ( cỡ 1 micron). Số lượng vòi phun tùy thuộc vào độ phận giải( 21- 256 vòi phun cho mỗi màu)

Câu 32: trình bày nguyên lí hoạt động của máy in kim

  • Máy in kim:
  • Làm việc với một chuôi kí tự ASCII tối đa là một dòng nên cần rất ít bộ nhở.
  • Tốc độ làm việc của nó được đo bằng kí thực tên giấy( cps) thay cho cách đo bằng trang/phút như các loạt máy in khác. Mọi xử lí phức tạp đều được thực hiện trong máy tính.
  • Nguyên lí hoạt động
  • Dịch chuyển giấy tới quanh một trục cuộn giấy( platen), mỗi lần một dòng. Đồng thời, đầu in sẽ di chuyển qua lịa theo chiều ngang trên một thanh kim loại.
  • Giưa các kim và giấy là ruy băng mực giống như máy in chữ. Các km tạo tạo ra các chấm trên giấy qua ruy băng mực giống như máy chữ. Các kim tạo các chấm trên giấy qua ruy băng mực và các chấm này tạo thành các kí tự trên giấy
  • Ưu điểm:

+ có thể tạo cho phép in nhiều và tạo ra bản sao qua giấy than

+ bộ đệm nhỏ, chất lượng đồ họa hạn chế, gây tiếng ồn, chất lượng in trung bình và việc nạp giấy đối với loại giấy tờ tương đối bất tiện

Câu 33:  Đa bộ xử lý là gì? Hãy chỉ ra các đặc điểm chính và hoạt động của đa bộ xử lý.

Đa bộ xử lí là: trang 130:

Đa bộ xử lí theo làm tăng hiệu suất và khả năng làm viêc của máy tính.

  • Đa bộ xử lí ghép chặt là một tập hợp các bộ xử lí chia sẻ nhau thành bộ nhớ chính và sự điều khiển chung của một hệ điều hành tích hợp. loại này được gọi là đa bộ xử lí.
  • Đặc điểm của đa bộ xử lí:
  • Chứa hai hoặc nhiều bộ xử lí đa năng( general- purpose processor) tương tự nhau.
  • Tất cả các bộ xử lí chia sẻ việc truy nhập vào một bộ nhớ chung( global/common memory) và có thể sử dụng một vài bộ nhớ riêng( local/ private memory).
  • Tất cả các bộ xử lí đều chia sẻ việc truy nhập tới các thiết bị vào ra( I/O devies) thông qua một kênh hoặc các kệnh khác nhau nhưng cùng thông tin đến các thiết bị.
  • Hệ thống được điều khiển bởi một hệ điều hành tích hợp( itegrate operating system) phối hợp các bộ phận xử lí và các chương trình thực hiện một công việc, một nhiệm vụ , chia sẻ cùng một file và các mức phần tử dữ liệu( data element levels)

Sơ đồ của đa bộ xử lí:

  • Hoạt động của đa bộ xử lí:

Mỗi CPU chứa một bộ điều khiển, một bộ số học logic ALU, các thanh ghi và có thể chứa các cache. Mỗi CPU truy cập tới bộ nhớ chính và các thiết bị vào ra(I/O) thông qua một cơ chế kết nối chung. Các bộ xử lí có thể giao tiếp với nhau qua bộ nhớ( các thông báo và thông tin trạng thái nằm vùng dữ liệu chung). Các CPU có thể trao đổi trực tiếp với nhau thông qua đường chấm chấm của hình vẽ trên. Bộ nhớ thường được tổ chức sao cho có thể có nhiều truy nhập đồng thời tới một vài khối nhớ riêng biệt. trong một số cấu hình, mỗi CPU có thể có bộ nhớ chính riêng và các kênh vào ra riêng  để bổ sung cho việc chia sẻ dữ liệu.

II. các  sơ đồ bổ sung:

4.3. XỬ LÝ LỆNH (Instruction Processing):

Chúng ta đã có một ngôn ngữ cơ bản để truyền đạt ý tưởng tới máy tính, bây giờ chúng ta cần phải thảo luận một cách chính xác về việc máy tính đã thực hiện một chương trình cụ thể như thế nào. Tất cả các máy tính đều hoạt động theo một chu kỳ cơ bản: nạp lệnh, giải mã lệnh, thực hiện chu kỳ.

4.3.1. Nạp lệnh, giải mã lệnh, thực hiện chu kỳ (The Fetch-Decode-Excute Cycle):

Chu kỳ Nạp lệnh-giải mã lệnh-thực hiện lệnh là các bước mà một máy tính phải tuân thủ để chạy một chương trình. Trong đó nạp lệnh là bắt đầu mỗi chu kỳ lệnh, CPU nạp một lệnh từ bộ nhớ chính vào các thanh ghi lệnh , giải mã lệnh (xác định mã lệnh và lấy bất kỳ dữ liệu cần thiết để thực hiện các lệnh), và thực hiện lệnh (thực hiện các hoạt động được chỉ thị bởi lệnh đó). Hoạt động chủ yếu của chu trình là sao chép dữ liệu từ nơi này sang nơi khác. Khi một chương trình được thực hiện lần đầu, địa chỉ của lệnh đầu tiên phải được ghi trong bộ đếm. Các bước trong chu kỳ này, diễn ra theo chu trình cụ thể, được liệt kê dưới đây. ( Lưu ý Bước 1 và 2 là giai đoạn nạp lệnh, Bước 3 là giai đoạn giải mã, và Bước 4 là giai đoạn thực hiện).

  1. Sao chép nội dung của PC lên Thanh ghi địa chỉ bộ nhớ - MAR (Memory Address Register): MAR ß
  2. Đi đến bộ nhớ chính và nạp lệnh được tìm thấy tại địa chỉ ở trên MAR, ghi lệnh đó lên thanh ghi, tăng PC lên 1 đơn vị (PC lúc này đánh dấu để chuyển sang lệnh tiếp theo của chương trình): IR ß M[MAR] và sau đó PC ßPC+1. (Ghi nhớ rằng: vì MARIE thuộc dạng word-addressable nên PC tăng 1 đơn vị, việc này dẫn đến kết quả là địa chỉ của từ tiếp theo sẽ được ghi lên PC. Nếu MARIE là 1 máy tính loại byte-addressable thì PC cần phải tăng lên 2 đơn vị để đánh dấu địa chỉ của lệnh tiếp theo, vì mỗi lệnh yêu cầu 2 byte. Ở các máy tính có kiến trúc dạng byte-addressable với các từ dạng 32-bit , PC còn cần phải tăng lên 4 đơn vị)
  3. Sao chép 12 bit ngoài cùng bên phải của thanh ghi lệnh (IR) vào MAR, giải mã 4 bit ngoài cùng bên trái để xác định mã lệnh, MARßIR [11-0], và giải mã IR [15-12].
  4. Nếu cần thiết, sử dụng địa chỉ trên MAR để đi đến bộ nhớ để lấy dữ liệu, đặt dữ liệu vào MBR - Thanh ghi đệm bộ nhớ (và có thể cả trong AC - Thanh ghi tích lũy), sau đó thực hiện lệnh MBRßM[MAR] và thực hiện lệnh thực tế.

Quy trình trên được minh họa trong Hình 4.11.

Figure 1: Hình 4.11 - Chu kỳ Nạp - Giải mã - Thực hiện lệnh

Ghi nhớ rằng các máy tính ngày nay, mặc dù với các bộ lệnh lớn, các dòng lệnh dài và khối lượng thông tin khổng lồ thì vẫn có thể xử lý hàng triệu các quy trình nạp lệnh-giải mã-thưc hiện, tất cả chỉ trong nháy mắt.

4.3.2. Ngắt và Vào/Ra (Interrupts and I/O):

Chương 7 đề cập chính đến I/O. Tuy nhiên, chúng ta cần phải thảo luận về một về một vài khái niệm cơ bản của I/O để có thể hiểu được về toàn bộ quá trình của việc thực thi chương trình.

MARIE có hai thanh ghi để chứa đầu vào và đầu ra. Thanh ghi đầu vào chứa dữ liệu được chuyển từ thiết bị đầu vào tới máy tính, thanh ghi đầu ra chứa thông tin sẵn sàng để được gửi đến một thiết bị đầu ra. bộ đếm thời gian được sử dụng bởi hai thanh ghi này là rất quan trọng. Ví dụ, nếu bạn đang nhập đầu vào từ bàn phím và gõ rất nhanh, máy tính phải có khả năng đọc mỗi kí tự được đưa vào thanh ghi đầu vào. Nếu ký tự khác được nhập vào thanh ghi khi máy tính chưa kịp xử lý kí hiệu hiện thời, các ký tự hiện tại sẽ bị mất. Có nhiều khả năng, bộ xử lý hoạt động rất nhanh mà đầu vào bàn phím lại rất chậm, bộ xử lý có thể đọc cùng một ký tự từ thanh ghi nhiều lần. Chúng ta phải tránh cả hai trường hợp này.

MARIE giải quyết những vấn đề này bằng cách sử dụng phương pháp I/O được điều khiển bởi ngắt (Interrupt - driven I/O).  (Thông tin chi tiết về các dạng I/O khác nhau sẽ đc đề cập đến trong Chương 7). Khi CPU thực hiện một lệnh đầu vào hoặc đầu  ra, các thiết bị I /O thích hợp sẽ được thông báo. CPU sau đó sẽ tiếp tục các công việc khác cho đến khi thiết bị đã sẵn sàng. Tại thời điểm đó, các thiết bị sẽ gửi một tín hiệu có ngắt đến CPU. CPU xử lý ngắt, sau đó tiếp tục với chu kỳ Nạp-giải mã-thực hiện như bình thường. Quá trình này yêu cầu:

  • Một tín hiệu (gián đoạn) từ các thiết bị I/O cho CPU cho biết đầu vào hay đầu ra đã hoàn thành
  • Một số phương tiện cho phép CPU có thể bỏ qua chu kỳ nạp-giải mã-thực hiện (fetch-decode-execute cycle) thông thường để "nhận ra" tín hiệu gián đoạn này

Phương pháp hầu hết máy tính sử dụng để xử lý một ngắt là kiểm tra xem ngắt đó có đang chờ ở đầu mỗi chu kỳ Nạp-giải mã-thực hiện hay không, nếu có, ngắt được xử lý, sau đó chu kỳ được tiếp tục. Nếu không có ngắt thì chu kì hoạt động như bình thường.

Quá trình thực hiện được minh họa trong sơ đồ trong Hình 4.

Figure 2: Hình 4.12 - Vòng lệnh kiểm tra ngắt

Thông thường, các thiết bị đầu vào hoặc đầu ra sẽ gửi một ngắt bằng cách sử dụng một thanh ghi đặc biệt, thanh ghi trạng thái (status register) hoặc thanh ghi mã điều kiện (flag). Một bit đặc biệt được thiết lập để chỉ ra nếu có ngắt. Ví dụ, ngay khi đầu vào được nhập vào từ bàn phím, bit này được thiết lập. CPU kiểm tra bit này ở đầu mỗi chu kỳ máy. Nếu có thì CPU sẽ xử lý ngắt, nếu không thì CPU thực hiện chu kì Nạp-giải mã-thực hiện như bình thường, lệnh trong các chương trình xử lý hiện nay được thực hiện bình thường.

Khi CPU tìm thấy các bit ngắt nó thực hiện một thủ tục ngắt được xác định bởi loại ngắt đã xảy ra. Ngắt I/O không phải là phương thức ngắt duy nhất xảy ra khi một chương trình đang được thực hiện. Đã bao giờ bạn gõ một tổ hợp phím Ctrl-break hoặc Ctrl-C để ngừng một chương trình? Đây là ví dụ về một cách  ngắt. Ngắt ngoài được tạo ra do ngoại cảnh (như đầu vào / đầu ra hay cúp điện), Ngắt trong được tạo ra bởi một số điều kiện ngoại lệ trong chương trình (chẳng hạn như chia cho 0, tràn , hoặc vi phạm bảo vệ) và Ngắt phần mềm được tạo ra bằng cách thực hiện một lệnh trong chương trình (chẳng hạn một chương trình đòi hỏi chuyển đổi từ việc chạy trong một cấp, chẳng hạn  từ cấp độ sử dụng, đến một cấp độ khác, như cấp độ cốt lõi).

Loại ngắt nào cũng có quá trình xử lý  như nhau. Sau khi CPU chấp nhận một yêu cầu ngắt, địa chỉ của chương trình ngắt được xác định (thường là do phần cứng) và các routine (rất giống như một thủ tục) được thực hiện. CPU chuyển từ chạy chương trình sang chạy một thủ tục đặc biệt để xử lý ngắt. Chu  kỳ nạp-giải mã-thực thi được chạy trên các lệnh trong chương trình ngắt cho đến khi đoạn mã được hoàn thành. CPU sau đó quay lại chương trình nó đang chạy trước khi có ngắt xảy ra. CPU phải quay lại điểm chính xác mà nó đã chạy trong chương trình ban đầu. Do đó, khi CPU chuyển sang các chương trình ngắt, nó phải lưu các nội dung có trong PC, nội dung của tất cả các thanh ghi khác trong CPU, và các điều kiện trạng thái của chương trình ban đầu. Khi các chương trình phục vụ ngắt kết thúc, CPU phục hồi môi trường mà trong đó chương trình ban đầu đã được thực thi, và sau đó bắt đầu nạp, giải mã, và thực hiện các lệnh cho các chương trình ban đầu.

Phần 2: hệ điều hành:

Câu 1:

Chương 3,4: SPOOL: Smultaneous Peripheral Operation On line (tr 332)

B-Virus: Boot Virus(361) DB-Virus: Double B-Virus

BPB: BIOS Parameter Block (362) bảng tham số đĩa FAT: File Allocation Table: bảng định vị tệp (362)

F- Virus: File Virus (363) DR0: Debug Register 0 (371)

 

Câu 2: Hãy nêu khái niệm hệ điều hành theo cách nhìn của các đối tượng làm việc với máy tính.( trang 152)

  • Đối với người sử dụng:
  • Hệ điều hành là hệ thống các chương trình phục vụ khai thác tài nguyên của hệ thống tính toán
  • Đối với người quản lí:
  • Hệ điều hành là hệ thống các chương trình phục vụ cho việc quản lí chặt chẽ hệ thống tính toán và tổ chức khai thác chúng một cách tối ưu.
  • Đối với người làm công tác kĩ thuật
  • Hệ điều hành là hệ thống các chương trình bao trùm lên một máy vật lí hiện có để tạo ra một máy logic với những tài nguyên và khả năng mới.
  • Đối với người lập trình
  • Hệ điều hành là hệ thống các mô hình hóa mô phỏng các hoạt động của máy tính, của người sử dụng và của các nhân viên . hệ điều hành hoạt động trong chế độ đối thoại, tạo môi trường để quản lí chặt chẽ các tài nguyên của hệ thống tính toán, tổ chức khai thác chúng một cách thuận tiện và tối ưu.

Khái niệm hđh

Hệ điều hành là một chương trình hay một hệ chương trình hoạt động giữa người sử dụng (user) và phần cứng của máy tính. Mục tiêu của hệ điều hành là cung cấp một môi trường để người sử dụng có thể thi hành các chương trình. Nó làm cho máy tính dể sử dụng hơn, thuận lợi hơn và hiệu quả hơn.

 

Câu 3: Cách phân loại HĐH theo chức năng (tr153)

3 cách:

  • HĐH On-line hay Off-line: Khi HĐH chạy người sử dụng có thể can thiệp được hoặc không can thiệp được.
  • HĐH User – program hay Non-program: HĐH có thể lập trình được hoặc không thể lập trình được
  • HĐH Single – user hay Multi – user: HĐH cho một người dùng hoặc cho nhiều người dùng

Câu 4: Hãy trình bày cách phân loại hệ điều hành theo tiêu chuẩn ứng dụng, nêu tóm tắt đặc điểm của từng loại. (154)

5 loại:

  • HĐH Lô (Batch): là HĐH Không thể can thiệp được khi nó chạy, có thể lập trình được, có thể dùng cho loại máy tính 1 người dùng hoặc nhiều người dùng.
  • HĐH thời gian thực (Real-time): là HĐH Có thể can thiệp được, Không thể lập trình được, dùng cho loại máy tính 1 người dùng. Được dùng khi các yêu cầu thời gian khắt khe được đặt trên thao tác của một bộ xử lý dòng dữ liệu, do đó nó thowngf được dùng nưh một thiết bị điều khiển trong một ứng dụng tấn hiến. Các bộ cảm biến mang dữ liệu tới máy tính, máy tính phân tích dữ liệu và có thể thích ứng các điều khiển để hiệu chỉnh các dữ liệu nhập cảm biến. Một hệ thống thời gian thực có sự ràng buộc rõ ràng, cố định. Xử lý phải được thực hiện trong phạm vi các ràng buộc được định nghĩa hay hệ thống sẽ thất bại. Một hệ thời gian thực thực hiện đúng chức năng chỉ nếu nó trả về kết quả đúng trong thời gian ràng buộc. Có 2 dạng là thời gian thực cứng và thời gian thực mềm. Thời gian thực cứng đảm bảo các tác vụ tới hạn được hoàn thành đúng giờ. Mục tiêu này đòi hỏi tất cả trì hoãn trong hệ thống bị giới hạn, từ việc lấy lại dữ liệu được lưu trữ thời gian HĐH hoàn thành bất cứ yêu cầu cho nó. Thời gian thực mềm thì các tác vụ thời thực tói hạn có độ ưu tiên hơn các tác vụ khác và duy trì độ ưu tiên đó cho đến khi chúng hoàn thành.
  • HĐH CSDL (Database): là HĐH Có thể can thiệp được, không thể lập trình được, dùng cho máy tính nhiều người dùng. Đặc trưng bởi CSDL được cập nhật thường xuyên, chuyên dùng để xử lý CSDL mà ko làm được việc gì khác. Đặc tính là phải duy trì tính thời sự của CSDL.
  • HĐH phân chia thời gian (Time-sharing): là HĐH Có thể can thiệp được, có thể lập trình được, dùng cho máy tính nhiều người dùng. Trong HĐH này, CPU phân chia đều về thời gian sử dụng cho các tiến trình nhưng có tính cấp ưu tiên. Tiến trình nào được ưu tiên hơn thfi chiếm nhiều thời gian sử dụng CPU hơn. HĐH này còn được gọi là HĐH đa chương trình. Ở HĐH này, một chương trình được thực hiện cho đến khi phải dừng lại để đợi thiết bị vào ra hoặc đợi câu trả lời của người dùng. HĐH sẽ cất giữ tất cả những thông tin cần thiết để sau này có thể quay lại tiếp tục thực hiện chương trình mà không bị rối loạn. Kế đó, HĐH sẽ chọn một chương trình khác để thực hiện cho đến khi nó cũng bị dừng lại bởi các nguyên nhân trên è duy trì được nhiều chương trình cùng chạy một lúc, giảm thời gian rỗi của thiết bị, tăng kết quả làm việc của máy tính.
  • HĐH tính toán cá nhân (Personal – computing) hay còn gọi là Hệ điều hành đơn nhiệm: là HĐH Có thể can thiệp được, có thể lập trình được, dùng cho máy tính 1 người dùng tại 1 thời điểm, dễ sử dụng, dễ cài đặt. Gồm Hệ để bàn (PC) và hệ xách tay.

Câu 5: Các chức năng chính và các thành phần của hệ diều hành

  1. Các chức năng chính: (sgk-167)
  • Thực hiện các thao tác
  • Thông dịch ngôn ngữ điều tác
  • Xử lý các lỗi
  • Quản lý vào ra
  • Quản lý các ngắt
  • Lập lịch
  • Điều khiển và phân chia tài nguyên
  • Bảo vệ bộ nhớ
  • Truy nhập nhiều mối
  • Giao diện tốt với người sử dụng
  • Kế toán việc sử dụng tài nguyên
  1. Các thành phần của HDH: (trang 173)
  • Ngôn ngữ máy: ngôn ngữ thực hiện duy nhất của hệ thống.
  • Ngôn ngữ vận hành hệ thống: thao tác viên giao tiếp với hệ thống qua ngôn ngữ này.
  • Ngôn ngữ thuật toán: người sử dụng giao tiếp với hệ thống chủ yếu thông qua ngôn ngữ này.
  • Các module chương trình:
  • Các chương trình điều khiển: có các lớp con

+ các supervisors quản lý nhiệm vụ, quản lý tiến trình

+ các suprevisors quản lý tào nguyên như bộ nhớ chính, bộ nhớ phụ

+ các chương trình quản lý dữ liệu và tổ chức truy nhập

+ các chương trình thư ký, điều phối nhiệm vụ.

  • Các chương trình phục vụ hệ thống: có các lớp con

+ các chương trình biên tập

+ các chương trình dịch

+ các chương trình dịch vụ: tạo môi trường mới, biên bản, thống kê,..

Câu 6: Một hệ điều hành cần có những tính chất gì? (trang 168)

  • Độ tin cậy:
  • 1 HDH phải thực hiện mọi hoạt động,mọi thông báo đều phải chuẩn xác tuyệt đối. chỉ khi nào biết chắc chắn là đúng thì mới cung cấp thông tin cho người sử dụng.
  • Để đảm bảo yêu cầu này, phần thiết bị kĩ thuật này phải có những phương tiện hỗ trợ kiểm tra tính đúng đắn của dữ liệu trong phép lưu trữ và xử lý.
  • Trong các trường hợp còn lại, hệ điều hành thông báo lỗi và ngừng xử lý hoặc trao quyền quyết định cho người điều khiển máy.
  • Tính đồng thời:
  • 1 hệ điều hành phải cho phép đồng thời có sự tồn tại của nhiều hoạt động cùng nhau or song song.
  • Tính phân chia:
  • 1 HDH phải cho phép sự phân chia dùng chung các tài nguyên hoặc các thông tin cho các yêu cầu khác nhau.
  • Các nguyên nhân dẫn đến đòi hỏi này:

+ do chi phí có hạn nên ko thể cung cấp cho từng người sử dụng các tài nguyên riêng biệt

+ do mong muốn sử dụng tối đa những gì đã có.

+ do cần thiết phải  sử dụng chung 1 cơ sở dữ liệu cho các chương trình khác nhau và cho những ng sử dụng khác nhau.

+ do muốn tránh được các dư thừa, ví dụ việc phân chia 1 bản sao của 1 chương trình dịch giữa nhiều người sử dụng sẽ kinh tế hơn nhiều so với việc cung cấp cho mỗi ng 1 bản sao riêng.

  • Các bộ nhớ:
  • 1 HDH phải cần thiết phải có bộ nhớ để lưu trữ các thông tin trong máy tính thay việc lưu trữ bên ngoài.
  • Do yêu cầu phân chia dữ liệu và chương trình dẫn tới phải có các bộ nhớ. Các vấn đề cần phải giải quyết khi đó là: đảm bảo truy nhập thuận tiện, đảm bảo độ tin cậy, chống các sai sót trên hệ thống.
  • Tính vạn năng:
  • 1 HDH phải xác định, cùng 1 chương trình được khai thác hôm nay or ngày mai phải luôn luôn cho cùng kết quả nếu các dữ liệu giống nhau. Mặt khác, hệ điều hành phải là vô định theo nghĩa có thể phản ứng lại các sự kiện.
  • Tính hiệu quả:

1 HDH phải có hoạt động hiệu quả.

Các tiêu chuẩn để xét tới khi đánh giá tính hiệu quả của 1 HDH:

  • Khoảng thời gian tối thiểu để chuyển giữa các thao tác.
  • Thời gian đơn vị trung tâm ko được sử dụng.
  • Thời gian xử lý các thao tác theo lô.
  • Thời gian trả lời 1 yêu cầu.
  • Mức độ sử dụng các tài nguyên
  • Tốc độ xử lý
  • Tính bảo vệ:
  • HDH phải được thao tác chuẩn xác và tin cậy, ko có lỗi và phải có khả năng giải quyết được tất cả các yêu cầu bất thường có thể xảy ra. Hạn chế được tối đa các sai sót ngẫu nhiên hay cố ý.
  • Tính thuận tiện:
  • HDH phải có khả năng được cải tiến or sửa các lỗi mà ko cần phải dùng tới 1 số lượng lớn những ng lập trình.
  • Nên hệ thống phải có cấu trúc module tốt với các giao diện , được định nghĩa rõ rang giữa các module và phải có 1 hồ sơ thật cụ thể về các module đó để khi cần có thể tham khảo và hiệu chỉnh thuận tiện.
  • Tính thừa kế, thích nghi và kích thước nhỏ:
  • HDH phải có tính thừa kế, thích nghi và kích thước nhỏ.
  • Tính thừa kế: rất quan trọng, đối với việc nâng cấp thì tính thừa kế là bắt buộc.
  • Các thao tác, thông báo phải ko được thay đổi và nếu có thì thay đổi ko đáng kể và phải được hướng dẫn cụ thể khi chuyển từ phiên bản này sang phiên bản khác bằng các phương tiện nhận biết của hệ thống.

Đảm bảo tính chất thừa kế sẽ duy trì và phát triển đội ngũ ng sử dụng-1 yếu tố quan trọng để HDH tồn tại.

Nó phải đảm bảo sao cho những chương trình đã chạy được các phiên bản cũ nay cũng phải chạy được với phiên bản mới, kế thừa các ưu điểm cũ và thích nghi với các yêu cầu mới. vị trí hệ điều hành chiếm chỗ trong bộ nhớ trung tâm or trong bộ nhớ ngoài phải nhỏ, bởi vì theo quan niệm của người dùng đây là vùng nhớ bị mất.

Câu 7: Nêu các nguyên tắc khi xây dựng một hệ diều hành.

  • Nguyên tắc Module:  

+ Xây dựng từ các Modul độc lập quan hệ với nhau  về mặt dữ liệu

+ Tồn tại cơ chế liên kết các Modul độc lập thành 1 tổ chức thống nhất

  • Nguyên tắc phủ chức năng.

Một công việc của HĐH có thể được thực hiện bằng nhiều phương tiện khác nhau cho phép user chọn giải pháp tối ưu với bài toán của mình

VD: Khi in tệp f1.txt có các giải pháp:

C:\>COPY f1.txt PRN

C:\>TYPE f1.txt >PRN

C:\>PRINT f1.txt

  • Nguyên tắc xử lí vĩ mô.

+ Xây dựng các phiếu yêu cầu

+ Liệt kê các bước phải thực hiện

+ Xây dựng các chương trình tương ứng

- Nguyên tắc bảng tham số điều khiển

- Nguyên tắc bảng giá trị chuẩn:

+ Hệ thống chuẩn bị sẵn các bảng giá trị cho các tham số điều khiển

+ Khi thực hiện nếu trong các câu lệnh còn thiếu những tham số giá trị thì hệ thống sẽ lấy giá trị tương ứng ở bảng giá trị chuẩn để thực hiện

VD: C:\BT> DIR

Xem ổ đĩa nào: C

Thư mục nào: BT

Cái gì: mọi thư mục con, tệp trong  thư mục này và không bị che

Như thế nào: đầy đủ thông tin, liên tục theo dữ liệu

Ra đâu: thiết bị chuẩn

Tham số: mọi tham số

  • Nguyên tắc chia tham số thành hai loại:
  • Tham số vị trí:

+ Là loại tham số mà ý nghĩa của nó xác định bởi vị trí xuất hiện trong bảng tham số

+ Đứng đầu dòng tham số

  • Tham số khoá:

+Là loại tham số mà ý nghĩa xác định bằng từ khóa

VD:

C:\>DIR A:/w/a/p

C:\>DIR A:/a/p/w

A: là tham số vị trí

/w, /a hay /p là tham số khoá

Nguyên tắc bảo vệ nhiều mức

  • Nguyên tắc tương đối trong định vị:

+ Các Modul được viết theo địa chỉ tương đối kể từ đầu bộ nhớ

+  Khi thực hiện chúng được định vị tại vùng nhớ xác định nên địa chỉ này sẽ thay đổi tương ứng

  • Nguyên tắc khởi tạo trong cài đặt.

Câu 8: Thế nào là tiến trình, các tính chất, trạng thái và cách phân loại tiến trình. Trình bày  về sơ đồ chuyển trạng thái của tiến trình.

  1. Khái niệm:

Tiến trình là một chương trình đang trong quá trình thực hiện

 Tiến trình được sinh ra khi chương trình được tải vào bộ nhớ để thực hiện

 Tiến trình người dùng

 Tiến trình hệ thống

Cần phân biệt hai khái niệm chương trìnhtiến trình. Một chương trình là một thực thể thụ động, chứa đựng các chỉ thị điều khiển máy tính để tiến hành một tác vụ nào đó ; khi cho thực hiện các chỉ thị này, chương trình chuyển thành tiến trình, là một thực thể hoạt động, với con trỏ lệnh xác định chỉ thị kế tiếp sẽ thi hành, kèm theo tập các tài nguyên phục vụ cho hoạt động của tiến trình.

  1. Phân loại tiến trình

- Tiến trình tuần tự:

Hai hay nhiều tiến trình gọi là tuần tự khi điểm kết thúc của tiến trình này là sự bắt đầu của tiến trình khác.

- Tiến trình song song

Điểm bắt đầu của tiến trình này nằm giữa điểm bắt đầu và kết thúc của tiến trình khác.

- Tiến trình có quan hệ thông tin

Trao đổi thông tin qua một vùng nhớ được biểu diễn như một hộp thư có thể trao đổi thông tin qua đó.

-Tiến trình độc lập

Hai hay nhiều tiến trình gọi là độc lập khi chúng không có quan hệ thông tin với nhau, hoạt động của tiến trình này không ảnh hưởng đến hoạt động của tiến trình khác và ngược lại.

-Tiến trình cha và tiến trình con

Một tiến trình được sinh ra từ một tiến trình khác thì được gọi là sự phân cấp của tiến trình hay được gọi là tiến trình cha và tiến trình con

-Tiến trình đồng mức

Thể hiện các tiến trình đó truy nhập tài nguyên dung chung theo nguyên tắc lần lượt.

  1. Trạng thái của tiến trình:

Phân biệt theo 2 trạng thái: chạy và không chạy

 => Không phản ánh đầy đủ thông tin về trạng thái tiến trình

 => Mô hình 5 trạng thái: mới khởi tạo, sẵn sàng, chạy, chờ

  • Mới khởi tạo: tiến trình đang được tạo ra
  • Sẵn sàng: tiến trình chờ được cấp CPU để thực hiện lệnh của mình
  • Chạy: lệnh của tiến trình được CPU thực hiện
  • Chờ đợi: tiến trình chờ đợi một sự kiện gì đó xảy ra (blocked)
  • Kết thúc: tiến trình đã kết thúc việc thực hiện nhƣng vẫn chưa bị xóa

  1. Sơ đồ chuyển đổi trạng thái của tiến trình

Tại một thời điểm, chỉ có một tiến trình được nhận trạng thái thực hiện trên một bộ nhớ xử lí bất kì. Trong khi đó, nhiều tiến trình có thể có trạng thái sẵn sàng hay chờ. Các đường chuyển tiếp trong sơ đồ trạng thái biểu diễn sáu sự chuyển trạng thái có thể xảy ra trong các điều kiện sau:

  • Tiến trình được khởi tạo được đưa vào hệ thống
  • Bộ điều khiển phối cấp cho phát triển tiến trình một khoảng thời gian sử dụng
  • Tiến trình kết thúc.
  • Tiến trình yêu cầu một tài nguyên nhưng chưa đáp ứng vì tài nguyên chưa sẵn sàng để cấp phát tại điểm đó hoặc tiến trình phải chờ một sự kiện hay một thao tác vào ra.
  • Bộ điều khiển phối chọn một tiến trình khác để cho xử lí
  • Tài nguyên mà tiến trình yêu cầu trở nên sẵn sàng để cấp phát hay sự kiện thao tác vào ra tiến trình đang hoàn tất

Câu 9: khái niệm bộ xử lý-shell ( trang 199)

Bộ xử lý là 1 cơ chế nào đó thực hiện các lệnh

Shell là 1 bộ phận hay 1 tiến trình đặc biệt của hệ điều hành, nó có nhiệm vụ nhận lệnh của người sử dụng, phân tích lệnh và phát sinh tiến trình mới để thực hiện yêu cầu của lệnh, tiến trình mới này được gọi là tiến trình đáp ứng nhu cầu.

Shell nhận lệnh thong qua cơ chế dòng lệnh, đó chính là nơi giao tiếp giữa người sử dụng và hệ điều hành, mỗi hđh khác nhau có cơ chế dòng lệnh khác nhau, với MS_DOS đó là con trỏ lệnh và dấu nhắc hệ điều hành (C:\>_), với win 9x đó là nhấn start chọn run….

Trong hệ điều hành đơn nhiệm (MS-DOS) khi tiến trình đáp ứng yêu cầu hoạt động thì Shell sẽ chuyển sang trạng thái chờ, để chờ cho đến khi tiến trình đáp ứng yêu cầu kết thức thì shell trở lại trạng thái sẵn sàng nhận lệnh mới

Trong môi trường hệ điều hành đa nhiệm (vd window 9x) sau khi phát sinh tiến trình đáp ứng yêu cầu và đưa nó vào trạng thái hoạt động thì Shell sẽ chuyển sang trạng thái sẵn sang nhận lệnh mới, giúp Shell có khả năng tạo nhiều tiến trình  đáp ứng yêu cầu để nó hoạt động song song => người sử dụng có thể khởi tạo nhiều chương trình để hoạt động đồng thời

Hầu hết các ngôn ngữ lập trình đều hỗ trợ các công cụ để người sử dụng có thể gọi Shell ngay trong các ứng dụng của họ ( vd : trong window 9x khi 1 ứng dụng cần gọi thực hiện 1 chương trình nào đó thì nó gọi hàm Shell execut )

1 tiến trình được thực hiện bởi 1 bộ xử lý, như vậy bộ xử lý là nơi thực hiện các lệnh. Tùy theo bản chất của các lệnh mà bộ xử lý phải được thiết lập hoàn toàn từ phần cứng hay gồm tổ hợp giữa các phần cứng và phần mềm.

Vd: CPU+chương trình biên dịch BASIC tạo nên bộ xử lý để thực hiện các lệnh trong BASIC

Các khái niệm về tiến trình và bộ xử lý phải thể hiện được tính đặc trưng đồng thời và đặc trưng vô định

Tính đồng thời là khả năng có thể thực hiện được nhiều chương trình trong 1 lúc ( vì số bộ xử lý thường ít hơn số lượng tiến trình ). Tính đồng thời có thể đạt được bằng cách chuyển bộ xử lý đang được dung cho 1 tiến trình này sang để dùng cho 1 tiến trình khác

Tính vô định : nếu xét tiến trình như 1 dãy các thao tác có thể bị ngắt thì tính vô định thể hiện ở sự không dự kiến trước được thời điểm xuất hiện của các ngắt cũng như ở sự không dự kiến trước được hậu quả của các ngắt. Khi có ngắt xuất hiện, thực hiện của tiến trình bị đình chỉ, bộ xử lý cất giữ các thong tin cần thiết về tiến trình rồi thực hiện xử lý ngắt

Tóm lại 1 tiến trình là 1 dãy các thao tác xét về mặt hiện tượng về cơ bản là động, trong khi 1 chương trình là 1 dẫy lệnh, nó là 1 tập hợp tĩnh. 1 bộ xử lý là 1 đơn vị thực hiện các tiến trình. Tính đồng thời và vô định có thể được mô tả ở sự chuyển mạch của bộ xử lý giữa các tiến trình và ở dạng ngắt giữa các thao tác.

Câu 10: Mục đích, chức năng và thành phần của nhân hệ diều hành (tr 202-204)

  • Mục đích, chức năng và thành phần của nhân hệ diều hành
  • KN: là những chương trình được xây dựng bởi người thiết kế máy tính, người sử dụng không thể thay đổi được.
  • Mục đích: tạo ra 1 môi trường đón nhận cho các tiến trình
  • Chức năng: điều khiển ngắt, phân chia bộ xử lí giữa các tiến trình và liên lạc giữa các tiến trình.
  • Thành phần:
  • Chương trình mức đầu của ngắt đảm bảo việc khởi động các ngắt
  • Chương trình lập biểu đảm nhận lập biểu phân phối các đơn vị trung tâm cho các tiến trình
  • Chương trình đảm bảo liên lạc đảm nhận việc liên lạc –móc nối giữa các tiến trình

Câu  11: Giới thiệu về chương trình mức đầu của Ngắt (204)

Ngắt có 2 nhiệm vụ:

  • Xác định nguyên nhân ngắt: Chương trình ngắt bố trí một dãy các phép kiểm tra cho tất cả các nguyên nhân gây ra ngắt. Nguyên nhân nào thường xảy ra nhất thì sẽ được xếp trên cùng, ít xảy ra nhất xếp dưới cùng. Một số máy tính thì danh sách các nguyên nhân gây ra ngắt không nằm trong chương trình mà được thay thế bằng phần cứng. Một số HĐH thì thực hiện theo một thỏa hiệp giữa phần mềm và phần cứng là một nhóm các nguyên nhân ngắt cùng đặc tính của nó được kiểm tra bằng phần cứng còn tìm nguyên nhân ngắt cụ thể thì bằng chương trình
  • Trả lời cho ngắt: Để có thể trả lời cho ngắt thì chức năng này phụ thuộc vào kiểu của ngắt và các thủ tục xử lý sao cho phải thật ngăn sgonj bởi vì chúng được thực hiện trong một chế đọ chương trình giám sát bị cấm ngắt. Trong máy PC các ngắt có ý nghĩa quan trọng đối với phần mềm và phần cứng, Có 3 loại ngắt
    • Ngắt mềm: Lệnh INT cùng số thứ tự ngắt. Các ngắt này cho phép gọi các chương trình tiếp theo của hệ điều hành. Ngắt mềm có thể được gọi bằng ngôn ngữ bậc cao, lúc đó nó phải được dịch ra hợp ngữ.
    • Ngắt cứng: được sinh ra bởi các chíp điện tử trong PC hoặc thiết bị ngoại vi. Đó là một cơ cấu đơn giản và hiệu quả để CPU phản ứng một cách kịp thời với các yêu cầu ngắt.
    • Ngắt ngoại lên: được sinh ra bởi chính CPU, nếu xuất hiện một ngoại lệ phải ngừng thực hiện chương trình, một ngắt mềm với số ngắt được CPU cung cấp sẽ được thi hành để ngắt.

Câu 12: Trình bày về chương trình lập biểu phân phối cho các hệ điều hành. (205)

- Chương trình lập biểu phân phối (Dispatcher) có nhiệm vụ phân phối đơn vị trung tâm (CPU) cho các tiến trình khác nhau trong hệ thống. Chương trình này quyết định chương trình nào được thi hành tiếp theo và biết khi nào thì kết thúc vào\ra.

Mục tiêu của chương trình lập biểu phân phối:

- Sự công bằng: Các tiến trình chia sẻ CPU 1 cách công bằng.

- Tính hiệu quả: Hệ thống phải tận dụng được CPU 100% thời gian hoạt động.

- Thời gian đáp ứng nhỏ nhất: Tối thiểu hóa thời gian hỏi đáp cho các tương tác của người sử dụng.

- Thời gian lưu lại hệ thống ngắn nhất: Bộ phận điều phối phải cực tiểu hóa thời gian trả lời của các tiến trình để tính tương tác của tiến trình tăng lên.

- Thông lượng tối đa: Chính sách điều phối phải cố gắng để cực đại được số lượng tiến trình hoàn thành trên 1 đơn vị thời gian.

Các đặc tính của tiến trình: Một số đặc tính của tiến trình cần quan tâm như là tiêu chuẩn để HĐH điều phối các hoạt động của tiến trình.

  • Tình huống vào ra của tiến trình
  • Tình huống xử lý của tiến trình
  • Tiến trình tương tác hay xử lý theo lô
  • Độ ưu tiên của tiến trình
  • Thời gian sử dụng CPU
  • Thời gian còn lại tiến trình cần hoàn tất

Cơ chế lập biểu phân phối của HĐH: HĐH có thể thực hiện cơ chế lập biểu phân phối theo nguyên tắc độc quyền hoặc không độc quyền.

  • Lập biểu phân phối độc quyền: cho phép tiến trình nhận được CPU sẽ độc quyền chiếm CPU cho đến khi xử lý xong hoặc tự nguyện giải phóng CPU. Xảy ra các tình huống:
  • Running -> interrupt
  • Tiến trình kết thúc

=> Đơn giản, dễ cài đặt nhưng không thích hợp với hệ thống nhiều người dùng.

- Lập biểu phân phối không độc quyền: cho phép tạm dừng tạm dừng một tiến trình đang sẵn sàng xử lý. Xảy ra trong các trường hợp:

  • Running -> blocked
  • Running -> Ready
  • Chương trình con kết thúc
  • Cơ chế phức tạp và phải có phương pháp đồng bộ hóa thích hợp.

 

Đồng hồ ngắt

HĐH sử dụng đồng hồ ngắt giờ và quy định một thông số thời gian thích hợp với lượt cấp phát CPU cho 1 tiến trình.

Cơ chế ngắt giờ cho phép thực hiện tương tác tự nhiên với nhiêu người dùng, ngăn chặn hệ thống bị quẩn trong 1 tiến trình của người dùng vì vòng lặp vô hạn.

 

Độ ưu tiên của tiến trình: Là 1 giá trị giúp phân định tầm quan trọng của tiến trìn để HĐH điều phối tiến trình 1 cách hợp lý.

- Các loại:

  • Độ ưu tiên tĩnh: được gắn cho tiến trình và không thay đổi theo sự biến động của môi trường.
  • Độ ưu tiên động: thay đổi theo thời gian và môi trường xử lý của tiến trình.

Câu 13: Chương trình phải có cấu trúc như thế nào để hệ diều hành có thể nhận biết và xử lý được chúng. Ưu, nhược điểm của từng loại cấu trúc.( trang 215)

Chương trình có các loại cấu trúc sau:

  • Cấu trúc tuyến tính.

Các modun, thư viện được dịch thành 1 modun duy nhất chứa đầy đủ các thông tin để chương trình có thể hoạt động độc lập được. khi thực hiện chương trình HĐH nạp toàn bộ chương trình vào bộ nhớ.

Ưu điểm:

- Cấu trúc đơn giản, dễ viết, không yêu cầu sự hiểu biết cao của ng lập trình và có nhiều ngôn ngữ lập trình sử dụng cấu trúc này. Nó cho ra tệp tin thi hành có tính độc lập cao, có tốc độ thực hiện chương trình cao vì chỉ cần nạp 1 lần.

- Tính lưu động cao.

- Cho phép dịch chuyển và chạy đc giữa các hệ thống, dễ dàng thương mại hóa, bảo trì dễ dàng, thời gian thực hiện nhỏ nhất.

Nhược điểm:

- Tốn bộ nhớ do kích thước cua chương trình sẽ tăng lên sau khi biên dịch.

- Có những modun, những thư viện chỉ được chương trình sử dụng 1 lần nhưng lại chiếm bộ nhớ ngay từ đầu nạp vào và chỉ bị đưa ra khi kết thúc chương trình.

  • Cấu trúc động (dynamic structure)

Chương trình bao gồm 1 modunle chính và nhiều module khác ( có thể xem các thư viện được gọi trong chương trình cũng là các module của chương trình).

Các module chương trình được biên tập 1 cách riêng rẽ, khi thực hiện chương trình sẽ nạp module gốc vào sau đó vào trong bộ nhớ.

Ưu điểm: Tiết kiệm bộ nhớ

Nhược điểm:

- Thời gian thực hiện 1 chương trình lớn ( vừa thực hiện vừa tiến hành nạp, xóa,…)

- Yêu cầu ng sử dụng phải nắm vững hệ thống.

- Kém lưu động, tốc độ thực hiện sẽ chậm hơn so với cấu trúc tuyến tính vì nó không đc nạp tất cả vòa bộ nhớ.

- Cần phải nhiều ngôn ngữ lập trình hỗ trợ.

  • Cấu trúc phủ lắp (overlay)

Các module chương trình được chia thành từng mức, module gốc được đưa vào mức 0 để nạp và định vị chương trình, mức 1 đc gọi từ module mức 0 và không cần tồn tại đồng thời, mức 2 được gọi từ mức 1 và không cần tồn tại đồng thời.

Bộ nhớ để dành để chứa chương trình được chia thành từng phần:

- Số phần chính bằng số mức của cấu trúc chương trình.

- Mỗi phần chứa các module đông mức có kích thước đúng bằng kích thước của module lớn nhất đồng mức trong phần đó.

- Các module trong cùng 1 mức không cần có kích thước giống nhau.

Các thông tin phụ: số mức của chương trình, các module nằm trong từng mức, kích thước của các module được lưu vào tệp sơ đồ phủ lắp.

Khi thực hiện chương trình, hệ thống nạp module gốc vào mức 0, khi cần 1 module nào khác thì lại nạp nó vào mức tương ứng mức trong bộ nhớ. Nếu trong mức bộ nhớ tương ứng đã có 1 module nào khác thì đưa module ấy ra ngoài. Các module trong cùng 1 lớp k thể gọi lẫn nhau.

Ưu điểm: tiết kiệm được bô nhớ nhiều hơn so với cấu trúc động nếu các module có cấu trúc hợp lý.

Nhược điểm:

- Tốc độ chậm hơn cấu trúc đông.

- Có thể phải dành hiều bộ nhớ phần dành cho chương trình.

- Không thể gắn cố định cấu trúc vào chương trình nguồn.

- Phức tạp hơn với người sử dụng.

- Nếu tang kích thước của bộ nhớ vật lý thì hiệu quả vẫn k thay đổi.

  • Cấu trúc phân đoạn ( Segmentation)

Các module chương trình được biên dịch thành các module riêng rẽ như trong cấu trúc động và được gọi là đoạn (segmet) chương trình.

Bộ nhớ chia thành các k gian nhớ có kích thước k bằng nhau, tương ứng với kích thước của đoạn chương trình, được gọi là phân đoạn bộ nhớ.

Khi thực hiện các chương trình, HĐH có thể nạp tất cả các đoạn mã của chương trình vào tại các phân đoạn liên tiếp or k liên tiếp nhau trên bộ nhớ. Hệ điều hành cũng có thể nạp 1 vài đoạn cần thiết ban đầu vào bộ nhớ, sa đó nạp các đoạn tiếp theo nếu cần.

Hệ điều hành phải xây dựng các đoạn để biết địa chỉ cơ sở và độ dài của phân đoạn và thực hiện điều khuyển vào ra các đoạn vào bộ nhớ.

Ưu điểm :

- Không yêu cầu cao về người lập trình.

- Tiết kiệm đc bộ nhớ.

- Thể hiện đc cách nhìn của ng lập trình về chương trình của họ.

Nhược điểm :

- Tốn thêm bộ nhớ để chứa bảng phân đoạn SCT của chương trình.

- Làm chậm tốc độ truy xuất dữ liệu trên bộ nhớ vì phải thông qua bảng điều khuyển đoạn SCT.

  • Cấu trúc phân trang (paging)

Các module chương trình được biên dịch thành 1 module duy nhất như trong cấu trúc tuyến tính, nhưng sau đó dduocj chia thành các phần có kích thước bằng nhau được gọi là các trang chương trình.

Bộ nhớ chia thành các phàn kích thước bằng nhau và bằng với kích thước các trang chương trình được gọi là các khung trang.

Khi thực hiện chương trình, HĐH có thể nạp tất cả các trang của chương trình vào tại các khung trng liên tiếp or k liên tiếp nhau trên bộ nhớ or nạp 1 vài trang cần thiết ban đầu vào bộ nhớ, sau đó nạp các trang tiếp theo nếu cần.

Các bảng điều khuyển trang cho biết được 1 trang đã đc nạp vào bộ nhớ hay chưa, nếu đã đc nạp vào rồi thì đc chứa ở khung trang nào. Trong quá trình điều khuyển chương trình HĐH dự vào bảng điều khuyển tranh PCT để thực hiện các truy xuất và nạp thêm các đoạn mới vào bộ nhớ.

Ưu điểm : không yêu cầu cao ng lập trình, tiết kiệm đc bộ nhớ,

Nhược điểm :

- Tốn bộ nhớ để chứa bảng điều khuyển trang PCT của chương trình.

- Làm chậm tốc độ truy xuất dữ liệu trên bô nhớ vì phải thông qua bảng điều khuyển trang PCT

- Không thể hiện đc cách nhìn của ng lập trình về chương trình của họ.

Câu 14 : Trình bày những nhiệm vụ của hệ điều hành để quản lý bộ nhớ.(Trang 221)

  • Cấp phát lại bộ nhớ (Relocation) :

- HĐH phải có các cơ chế để ghi lại tất cả các thông tin liên quan đến 1 chương trình bị đưa ra ngoài. Các thông tin này là cơ sở để hệ điều hành đưa vào lại swap-in chương trình vào lại bộ nhớ chính và cho nó liên tục hoạt động.

- Sau khi đưa ra ngoài 1 chương trình HĐH phải tổ chức lại bộ nhớ để chuẩn bị nạp tiến trình vừa có yêu cầu.

- HĐH phải có khả năng chuyển đổi các địa chỉ bộ nhớ được ghi trong code của chương trình thành các đĩa địa chỉ vật lý thực tế trên bộ nhớ chính khi chương trình thực hiện các thao tác truy xuất trên bộ nhớ.

  • Bảo vệ bộ nhớ:

- Khi nhiều tiến trình cùng chiếm chỗ trong bộ nhớ, HĐH phải đảm bảo k 1 tiến trình nào đc xâm phạm vùng bộ nhwos đã dành cho tiến trình khác.

- Cơ chế bảo vệ phải thiết lập đc 1 danh sách giữa các tiến trình khác nhau có trong hệ thông.

- Việc bảo vệ này là bảo vệ chống lỗi và bảo vệ chống ác ý.

  • Chia sẻ bộ nhớ:

- Cho phép nhiều tiến trình có thể truy cập đến cùng 1 địa chỉ trên bộ nhwos chính. Các tiến trình đồng thwucj hiện (co-operating) trên 1 vài tác vụ có thể cần để chia sẻ truy cập đến cùng 1 cấu trúc dữ liệu.

- Điều khuyển việc truy cập đến không gian bộ nhớ đc chia sẻ mà k vi phạm đến các yêu cầu bảo vệ bộ nhớ.

- Trong môi trường HĐH đa nhiệm, HĐH phải chia sẻ k gian nhớ cho các tiến trình đã đc nạp vào bộ nhớ để chúng có thể hoạt động đồng thời với nhau.

  • Tổ chức logic bộ nhớ (Logical Organnization): HĐH phải tổ chức quản lý bộ nhớ sao cho:

- Các chương trình có thể viết thành các đoạn độc lập với nhau, mỗi khi chương trình thực hiện, nó chỉ gọi đoạn cần thiết vào bộ xử lý để thực hiện.

- Sử dụng bộ xủa lý ít nhưng vẫn đảm bảo cung caaos được các mức bảo vệ khác nhau.

- Có thể đưa vào 1 cơ chế cho phép phân chia các đonạ (segmentation) giữa các bộ xử lý.

  • Tổ chức vật lý cho bộ nhớ (Physical Organnization): có nhiệm vụ di chuyển thông tin giữa 2 cấp bộ nhớ chính và phụ.

Câu 15: Trình bày cơ chế phân chương cố định và phân chương động để quản lý bộ nhớ

  1. Cơ chế phân chương vùng cố định

Bộ nhớ được chia thành n phần, kích thước các phần không nhất thiết phải bằng nhau, mỗi phần sử dụng một bộ nhớ độc lập. Mỗi phần có thể nạp một chương trình và tổ chức thực hiện đồng thời. Vì mỗi phần được coi là một bộ nhớ độc lập, nên các chương trình sẽ có một danh sách quản lý không gian nhớ tự do riêng. Chương trình được nạp vào phần nào thì sẽ ở đó cho đến khi kết thúc.

- Ưu điểm: Đơn giản, dễ tổ chức, giảm thời gian tìm kiếm

- Nhược điểm: Lãng phí bộ nhớ và xảy ra hiện tượng phân mảnh nội vi

  1. Cơ chế phân chương vùng động

Bộ nhớ có một bảng quản lý không gian nhớ tự do thống nhất. Khi thực hiện chương trình, hệ thống dựa vào kích thước chương trình để phân bổ không gian nhớ thích hợp tạo thành một vùng nhớ độc lập và tạo bảng quản lý riêng. Khi các chương trình kết thúc, bộ nhớ dành cho chương trình sẽ bị thu hồi.

- Ưu điểm: Tận dụng được không gian nhớ tự do.

- Nhược điểm: Không gây ra hiện tượng phân mảnh nội vi nhưng lại xuất hiện phân mảnh ngoại vi.

  1. Cơ chế quản lý bộ nhớ

HĐH chia không gian nhớ thành các khối nhớ bằng nhau (block) và quản lý theo danh sách liên kết hoặc quản lý bẳng bảng các bit

Câu 16: Phân biệt sự giống và khác nhau giữa phương pháp phân trang và phân đoạn trong việc quản lý bộ nhớ của hệ điều hành.

Giống nhau:

  • Với 2 phương pháp này đều được hệ điều hành đa nhiệm,đa chương trình hỗ trợ mạnh nhất, đặc biệt là các hệ điều hành cài đặt sử dụng bộ nhớ ảo
  • Các hệ điều hành phải xây dựng các bảng điều khiển trang( PCT- page control tablle) hay bảng điều khiển vùng( SCT- segment control table) để biết được một trang hay một đoạn đã được nạp vào bộ nhớ hay chưa, nếu được nạp rồi thì chứa ở khung trang nào, hay đoạn nào.
  • Đều tiết kiệm bộ nhớ, nhưng lại tốn kém bộ nhớ để chứa các bảng điều khiển trang hay bảng bảng điều khiển đoạn. và làm giảm tốc độ truy xuất dữ liệu trên bộ nhớ vì phải thông qua bảng điều khiển và đặc biệt không thể hiện được cách nhìn của người lập trình về chương trình của họ.
Phương pháp phân đoạn Phương pháp phân trang
Các module chương trình được biên dịch thành các module riêng rẽ như cấu trúc động và được gọi là các đoạn segment Các module chương trình được biên dịch thành các module duy nhất như cấu trúc tuyến tính , sau đó được chia thành các thành phần có kích thước bằng nhau được gọi là các trang chương trình(  frame)
Để thực hiện, bộ nhớ phải bao gồm các không gian có kích thước không thể bằng nhau, tương ứng với kích thước của đoạn chương trình gọi là các phân đoạn( segmenttation) bộ nhớ. Để thực hiện, bộ nhớ phải được phan trang, tức là bộ nhớ bao gồm các không gian nhớ  có kích thước bằng nhau, bằng với kích thước của trang chương trình được gọi là các khung trang.( frame) bộ nhớ
Hệ điều hành có thể nạp tất cả các đoạn mã của chương trình vạo tạo các phân đoạn liên tiếp hoặc không liên tiếp nhau trên bộ nhớ. Hệ điều hành cũng có thể nạp một vài đoạn chương trình ban đầu sau đó mới nạp các đoạn tiếp theo nếu cần. Hệ điều hành có thể nạp tất cả các trang, tức là bộ nhớ bao gồm các không gian nhớ có kích thước bằng nhau, hay có thể nạp một vài trang cần thiết ban đầu sau đó mới nạp tiếp các trang tiếp theo nếu cần( các khung trang có thể liền kề hoặc không liền kề nhau).
Cần SCT( bảng điều khiển đoạn) để biết được đoạn mã đã được nạp vào hay chưa Cần PCT( bảng điều khiển trang để biết được trang nào đã được nạp vào.
Không yêu cầu cao về người lập trình Yêu cầu cao về người lập trình

Câu 17:  Phân biệt sự giống và khác nhau giữa hệ thống đa chương phân vùng đọng và phân vùng tĩnh:

  • Hệ thống đa chương với phân vùng tĩnh: Bộ nhớ lúc này dc chia ra thành N phân vùng có kích thước cố định,các phân vùng khác nhau không nhất thiết phải có kích thước bằng nhau .Mỗi vung thực hiện quản lí bộ nhớ  1 cách độc lập.Trong kĩ thuật này không gian địa chỉ của bọ nhớ chính dc chia thành 2 ,phần nằm ở vùng địa chỉ thấp để chứa chính là hệ điều hành,phần còn lại tạm gọi là user program,là sẵn sang cho việc sử dụng của các tiến trình khi chúng dc nạp vào bộ nhớ chính. Phần user program lại dc phân ra thành nhiều phân vùng(partition) với các biên vùng cố định có kích thước bằng nhau hay không bằng nhau.ở đây 1 tiến trình có thể dc phân vào bất kì 1 phân vùng nào nếu kích thước của nó nhỏ hơn hoặc bằng kích thước của phân vùng và phân vùng này còn trống.Khi có 1 tiến trình được nạp vào bộ nhớ nhưng tất cả các phân vùng đều đã chứa các tiến trình khác thì hệ điều hành có thể chuyển 1 tiến trình nào đó,mà hệ điều hành cho là hợp lệ
  • Hệ thống đa chương với phân vùng động: Khi 1 tiến trình được đưa vào hệ thống ,cấp phát cho tiến trình 1 vùng nhớ vừa đúng với kích thước của tiến trình,phần bộ nhớ còn lại dành cho các tiến trình khác.Khi tiến trình kết thúc,vùng nhớ đã cấp phát cho tiến trình đó sẽ dc giải phóng và có thể sẽ dc cấp phát cho tiến trình khác.Như vậy các vùng nhớ cấp phát cho các tiến trình có kích thước động và vị trí bắt đầu của các phân vùng cuãng là động.

Tại thời điểm ban đầu lỗ hỗng lớn nhất,sau đó phân phối cho tiến trình 1 vùng nhớ liên tục đủ để thực hiên tiến trình và vùng bộ nhớ này dc độc lập.Toàn bộ bộ nhớ chỉ coa 1 danh sách quản lí bộ nhớ tự do thống nhất,sau 1 khoảng thời gian thì xảy ra hiện tượng tồn tại 1 tập các lỗ hỗng .Khi 1 tiến trình yêu cầu tới bộ nhớ thì HĐH sẽ kiểm tra xem trong tập các lỗ hổng đó có lỗ hỗng nào đủ lớn hay không

Trong hệ thống đa chương ,sử dụng sự phân vùng động ,nếu có tiến trình mới cần nạp vào bộ nhớ ,trong khi bộ nhớ không còn chỗ trống  và tất cả ácc tiến trình trên bộ nhớ đều ở trạng thái khóa thì hệ thống phải đợi cho đến khi có 1 tiến trình dc chuyển sang trạng thai không bị khóa…

Câu 18: Giải thích các cơ chế quản lý hàng đợi trong hệ thống đa chương với phân vùng cố định. Chỉ ra ưu điểm và nhược điểm của từng cơ chế quản lý hàng đợi.

Việc đưa 1 tiến trình vào phân vùng trong hệ thống đa chương với phân vùng cố định kích thước không bằng nhau sẽ phức tạp hơn nhiều so với trường hợp các phân vùng có kích thứoc bằng nhau.Với các phân vùng có kích thước không bằng nhau thì có 2 cách  để lựa chọn khi đưa 1 1tiến trình vào phân vùng:

  • Sử dụng nhiều hàng đợi: Mỗi phân vùng có 1 hàng đợi tương ứng,theo đó môiữ tiến trình khi cần dc nạp vào bộ nhớ nó sẽ dc đưa đến hành đợi của phân vùng có kích thước vừa đủ để chứa nó.
  • Ưu điểm:Cách tiếp cận này đơn giản trong việc đưa1 tiến trình từ hàng đợi vào phân vùng vì không có sự lựa chọn nào khác ,khi phân vùng mà tiến trình đợi trốngnó sẽ dc đưa vào phân vùng đó
  • Nhược điểm:kém linh động vì có thế có 1 phân vùng trống ,trong khi đó có nhiều tiến trình đang phải đợi để dc nạp vào các phân vùng khác,gây lãng phí trong việc sử dụng bộ nhớ
  • Sử dụng 1 hàng đợi:Hệ thống 1 hàng đợi dùng chung cho tất cả các phân vùng,theo đó tất cả các tiến trình muốn dc nạp vào phân vùng nhưng chưa dc nạp sẽ dc đưa vào hàng đợi chung này.Sau đó nếu có 1 phân vùng trống thì hệ thống sẽ xem xét để đưa 1 tiến trình có kích thước vừa đủ vào phân vùng trống đó.
  • Ưu điểm: Cách tiếp canạ này linh động hơn so vớiư việc sử dụng nhiều hàng đọi như trên
  • Nhược điểm: việc chọn 1 tiến trình trong hàng đợi để đưa vào phân vùng là 1 việc làm khá phức tạp vì nó phải dựa vào nhiều yếu tố khác nhau(độ ưu tiên của tiến trình,trạng thái hiện tại của tiến trình,các mối quan hệ của tiến trình….)
  • Đặc điểm của cơ chế: Luôn luôn tồn tại 1 hiện tượng phân đoạn bên trong ,đây là phần mà bộ nhớ dc cung cấp cho tiến trình mà nó không dc dùng tới.Có thể xảy ra tình trạng là 1 tiến trình có kích thước bé lại dc nạp vào 1 vùng có kích thước lớn,phanà bộ nhớ không dùng tới trong phân vùng sẽ bị lãng phí …
  • Chung cho cả 2 loaị này: Hạn chế
  • Số lựong tiến trình có thể hoạt động trong hệ thống tại 1 thời điểm phụ thuộc vào số lượng các phân vùng cố định trên bộ nhớ
  • Nếu kích thước của tiến trình nhỏ hơn kích thước của 1 phân vùng thì có thể dẫn đến hiện tượng phân mảnh bên trong gây lãng phí trong việc sử dụng bộ nhớ.

Câu 19: Thế nào là hiện tượng phân mảnh trong, phân mảnh ngoài ở bộ nhớ và cách hệ điều hành khắc phục những vùng phân mảnh này.(sgk-230)

Trả lời:

  • Phân mảnh trong bộ nhớ (internal fragmentation): Khi kích thước của một phân vùng- partition hoặc quá lớn so với kích thước của 1 parittion nhưng k phải là bội số của kích thước phân vùng thì dễ xảy ra hiện tượng phân mảnh bên trong bộ nhớ, gây lãng phí bộ nhớ. Ví dụ, nếu có 3 không gian trống kích thước 30K nằm rải rác trên bộ nhớ, thì cũng sẽ không nạp đc 1 module chương trình có kích thước 12K, hiện tượng này được gọi là hiện tượng phân mảnh bên trong.
  • Phân mảnh ngoài bộ nhớ (external fragmentation): Là không có khả năng sử dụng bộ nhớ miễn phí như là bộ nhớ miễn phí được chia thành các khối nhỏ của bộ nhớ và các khối được xen kẽ với bộ nhớ được phân bổ, phân mảnh ngoại vi xảy ra khi một thuật toán phân bổ bộ nhớ năng động phân bổ một số bộ nhớ và một phần nhỏ còn lại trên không thể được sử dụng hiệu quả. Nếu quá nhiều phân mảnh bên ngoài xảy ra, số lượng bộ nhớ có thể sử dụng được giảm mạnh.
  • Cách hệ điều hành khắc phục những vùng phân mảnh này: cả 2 vấn đề trên đều có thể được khắc phục bằng cách sd các phân vùng có kich thước k bằng nhau.(tr230)

Câu 20: Trình bày cơ chế phân trang để quản lý bộ nhớ (sgk-233->237)

  • Cơ chế phân trang : (233 và 234)
  • Không gian địa chỉ bộ nhớ vật lý đc chia thành các phần có kích thước cố định bằng nhau, được đánh số địa chỉ từ 0 và đc gọi là các khung trang (page frame). Không gian địa chỉ cũng đc chia thành các phần có kích thước bằng nhau và bằng kích thước của 1 khung trang, được gọi là các trang(page) của tiến trình.
  • Được HĐH sd các bảng trang để theo dõi vị trí các trang tiến trình trên bộ nhớ.
  • Khi cần truy xuất bộ nhớ CPU phát ra một địa chỉ logic gồm 2 thành phần: số hiệu trang(Page), địa chỉ tương đối trong trang(Offset).
  • Kích thước của mỗi trang hay khung trang do phần cứng quy định và thường là lỹ thừa của 2, biến đổi từ 512byte đến 8192byte.
  • Nhiệm vụ của cơ chế phân trang: (trang 235)
  • Tiến hành các thao tác dịch địa chỉ
  • Chuyển các trang từ bộ nhớ phụ vào bộ nhớ chính khi cần và chuyển ngược lại khi thấy k cần thiết.

Câu 21: Trình bày cơ chế phân đoạn để quản lý bộ nhớ (segmentation)

 (trang 237)

Trong kỹ thuật này, không gian địa chỉ bộ nhớ vật lý  được chia thành các phần cố định có kích thước không bằng nhau, được đánh số bắt đầu từ 0, được gọi là các phân đoạn (segment). Mỗi phân đoạn bao gồm số hiệu phân đoạn và kích thước của nó. Không gian địa chỉ của các tiến trình, kể cả các dữ liệu liên quan cũng được chia thành các đoạn khác nhau và không nhất thiết phải có kích thước bằng nhau.

Khi một tiến trình được nạp vào bộ nhớ thì tất cả các đoạn của nó sẽ được nạp vào các phân đoạn còn trống khác nhau trên bộ nhớ. Các phân đoạn này có thể không liên tiếp nhau.

Để theo dõi các đoạn của các tiến trình khác nhau trên bộ nhớ, HĐH sử dụng các bảng phân đoạn tiến trình, thông thường một tiến trình có một bảng phận đoạn riêng. Mỗi phần tử trong bảng phân đoạn gồm tối thiểu 2 trường:

  • Trường thứ nhất cho biết địa chỉ cơ sở (base) của phân đoạn mà đoạn chương trình tương ứng đươc nạp.
  • Trường thứ hai cho biết độ dài/giới hạn của phân đoạn, trường này còn có tác dụng dùng để kiểm soát sự truy xuất bất hợp lệ của các tiến trình.

Các bảng phân đoạn có thể được chứa trong các thanh ghi nếu kích thước nhỏ, nếu kích thước bảng phân đoạn lớn thì nó được chứa trong bộ nhớ chính, khi đó HĐH sẽ sử dụng 1 thanh ghi để lưu trữ địa chỉ bắt đầu nơi lưu trữ bảng phân đoạn, thanh ghi này được gọi là thanh ghi cơ sở bảng phân đoạn STBR: Segment Table Base Register. Ngoài ra, vì số lượng các đoạn của một chương trình/tiến trình có thể thay đổi nên HĐH dùng thêm thanh ghi độ dài bảng phân đoạn STLR: Segment Table Length Register, để ghi kích thước hiện tại của bảng phân đoạn. HĐH cũng tổ chức một danh sách riêng để theo dõi các phân đoạn segment còn trống trên bô nhớ.

Câu 22: Kể tên các phương pháp cấp phát bộ nhớ trong việc quản lý bộ nhớ của hệ điều hành. Nêu  ngắn gọn bản chất và các thuật toán được sử dụng trong từng phương pháp.

Trả lời: (trang 238)

Các phương pháp cấp phát bộ nhớ:

  • Các pp thế chỗ
  • Các pp nạp (fetch)
  • Các pp xếp chỗ
  1. Phương pháp thế chỗ
  2. Cho hệ phân trang

PP thế chỗ bao gồm việc chọn các khối thông tin để đẩy ra khỏi bộ nhớ phụ khi cần phải tạo ra chỗ trong bộ nhớ chính cho các khối mới. Một cách lý tưởng, làm sao đẩy ra khỏi bộ nhớ một khối chưa cần dùng đến trong một tương lai khá xa. Nhưng thực tế là chỉ có thể ngoại suy tương lai theo quá khứ.

Thực tế có 3 kiểu thuật toán:

  • Tìm khối lâu chưa đc sử dụng tới.
  • Tìm khối ít được sử dụng thương xuyên.
  • Tìm khối gọi vào bộ nhớ cũ (có thể khối này lại được sử dụng thường xuyên)
  1. Cho hệ không phân trang

Mục tiêu chính là đẩy ra khỏi bộ nhớ đoạn ít có khả năng dùng tới trong một tương lai gần. Như vậy, có thể áp dụng 3 kiểu thuật toán như trường hợp có phân trang, nhưng cần lưu ý rằng kích thước các đoạn là không bằng nhau và đoạn cần đẩy ra khỏi bộ nhớ chính vào bộ nhớ phụ phải bằng đoạn cần xếp chỗ.

Thuật toán đơn giản là chọn đoạn mà khi giải phóng nó cùng với các chỗ trống kế cận sẽ tạo đủ chỗ cho đoạn mới tới. Khi có nhiều đoạn thỏa mãn thuật toán thì chọn đoạn thỏa mãn một trong 3 kiểu thuật toán đã mô tả. nếu không có đoạn nào mà giải phóng đủ chỗ thì giải phóng nhiều đoạn.

  1. Phương pháp nạp
  • Bao gồm việc xác định thời điểm cần thiết nạp một khối thông tin từ bộ nhớ phụ vào bộ nhớ chính.
  • Được phân chia thành 2 loại: nạp theo yêu cầu và nạp trước thời hạn.
  • Các pp nạp theo yêu cầu là dễ thực hiện hơn. Sự thiếu một khối sẽ phát sinh một lỗi và tạo một yêu cầu nạp, kế đó pp xếp hoặc thế chỗ sẽ cấp phát bộ nhớ cho khối mới.
  • Các pp nạp trước thời hạn dựa trên một phỏng đoán tương lai căn cứ vào 2 yếu tố:
  • Bản sắc xây dựng các chương trình
  • Hoạt động của tiến trình trong quá khứ
  1. Phương pháp xếp chỗ
  2. Cho hệ không phân trang
  • Xét các phép chuyển thông tin trong các hệ có không gian địa chỉ ảo được phân đoạn hoặc dùng các thanh ghi cơ sở và thanh ghi giới hạn.
  • Gọi tệp thông tin được chuyển là đoạn với quy ước đoạn là toàn bộ không gian địa chỉ của tiến trình.
  • Pp xếp chỗ phải xử lý một danh sách địa chỉ và kích thước của các vùng nhớ tự do gọi là danh sách các “lỗ hổng”. HĐH phải quyết định việc sử dụng các “lỗ hổng” và cập nhật danh sách các “lỗ hổng” vào mỗi phép xen:
  • Nếu đoạn cần xen nhỏ hơn “lỗ hổng” sẵn có thì đoạn đó được đặt vào từ bên trái hoặc từ bên phải theo danh sách các “lỗ hổng”.
  • Nếu đoạn là lớn hơn mọi “lỗ hổng” sắn có thì pp đan xen phải sắp xếp lại các đoạn hiện có trong bộ nhớ để tạo ra một “lỗ hổng” đủ lớn.
  • Có nhiều kiểu thuật toán để thực hiện kiểu trên.
  • Vấn đề chung cho các pp xen ở chỗ là các bộ nhớ tự do tạo thành các “lỗ hổng” nhỏ, quá nhỏ. Các đoạn khác khó có thể sử dụng đc. Khi hiện tượng này xuất hiện thì vấn đề dồn bộ nhớ trở thành cần thiết. các đoạn khi đó đc dồn xuống cuối của bộ nhớ để làm xuất hiện một “lỗ hổng” ở đầu.
  1. Cho hệ phân trang
  • PP này đơn giản hơn so với hệ ko phân trang vì khi xếp chỗ cho k trang chỉ cần tìm và thay thế để giả phóng k trang.
  • Việc xé nhỏ như trong hệ không phân trang sẽ không xảy ra vì các khung trang có kích thước bằng nhau.
  • Tuy nhiên, nó gặp phải sự xé nhỏ bên trong vì vùng nhớ bị chiếm giữ bởi một tiến trình thường không phải là bội số của kích thước trang. Điều này dẫn tới một phàn của trang cuối cùng không được sử dụng
  • Nếu không gian địa chỉ bao gồm nhiều đoạn phân trang thì mức xé nhỏ bên trong sẽ tăng lên theo số của các đoạn có mặt trong bộ nhớ.

Câu 23: Trình bày việc cấp phát bộ nhớ bằng phương pháp nạp trong việc quản lý bộ nhớ của hệ điều hành.(239)

Các phương pháp nạp bao gồm việc xác định thời điểm cần thiết nạp một khối thông tin từ bộ nhớ phụ vào bộ nhớ chính.

Các phương pháp nạp được phân chia làm 2 loại: nạp theo yêu cầu và nạp trước thời hạn.

Các phương pháp nạp theo yêu cầu là dễ thực hiện hơn. Sự thiếu 1 khối sẽ phát sinh một lỗi và tạo một yêu cầu nạp, kế đó phương pháp xếp hoặc thế chỗ sẽ cấp phát bộ nhớ cho khối mới.

Các phương pháp nạp trước thời hạn dựa trên một phỏng đoán tương lai căn cứ vào 2 yếu tố: + Bản sắc xây dựng các chương trình.

+ Hoạt động của tiến trình trong quá khứ.

Câu 24: Trình bày việc cấp phát bộ nhớ bằng phương pháp thế chỗ cho hệ phân trang và hệ không phân trang trong việc quản lý bộ nhớ của hệ điều hành.

  • Phương pháp thế chỗ với hệ phân trang: Phương pháp thế chỗ bao gồm việc chọn các khối thông tin để đẩy ra khỏi bộ nhớ phụ khi cần phải tạo ra chỗ trong bộ nhớ chính cho các khối mới. Một cách lý tưởng, làm sao đẩy ra khỏi bộ nhớ một khối chưa cần dùng đến trong một tương lai khá xa. Nhưng thục tế là chỉ có thể ngoại suy tương lai theo quá khứ.

Thực tế có 3 kiểu thuật toán:

  • Tìm khối lâu chưa được sử dụng tới.
  • Tìm khối ít được sử dụng thường xuyên.
  • Tìm khối gọi vào bộ nhớ cũ( có thể khối này đc sử dụng thường xuyên).
  • Phương pháp thế chỗ cho hệ không phân trang: Mục tiêu chình là giống như hệ phân trang, tức là đẩy ra khỏi bộ nhớ đoạn ít có khả năng dùng tới trong một tương lai gần. Như vậy, có thể áp dụng 3 kiểu thuật toán như trong trường hợp có phân trang, nhưng cần lưu ý rằng kích thước các đoạn là không bằng nhau và đoạn cần đẩy ra khỏi bộ nhớ chính vào bộ nhớ phụ phải đúng bằng đoạn cần xếp chỗ.

Thuật toán đơn giản là chọn mà khi giải phóng nó cùng với các chỗ trống kế cận sẽ tạo đủ chỗ cho đoạn mới tới. Khi có nhiều đoạn thỏa mãn thuật toán thì chọn thỏa mãn một trong 3 thuật toán đã mô tả( vd: chọn đoạn lâu chưa đc sd). Nếu không có đoạn nào mà giải phóng đủ chỗ thì giải phóng nhiều đoạn.

Câu 25: Trình bày việc cấp phát bộ nhớ bằng phương pháp xếp chỗ cho hệ phân trang và hệ không phân trang trong việc quản lý bộ nhớ của hệ điều hành.

phương pháp thế chỗ cho hệ phân trang:

phương pháp thế chỗ bao gồm việc chọn các khối thông tin để đẩy ra khỏi bộ nhớ phụ khi cần phải tạo ra chỗ trong bộ nhớ chính cho các khối mới. một cách lý tưởng, làm sao đẩy ra khỏi bộ nhớ một khối chưa cần dùng đến trong một tương lai khá xa. Nhưng thực tế là chỉ có thể là ngoại suy tương lai theo quá khứ.

Thực tế có ba kiểu thuật toán:

* Tìm khối lâu chưa được sử dụng đến.

* Tìm khối ít được sử dụng thường xuyên.

* Tìm khối gọi vào bộ nhớ cũ (có thể khối này lại được sử dụng thường xuyên)

-phương pháp thế chỗ cho hệ không phân trang.

Mục tiêu chính là giống như các hệ phân trang, tức là đẩy ra khỏi bộ nhớ đoạn ít có khả năng dùng tới trong một tương lai gần. như vậy, có thể áp dụng ba kiểu thuật toán như trường hợp có phân trang, nhưng cần lưu ý rằng kích thuwocs các đoạn là không bằng nhau và đoạn cần đẩy ra khỏi bộ nhớ chính vào bộ nhớ phụ phải đúng bằng đoạn cần xếp chỗ.

Thuật toán đơn giản là chọn mà khi giải phóng nó cùng với các chỗ trống kế cận sẽ tạo đủ chỗ cho đoạn mới tới. khi có nhiều đoạn thỏa mãn thuật toán thì chọn đoạn thuật toán thỏa mãn 1 trong 3 kiểu đã mô tả. nếu khồn có đoạn nào mà giải phóng đủ chỗ thì giải phóng nhiều đoạn.

Mục tiêu chính là giống như các hệ phân trang, tức là đẩy ra khỏi bộ nhớ đoạn ít có khả năng dùng tới trong một tương lai gần. như vậy, có thể áp dụng ba kiểu thuật toán như trường hợp có phân trang, nhưng cần lưu ý rằng kích thuwocs các đoạn là không bằng nhau và đoạn cần đẩy ra khỏi bộ nhớ chính vào bộ nhớ phụ phải đúng bằng đoạn cần xếp chỗ.

Thuật toán đơn giản là chọn mà khi giải phóng nó cùng với các chỗ trống kế cận sẽ tạo đủ chỗ cho đoạn mới tới. khi có nhiều đoạn thỏa mãn thuật toán thì chọn đoạn thuật toán thỏa mãn 1 trong 3 kiểu đã mô tả. nếu khồn có đoạn nào mà giải phóng đủ chỗ thì giải phóng nhiều đoạn.

Câu 26: Các thiết bị vào ra khác nhau ở những điểm gì? (Tr. 251)

Các thiết bị vào ra khác nhau ở các đặc điểm sau đây:

  • Dòng ký tự hay khối:
  • Các thiết bị dòng ký tự chuyển từng byte một,
  • Ngược lại một thiết bị khối chuyển đơn vị là khối byte
  • Truy xuất tuần tự và ngẫu nhiên:
  • Thiết bị tuần tự chuyển dữ liệu theo một thứ tự cố định được định nghĩa bởi thiết bị,
  • Ngược lại người dùng của một thiết bị truy xuấ ngẫu nhiên có thể chỉ dẫn thiết bị để tìm bất cứ vị trí lưu trữ dữ liệu đã có
  • Đồng bộ và không đồng bộ:
  • Một thiết bị đồng bộ là một thiết bị thực hiện việc chuyển dữ liệu với số lần đáp ứng có thể đoán trước.
  • Một thiết bị bất đồng bộ hiển thị số lần đáp ứng không đều đặn hay không thể đoán trước
  • Có thể chia sẻ hay tận hiến:
  • Một thiết bị có thể chia sẻ được dùng đồng hành bởi nhiều quá trình hay luồng.
  • Một thiết bị tận hiến thì không thể
  • Đọc-viết, chỉ đọc, hay chỉ viết: Một số thiết bị thực hiện cả hai nhập, xuất, nhưng một số thiết bị khác hỗ trợ chỉ một hướng dữ liệu

Câu 27: Trình bày mục tiêu thiết kế điều khiển các vào ra của hệ điều hành: (Tr-256)

Là che giấu được những đặc thù của các thiết bị ngoại vi phần cứng đối với người sử dụng hệ thống tính toán mà thay vào đó thay vào đó là một lớp thân thiện với người sử dụng để người sử dụng dẽ thao tác. Một hệ thống vào ra bao gồm:

  • Hệ thống buffer caching
  • Giao tiếp điều khiển thiết bị( device drivers) tổng quát
  • Bộ điều khiển cho các thiết bị phần cứng

Câu 28: Trình bày các mục tiêu thiết kế để quản lý tệp

  • Đáp ứng các yêu cầu về lưu trữ dữ liệu của người sử dụng: khả năng lưu trữ, độ tin cậy và hiệu suất.
  • Tối thiểu hóa hoặc loại bỏ các nguy cơ có thể dẫn đến hỏng hoặc mất dữ liệu.
  • Hỗ trợ vào/ra cho nhiều loại thiết bị lưu trữ khác nhau.
  • Hỗ trợ vào/ra cho nhiều người sử dụng trong các hệ thống đa người sử dụng.
  • Cung cấp một tập chuẩn các thủ tục giao diện vào/ra

Câu 29: Có mấy phương pháp cấp phát block cho một tệp trên đĩa? Hãy cho biết nguyên tắc cơ bản và cho ví dụ minh họa về phương pháp Cấp phát liên tục (contiguous allocation)

  • có 5 phương pháp cấp phát block cho 1 tệp trên đĩa
  • Nguyên tắc cơ bản về phương pháp cấp phát liên tục:

Các block tệp được lưu trữ tại các block đĩa liên tục nhau.

  • Ưu điểm: đơn giản, dễ cài đặt và thời gian đọc tệp giảm xuống đáng kể.
  • Nhược điểm:

+ chỉ có thể được sử dụng với các tệp có kích thước cố định, hoặc với các tệp mà HĐH biết trước được kích thước tối đa của tệp.

+ có thể dẫn đến hiện tượng phân mảnh trên đĩa, làm chận tốc độ đọc tệp của HĐH.

Ví dụ:1 block đĩa là 1K thì 1 tệp 50K sẽ được lưu trữ tại 50 block liên                       tiếp nhau trên đĩa.

Câu 30: Có mấy phương pháp cấp phát block cho một tệp trên đĩa? Hãy cho biết nguyên tắc cơ bản và cho ví dụ minh họa về phương pháp Cấp phát theo danh sách liên kết (linked list allocation)

  • có 5 phương pháp cấp phát block cho 1 tệp trên đĩa
  • nguyên tắc cơ bản cua phương pháp cấp phát theo danh sách liên kết:

Sử dụng 1 danh sách liên kết cac block đĩa để chứa nội dung của 1 tệp, kích thước của block tệp 1 từ.

  • ưu điểm: + không phân mảnh đĩa

+ khai thác tối đa không gian đĩa

+HĐH chỉ cần biết block đĩa đầu tiên chứa tệp là có thể đọc được toàn bộ nội dung của tệp.

  • Nhược điểm: + tốc độ đọc tệp rất chậm so với cách truy cập tuần tự như ở chiến lược cấp phát liên tục ở trên

(hình ảnh)

  • Tệp A được chia thành 4 block: block 0, block 1, block 2, block 3 được lưu trữ tại các block đĩa, lần lượt là 3,7,5,10.
  • Tệp B được chia thành 3 block: block 0, block 1, block 2, được lưu trữ tại các block đĩa, lần lượt là 4,8,6.

Câu 31: Có mấy phương pháp cấp phát block cho một tệp trên đĩa? Hãy cho biết nguyên tắc cơ bản và cho ví dụ minh họa về phương pháp  Cấp phát theo danh sách liên kết sử dụng chỉ mục (linked list allocation using an index)

  • có 5 phương pháp cấp phát block cho 1 tệp trên đĩa
  • nguyên tắc cơ bản về phương pháp cấp phát theo danh sách liên kết sử dụng chỉ mục:
  • các HĐH lưu trữ các từ con trỏ vào trong 1 bảng chỉ mục và nạp bảng chỉ mục này vào bộ nhớ khi HĐH cần đọc nội dung của tệp trên đĩa. HĐH MS DOS tổ chức quản lý tệp trên đĩa dựa theo chiến lược này.
  • Ưu điểm: + nhanh hơn pp cấp phát theo danh sách liên kết.

+ không cần 1 từ để chứa con trỏ đến block kế tiếp.

  • Nhược điểm: + Tốn thời gian nạp bảng chỉ mục của HĐH và làm lãng phí không gian bộ nhớ của hệ thống, đặc biệt trong trường hợp bảng chỉ mục lớn.
  • Ví dụ: trang 5- chương 3(hình ảnh)

Câu 32: Có mấy phương pháp cấp phát block cho một tệp trên đĩa? Hãy cho biết nguyên tắc cơ bản và cho ví dụ minh họa về phương pháp   I-nodes (index-node)

  • có 5 phương pháp cấp phát block cho 1 tệp trên đĩa
  • nguyên tắc cơ bản về pp I-nodes(index-node):
  • HĐH thiết kế 1 bảng nhỏ để theo dõi các blocks của 1 tệp, được gọi là I-node. I-node liệt kê các thuộc tính và các địa chỉ của các block của tệp.
  • Chiến lược này được Windows 2000 cải tiến và sử dụng trong cấu trúc MFT trong hệ thống tệp của nó
  • Ví dụ: hình trang 6- chương 3

Câu 33:  Có mấy phương pháp cấp phát block cho một tệp trên đĩa? Hãy cho biêts nguyên tắc cơ bản và cho ví dụ minh họa về phương pháp   Cấp phát không liên tục với block chỉ mục

 

  • có 5 phương pháp cấp phát block cho 1 tệp trên đĩa
  • nguyên tắc cơ bản về pp cấp phát không liên tục với block chỉ mục
  • HĐH chỉ sử dụng 1 block đĩa để chứa danh sách các block đĩa chứa nội dung của 1 tệp tin nào đó, block đĩa này được gọi là block chỉ mục. chỉ cần thiết kế 1 con trỏ, tại phần tử trong bảng chỉ mục, trỏ tới block chỉ mục của tệp tin trên đĩa là HĐH có thể quản lí được danh sách các block đĩa chứa nội dung của 1 tệp tin.
  • Ưu điểm: tốc độ đọc tên của HĐH sẽ tang lên.
  • Nhược điểm: + chỉ dung được đối với các tệp nhỏ, vì nếu tệp lớn thì 1 block có thể không chứa đủ danh sách các block đĩa chứa nội dung của 1 tệp.
  • Nếu block chỉ mục của tệp bị hỏng thì HĐH không thể đọc được tệp, mặc dù nội dung của tệp vẫn còn tồn tại trên các block đĩa.

Ví dụ: hình trang 6- chương 3

Câu 34: Để đảm bảo việc phân chia tài nguyên và bảo hiểm đối với các tệp phải thực hiện như thế nào

Để đảm bảo phân chia tài nguyên đối với các tệp. Mỗi tệp có thể được xem như một tài nguyên theo nghĩa nhiều tiến trình có thể cùng phân chia nó. Khi các tiến trình hoạt động trong chế độ chỉ đọc thì tài nguyên có thể phân chia được, ngược lại, nếu một tiến trình muốn viết vào một tệp thì khi đó tài nguyên tệp trở thành không thể phân chia được.

Cấp phát tệp cho một tiến trình được thực hiện bởi quản lý tệp với việc mở tệp

Câu 35 Việc tổ chức bộ nhớ phụ dùng để giải quyết yêu cầu gì của hệ điều hành đối với máy tính (Trang 225 và trang 175):

tổ chức bộ nhớ phụ dùng để giải quyết yêu cầu gì của hệ điều hành đối với máy tính

Mục tiêu của chính của hệ thống máy tính là thi hành chương trình. Những chương trình với dữ liệu truy xuất của chúng phải được đặt trong bộ nhớ chính trong suốt thời gian thực hiện. tuy nhiên bộ nhớ chính lại quá nhỏ để có thể lưu trữ mọi dữ liệu và chương trình=> hệ thống tính toán hiện nay được cung cấp thêm bộ nhớ phụ

Giải quyết yêu cầu việc lưu trữ khối lượng dữ liệu lớn trong khi bộ nhớ chính lại quá nhỏ. Đa số hệ thống tính toán đều sử dụng đĩa từ để lưu trữ chương trình.

Bộ nhớ chính cung cấp một tốc độ truy cập dữ liệu cao, nhưng dữ liệu phải được làm tươi thường xuyên và không thể tồn tạo lâu dài trên nó. Bộ nhớ phụ có tốc độ truy xuất chậm và rẻ hơn nhiều so với bộ nhớ chính nhưng nó không cần làm tươi thường xuyên. Vì thế bộ nhớ phụ có khả năng lưu trữ lớn và cho phép dữ liệu và chương trình lưu trữ dữ liệu và chương trình trong khoảng thời gian dài, trong khi đó bộ nhớ chính chỉ giữ một khối lượng nhỏ các chương trình và dữ liệu đang được sử dụng tại thời điểm hiện tại

Câu 36  Để đảm bảo sự toàn vẹn của các tệp cần phải có hệ điều hành  như thế nào(270)

Một hệ quản trị tệp phải cung cấp những cơ chế thích hợp để phục hồi nội dung của tệp trong trường hợp hệ thống gặp sự cố về phần mềm hoặc phần cứng. để thực hiện được điều này hệ điều hành phải luôn tạp bản sao của các tệp tin đang mở trên hệ thống, để có thể phục hồi lại khi cần thiết. có 2 kỹ thuật được sử dụng trong cơ chế này:

  • DUMP có chu kỳ: Sau một thời gian nhất định nội dung của các tệp tin đang mở trên bộ nhớ chính sẽ được đổ ( Dum/backup) ra lại đĩa. Nếu hệ thống gặp sự cố thì tất cả các tệp tin đang mở sẽ được tái tạo lại kể từ trạng thái mà chúng được DUMP ra lần cuối cùng. Rõ ràng việc DUMP này sẽ làm ốn thời gian thực hiện của hệ thống.
  • DUMP Incremental: Trong cách này, hệ thống chỉ lưu trữ các thông tin  được sửa đổi kể từ lần DUMP cuối cùng, tức là chỉ có các tệp tin được tạo lập hoặc sửa đổi so với lần đổ ra cuối cùng mới được DUMP ra. Với kỹ thuật này thông tin cần lưu trữ ít hơn do đó hệ thống có thể thực hiện DUMP thường xuyên hơn.
  • Danh sách các quyền truy cập (Access Right): Hệ điều hành dùng để bảo vệ các tệp tin chia sẻ trong môi trường nhiều người sử dụng. Đó là quyền truy cập, quyền truy cập và quản lý truy cập đồng thời là các công cụ cơ bản mà hệ điều hành dùng để quản lý và bảo vệ các tệp tin chia sẻ trong các hệ thống nhiều người sử dụng (Muntiuse system)

Quyền truy cập có thể được gán cho một người sử dụng ( User) cụ thể, một nhóm người sử dụng ( User Group) hay tất cả người sử dụng ( All User ) có trong hệ thống Muntiuse. Các quyền truy cập cụ thể:

  • Note: Người sử dụng không biết được là tệp có tồn tại hay không. Với giới hạn của quyền này, người sử dụng không được phép đọc thư mục chứa tệp này.
  • Knowledge: Người sử dụng có thể xác định được là tệp đang tồn tại và ai là ngưởi sở hữu tệp.
  • Excution: Người sử dụng có thể nạp và thực hiện một chương trình nhưng không thể copy nó. Các chương trình thuộc dạng độc quyền của một nhà sản xuất nào đố thường được tạo với dự giới hạn với quyền này.
  • Reading: người sử dụng có thể đọc tệp cho bất kỳ mục đích nào, bao gồm cả copy và excution. Một vài hệ thống cho phép có sự khác nhau xem và copy tệp. trong trường hợp này nội dung của tệp có thẻ được hiển thị để người sử dụng xem, nhưng họ không được cung cấp công cụ để copy nội dung này.
  • Appending: người sử dụng có thể thêm dữ liệu vào tệp, thường là ở cuối tệp, nhưng không thể thay đổi hoặc xóa đi bất kỳ một nội dung nào trong tệp.
  • Updating: Người sử dụng có thể thay đổi, xóa và thêm dữ liệu vào tệp.
  • Changing protection: người sử dụng có thể thay đổi các quyền truy cập được gán đến người sử dụng khác. Quyền này thường chỉ được gán cho người sở hữu tệp.
  • Deletion: Người sử dụng có thể xóa được tệp từ hệ thống tệp.
  • Mở và đóng tệp tin: Hệ điều hành cho rằng các tệp tin được lưu truc trên đữa đêù ở trạng thái đóng, để thực hiện bất kỳ một thao tác đọc, ghi, thay đổi nội dung của tệp tin thì trước hết chương trình, tiến trình của người sử dụng phải thực hiện thao tác tệp tin. Khi nhận được thao tác mở tệp tin bộ phận quản lý tệp tin cẩu hệ điều hành sẽ độc nội dung của tệp in từ đĩa và nạp nó vào bộ nhớ chính, sau đó trả về cho  chương trình, tiến trình của người sử dụng một thẻ tệp tin hoặc một biến tương ứng với tệp tin này để chương trình, tiến trình theo dõi thao tác trên tệp tin này. Sau khi thực hiện xong  một thao tác nào đó trên nội dung của tệp tin thì chương trình, tiến trình và cả người sử dụng phải thực hiện thao tác đóng tệp tin lại. đối tượng yêu cầu đóng tệp tin phải cung cấp đúng thẻ tệp tin của tệp tin cần đóng cho hệ điều hành. Để đáp ứng yêu cầu mở tệp từ một chương trình, tiến trình của người sử dụng trong môi trường đa nhiệm hệ điều hành phải thực hiện các bước ( SGK/273)

 

Câu 37: Cơ chế của việc cấp phát và phân chia tài nguyên  trong hệ điều hành

  • Các bộ xử lí trung tâm
  • Bộ nhớ chính
  • Các thiết bị ngoại vi
  • Các bộ nhớ phụ
  • Các tệp.

Câu 38: Trình bày nguyên nhân gây ra tắc nghẽn/ Cần phải đề phòng,nhận biết và khắc phục các tắc nghẽn như thế nào?

  • Nguyên nhân gây ra tắc nghẽn là:
  • Có sử dụng tài nguyên không thể chia sẻ: mỗi thời điểm, 1 tài nguyên không thể chia sẻ được hệ thống cấp phát chỉ cho 1 tiến trình, khi tiến trình sử dụng xong tài nguyên này, hệ thống mới thu hồi và cấp phát tài nguyên đó cho tiến trình khác.
  • Sự chiếm giữ và yêu cầu thêm tài nguyên: các tiến trình tiếp tục chiếm giữ các tài nguyên đã cấp phát cho nó trong khi chờ được cấp phát thêm 1 số tài nguyên mới.
  • Không thu hồi tài nguyên từ tiến trình đang chiếm giữ: tài nguyên không thể thu hồi từ tiến trình đang chiếm giữ chúng trước khi tiến trình này sử dụng chúng xong.
  • Tồn tại 1 chu kì trong đồ thị cấp phát tài nguyên: có ít nhất 2 tiến trình chờ đợi lẫn nhau. Tiến trình này chờ được cấp phát tài nguyên đang bị tiến trình kia chiếm giữ và ngược lại.
  • Các cách phòng ngừa tắc nghẽn:
  • Áp dụng các biện pháp để đảm bảo hệ thống không bao giờ rơi vào 4 điều kiện gây ra tắc nghẽn.
  • Loại bỏ đkiện tồn tại tắc nghẽn bằng cách mô phỏng cá tài nguyên bằng các tài nguyên dung chung được. kĩ thuật này được áp dụng rộng rãi trong các HĐH đa nhiệm và gọi là SPOOL(simultaneous Peripheral Operation Online).
  • Việc phòng ngừa tắc nghẽn rất tốn kém. Vì vậy, nó chỉ áp dụng đối với các hệ thống có xác suất xảy ra tắc nghẽn lớn và tổn thất do nó gây ra cũng rất lớn.
  • Nhận biết và khắc phục tắc nghẽn:
  • Hệ thống sẽ không áp dụng bất kì 1 biện pháp phòng ngừa nào mà cứ để cho tắc nghẽn xảy ra mà sẽ áp dụng các thuật toán để chỉ ra xem tại thời điểm hiện tại có xảy ra tắc nghẽn hay không, nếu có sẽ áp dụng các thuật toán để khắc phục tắc nghẽn.
  • 2 lựa chọn để hiệu chỉnh tắc nghẽn:

+ Đình chỉ mọi hoạt động của các tiến trình liên quan: dựa trên việc thu hồi lại các tài nguyên cảu những tiến trình bị kết thúc(đình chỉ tất cả các tiến trình trong tình trạng tắc nghẽn hoặc đình chỉ từng tiến trình liên quan cho đến khi không còn chu trình gây ra tắc nghẽn).

+ thu hồi tài nguyên: thu hồi 1 số tài nguyên từ các tiến trình và cấp phát các tài nguyên này cho những tiến trình khác cho đến khi loại bỏ được chu trình tắc nghẽn. Phương pháp này áp dụng cho các hệ thống có xác suất xảy ra tắc nghẽn ít và thiệt hại do nó gây ra cũng ít.

  • Các biện pháp nhận biết và khắc phục tắc nghẽn do các thao tác viên đảm nhiệm, họ sẽ phát hiện các tiến trình bị tắc nghẽn và họ tìm cách giải quyết.

Câu 39: Nêu các lý do phải thực hiện cơ chế bảo vệ và nâng cao độ tin cậy trong hệ điều hành. Phải làm gì để thực hiện điều này.

  • Lý do thực hiện cơ chế bảo vệ:
  • Bảo vệ chống lỗi: lỗi của 1 tiến trình này không được làm ảnh hưởng đến sự khai thác của 1 tiến trình khác =>cơ chế bảo vệ phải thiết lập ranh giới giữa các tiến trình khác nhau có trong hệ thống.
  • Bảo vệ chống ác ý: 1 HĐH là 1 tập hợp các chương trình và dữ liệu và phải được bảo vệ chống sự ác ý.
  • Cách nâng cao độ tin cậy:
  • Loại trừ lỗi:

+ các lỗi do người điều hành và người dử dụng

+ các lỗi do phần cứng

+ các lỗi phần mềm

  • Phát hiện lỗi:

+ cung cấp các thông tin dư thừa để kiểm tra tính đúng đắn của thông tin” chính” chứa trong hệ thống.

+ kiểm tra các sửa đổi của 1 bảng bằng cách duy trì tổng của tất cả các giá trị ban đầu. khi 1 giá trị bị sửa đổi, có thể dự báo trước đc bằng cách tính ảnh hưởng đối với tổng kiểm tra. Nếu dự báo sai so với kết quả khi sửa đổi thì tức là có lỗi.

  • Xử lí lỗi:

+ xử lí bao gồm việc định vị lỗi và sửa lỗi

+ cách đơn giản là dò tìm việc phát sinh 1 vết hoặc 1 lịch sử của các hoạt động mới. 1 cách tốt hơn là tạo vết có lựa chọn để sử dụng khi cần thiết. Thực ra cũng chỉ cần ghi nhận lịch sử của 1 số sự kiện đặc biệt nào đó.

+ trong TH lỗi phần cứng, việc sửa chữa thông thường là thay thế linh kiện(bằng tay hoặc tự động nếu phần mềm có khả năng tự phát hiện lỗi và loại bỏ linh kiện hỏng).

+ các lỗi phần mềm phát sinh chủ yếu do các sai sót về thiết kế và phát triển hoặc do sự lan truyền của các lỗi từ trước.

  • Sửa chữa lỗi:

+ đánh giá được thiệt hại

+ thử khắc phục.

  • Thực hiện cơ chế bảo vệ:
  • Kích hoạt và khử kích hoạt các ngắt.
  • Chuyển 1 bộ xử lí từ 1 tiến trình sang cho 1 tiến trình khác.
  • Truy nhập các thanh ghi được sử dụng bởi chế độ bảo vệ bộ nhớ.
  • Đảm bảo các ra- vào.
  • Dừng tạm thời 1 bộ xử lí.

Bài tập ôn KTMT và hệ điều hành:

Dạng 1:Các loại lệnh máy 1 địa chỉ, 2 địa chỉ, 3 địa chỉ và ngăn xếp

Bài 24: trang 101 sách giáo khoa:

Ý c,d:

Lưu ý khi làm dạng bài tập:chúng ta cần phải trả lời 3 câu hỏi:

  1. Số lượng lệnh bằng bao nhiêu
  2. Số lượng các toán hạng của lệnh bằng bao nhiêu
  3. Số lượng các loại lệnh ( trang 57)
  • Các cậu phải làm sao cho số lượng lệnh, số lượng các toán hạng là nhỏ nhất

Vì: việc tăng số lượng lệnh của bộ điều khiển sẽ đồng nghĩa với việc tăng mã lệnh và điều đó sẽ đến việc thiết kế bộ điều khiển sẽ phức tạp hơn và giá thành của bộ điều khiển sẽ bị tăng.

Các bước Thực hiện Chú thích
1 Load z AC<-z
2 Div b AC<-AC/b
3 Stor T T<-AC
4 Load a AC<-a
5 Mpy x AC<- a*x
6 Sub T AC<-  AC-T
7 Stor T T<- AC
8 Load g AC<- g
9 Div y AC<- AC/y
10 Add 8 AC<- AC+8
11 Mpy a AC<- AC*a
12 Add  T AC<- AC+T
13 Stror T T<- AC
  1. c) F=a*x-z/b+ a*(g/y+8)

* lệnh một địa chỉ

* lệnh 2 địa chỉ

Các bước Thực hiện Chú thích
1 Move  H, z H<-z
2 Div H,b H<- H/b
3 Move  T,a T<- a
4 Mpy  T,x T<- T*x
5 Sub H,T H<- H-T
6 Move T,g T<- g
7 Div T,y T<- T/y
8 Add T,8 T<- T+8
9 Mpy T,a T<- T*a
10 Add H,T H<- H+T

Lệnh 3 địa chỉ

Các bước Thực hiện Chú thích
1 Mpy H,a,x H<- a*x
2 Div F,z,b F<- z/b
3 Sub H,H,F H<- H-F
4 Div F,g,y F<- g/y
5 Add F, F,8 F<- F+8
6 Mpy F,F,a F<- F*a
7 Add H,H,F H<- H+F

Lệnh ngăn xếp

Hình Thực hiện Mô tả
1 Push z

 

 

z
2 Push b

 

 

b
z
3 Div

 

 

z/b
4 Push a

 

 

a
z/b
5 Push x

 

 

x
A
z/b
6 Mpy

 

 

a*x
z//b
7 Sub

 

 

a*x-z/b
8 Push g

 

 

g
a*x-z/b
9 Push y

 

 

 

 

y
G
a*x-z/b
10

 

 

 

 

 

Div

 

 

 

 

 

g/y
a*x-z/b
11 Push 8

 

 

 

8
g/y
a*x-z/b
12 Add

 

 

 

 

 

g/y+8
a*x-z/b
13 Push a

 

 

 

A
g/y+8
a*x-z/b
14 Mpy

 

 

 

 

 

(g/y+8)*a
a*x-z/b
15 Add

 

 

 

 

 

a*x-z/b+(g/y+8)*a
16 Pop z  

 

  1. d) F= ((a+b)/(c+d))*(x-y/z)

* lệnh một địa chỉ

Các bước Thưc hiện Chú thích
1 Load  c AC<- c
2 Add d AC<- AC+d
3 Stror F F<- AC
4 Load a AC<- a
5 Add b AC<- AC+b
6 Div F AC<- AC/F
7 Stror F F<- AC
8 Load y AC<- y
9 Div z AC<- AC/z
10 Stor T T<- AC
11 Load x AC<- x
12 Sub T AC<- AC-T
13 Mpy F AC<- AC*F
14 Stor F F<- AC

Lệnh 2 địa chỉ

Stt Thực hiện Chú thích
1 Move F, a F<- a
2 Add F,b F<- F+b
3 Move T,c T<- c
4 Add T,b T<- T+b
5 Div F,T F<- F/T
6 Move T,y T<- y
7 Div T,z T<- T/z
8 Move G,x G<- x
9 Sub G,T G<-G-T
10 Mpy F,G F<- F*G

 Lệnh 3 địa chỉ

Stt Thực hiện Chú thích
1 Add T,c,d T<- c+d
2 Add G, a,b G<- a+b
3 Div G,G,T G<- G/T
4 Div T,y,z T<- y/z
5 Sub T,x,T T<- x-T
6 Mpy G,G,T G<- G*T

Lệnh ngăn xếp

số Thực hiện Hình vẽ
1 Push a
a
2 Push b
b
a

 

 

3 Add
a+b

 

 

4 Push c
c
a+b

 

 

5 Push d
d
c
a+b

 

 

6 Add
c+d
a+b
7 Div
(a+b)/(c+d)

 

 

8 Push x
x
(a+b)/(c+d)
9 Push y
y
x
(a+b)/(c+d)

 

 

10 Push z
z
y
x
(a+b)/(c+d)

 

 

11 Div
y/z
x
(a+b)/(c+d)
12 Sub
x-y/z
(a+b)/(c+d)
13 Mpy
((a+b)/(c+d))*(x-y/z)
14 Popz

Dạng 2: Dạng tính hệ số tăng tốc nhờ kỹ thuật xử lý đường ống

Bài tập trang3,4,5,6 trang 143 nhé!

Lưu ý trước khi làm bài:

  • Xem thuộc bao nhiêu công đoạn
  • Có 2 dạng chờ:
  • Chờ để có chỗ thực thi thi lệnh( chờ sau FO)
  • Chờ để để có để lấy kết quả của một lệnh khác( chờ sau WO)

( cứ hiểu theo cách của cô: nếu bạn nấu ăn thì cách chờ thứ nhất là chờ để có bếp thực hiện hiện, cách chờ thứ 2 là chờ để lấy nguyên liệu từ một món nào đó)

Cách thứ 2 yêu cầu đợi một lệnh nào đó thực hiện xong

  • Muốn hiểu công thức trang 128.

Bài 4;

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15)
1 FI DI FO EI WO
2 FI DI FO EI WO
3 FI DI - - FO EI WO
4 FI DI - - - - FO EI WO
5 FI DI - - - - - - FO EI WO
  • 5 công đoạn: FI, DI, FO, EI, WO

Slt= 25/9

Stt= 25/15

  • 6 công đoạn
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16)
1 FI DI CO FO EI WO
2 FI DI CO FO EI WO
3 FI DI CO - - FO EI WO
4 FI DI CO - - - - FO EI WO
5 FI DI CO - - - - - - FO EI WO

Slt= 30/10

Stt=30/16

Bài 5:

(1) (2) (3) (4) (5) (6) (7) (8) (9)
1 FI DI FO EI WO
2 FI DI FO EI WO
3 FI DI - - FO EI WO

Slt= 15/7

Stt= 15/9

6 công đoạn

(1) (2) (3) (4) (5) (6) (7) (8) (9) (10)
1 FI DI CO FO EI WO
2 FI DI CO FO EI WO
3 FI DI CO - - FO EI WO

Slt= 18/8

Stt= 18/10

Bài 6

  • 5 công đoạn
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11)
1 FI DI FO EI WO
2 FI DI - - FO EI WO
3 FI DI - - FO EI WO
4 FI DI - - - FO EI WO

Slt= 20/8

Stt=20/11

  • 6 công đoạn
(1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12)
1 FI DI CO FO EI WO
2 FI DI CO - - FO EI WO
3 FI DI CO - - FO EI WO
4 FI DI CO - - - FO EI WO

Slt= 24/9

Stt= 24/12

Dạng bài tập 3: . Dạng tính lỗi trang  trong hệ thống phân trang

Lưu ý trước khi làm bài:

  • Trên cột đầu tiên nếu vẫn còn trống thì chưa thay thế vội
  • Xác định thuộc dạng nào:
  • Phân biệt chỉ số trang và

3 khung:

Cho các dãy trang sau cần tuy nhập trong 1 tiến trình: 1, 4, 10, 4, 3, 6, 1, 1, 8, 6, 9, 4, 3, 3, 3, 1

Tính PF (Theo FIFO và LRU)

 

4 khung trang

FIFO

1 4 10 4 3 6 1 1 8 6 9 4 3 3 3 1
F1 0 10 11 12 13 14 60 61 62 63 64 65 40 41 42 43 44
F2 0 40 41 42 43 44 10 11 12 13 14 15 30 31 32 33
F3 0 100 101 102 103 104 105 80 81 82 83 84 85 86 10
F4 0 30 31 32 33 36 37 90 91 92 93 94 95
F F F S F F F S F S F F F S S F

 

PF=F/(F+S) = 11/16

LRU

1 4 10 4 3 6 1 1 8 6 9 4 3 3 3 1
F1 0 10 11 12 13 14 60 61 62 63 60 61 62 63 64 65 10
F2 0 40 41 40 41 42 43 44 80 81 82 83 30 30 30 31
F3 0 100 101 102 103 10 10 11 12 13 40 41 42 43 44
F4 0 30 31 32 33 34 35 0 91 92 93 94 95
F F F S F F F S F S F F F S S F

 

PF=F/(F+S) = 11/16

 

Tiến trình: 0, 1, 2, 0, 3, 2, 0, 1, 2, 4, 0

FIFO

0 1 2 0 3 2 0 1 2 4 0
F1 0 00 01 02 03 30 31 32 33 20 1 22
F2 ­0 10 11 12 13 14 00 01 02 40 41
F3 0 20 21 22 23 24 10 11 12 00
F F F S F S F F F F F

 

PF=F/(F+S) = 9/11

 

LRU

0 1 2 0 3 2 0 1 2 4 0
F1 0 00 01 02 00 01 02 00 01 02 40 41
F2 ­0 10 11 12 30 31 32 10 11 12 00
F3 0 20 21 22 20 21 22 20 21 22
F F F S F S S F S F F

 

PF=F/(F+S) = 7/11

 

FIFO

0 1 2 0 3 2 0 1 2 4 0
F1 0 00 01 02 03 04 05 06 07 08 40 41
F2 ­0 10 11 12 13 14 15 16 17 18 00
F3 0 20 21 22 23 24 25 26 27 28
F4 0 30 31 32 33 34 35 36
F F F S F S S S S F F

 

PF=F/(F+S) = 6/11

 

 

LRU

0 1 2 0 3 2 0 1 2 4 0
F1 0 00 01 02 00 01 02 00 01 02 03 00
F2 ­0 10 11 12 13 14 15 10 11 12 13
F3 0 20 21 21 20 21 22 20 21 22
F4 0 30 31 32 33 34 40 41
F F F S F S S S S F S

 

PF=F/(F+S) = 5/11

Cho các dãy trang sau cần tuy nhập trong 1 tiến trình: 1, 4, 10, 4, 3, 6, 1, 1, 8, 6, 9, 4, 3, 3, 3, 1

Tính PF (Theo FIFO và LRU)

 

ĐỀ CƯƠNG KIẾN TRÚC MÁY TÍNH VÀ HỆ ĐIỀU HÀNH LỜI GIẢI CHI TIẾT
5 (100%) 1 vote