Đề cương ôn tập môn Cấu trúc máy tính và hệ điều hành | Trường Đại học Khoa học, Đại học Thái Nguyên

Đề cương ôn tập môn Cấu trúc máy tính và hệ điều hành | Trường Đại học Khoa học, Đại học Thái Nguyên. Tài liệu được biên soạn dưới dạng file PDF gồm 20 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

Thông tin:
20 trang 7 tháng trước

Bình luận

Vui lòng đăng nhập hoặc đăng ký để gửi bình luận.

Đề cương ôn tập môn Cấu trúc máy tính và hệ điều hành | Trường Đại học Khoa học, Đại học Thái Nguyên

Đề cương ôn tập môn Cấu trúc máy tính và hệ điều hành | Trường Đại học Khoa học, Đại học Thái Nguyên. Tài liệu được biên soạn dưới dạng file PDF gồm 20 trang, giúp bạn tham khảo, ôn tập và đạt kết quả cao trong kì thi sắp tới. Mời bạn đọc đón xem!

281 141 lượt tải Tải xuống
lOMoARcPSD|41967345
1
RcPSD|4196734Đề cương ôn tập môn Cấu trúc máy tính và hệ điều hành
I.Lý thuyết
1. Kể tên các thành phần cơ bản của máy tính PC? CPU80286 là dòng CPU bao
nhiêu bit? Vì sao?
Gợi ý:
- Các thành phần bản của máy tính gồm 5 thành phần: CPU, bộ nhớ
( ROM,RAM, Cache, bộ nhớ ngoài),
- CPU 80286 loại 16 bit (độ rộng của dữ liệu hoặc lệnh là 16 bit) do vậy
mỗi lần đọc dữ liệu trong ô nhớ sẽ có kích thước 2 bytes.
2. Hệ thống Bus gồm những loại Bus nào? Trong các loại Bus, Bus nào có vai
trò quyết định kích thước của bộ nhớ RAM? Bus nào có vai trò quyết định
kích thước giá trị trong ô nhớ?
Gợi ý:
- Hệ thống Bus gồm 3 loại bus hỗ trợ máy tính trong việc vào/ra dữ liệu: Bus dữ
liệu (2 chiều), bus địa chỉ (1 chiều: chiều ra từ CPU) bus điều khiển (2 chiều)
- Bus địa chỉ có vai trò quyết định kích thước của bộ nhớ RAM
- Bus dữ liệu quyết định kích thước giá trị trong ô nhớ
3. Kể tên các thanh ghi đoạn trong chế độ thực của CPU 80286? Khi trong
chương trình có khai báo biến nhớ, thì biến nhớ này sẽ nằm trong đoạn nào?
Gợi ý
- Trong chế độ thực các thanh ghi đoạn: Thanh ghi đoạn mã lệnh CS, thanh ghi
đoạn dữ liệu DS, thanh ghi ghi đoạn ngăn xếp SS thanh ghi đoạn mở rộng
ES
- Khi trong chương trình khai báo biến nhớ, thì các biến này sẽ nằm trongđoạn
dữ liệu DS
4. Kể tên các thanh ghi đa năng. Khi CPU thực hiện lệnh với số lần lặp là 255
thì giá trị của thanh ghi CX =?
Gợi ý:
- Các thanh ghi đa năng trong CPU 80286 là: AX, BX,CX,DX
- Khi thực hiện lệnh lặp 255 (nghĩa giá trị 255 đang hệ số 10 chúng ta
cần đổi sang hệ 16 bằng cách chia liên tiếp cho 16 lấy phần lấy theo
chiều từ dưới lên => 255
10
= FF
h
vì CX là thanh ghi 16 bit mà FF là 8 bit nên
cần thêm 2 giá trị 0 cho đủ 16 bit) do vậy CX = 00FF
h
lOMoARcPSD|41967345
2
5. H愃y liệt kê các phương pháp (chế độ) định vị toán hạng trong CPU 80286? Đối
với kiểu định vị cơ sở chỉ số, có những thanh ghi nào tham gia vào quá trình định
vị?
Gợi ý:
- Các phương pháp định vị toán hạng trong CPU 80286:
+ Định vị tức thời
+ Định vị thanh ghi
+ Định vị trực tiếp
+ Định vị gián tiếp
+ Định vị cơ sơ
+ Định vị chỉ số
+ Định vị cơ sở chỉ số
+Định vị đầy đủ
- Đối với kiểu định vị cơ sở chỉ số có 4 thanh ghi tham gia vào quá trình định vị:
BX, BP, SI và DI
6. Trình bày vai trò của bộ đồng xử lý và CMOS trong kiến trúc cơ bản của máy tính
PC?
Gợi ý
- Bộ đồng xử lý trợ giúp CPU xử lý trợ giúp CPU xử lý các phép tính số học có
giá trị là dấu chấm động, các phép tính logarit và lượng giác với tốc độ
nhanh và độ chính xác cao.
- Thiết bị CMOS gồm 2 bộ phận chính: Đồng hồ thời gian thực và RAM CMOS.
+ Đồng hồ thời gian thực cung cấp thông tin thời gian thực như: năm tháng
ngày, giờ - phút giây.
+ RAM –CMOS: chứa thông tin về cấu hình hệ thống
7. Kể tên các thiết bị giao diện trong máy tính PC? Vì sao cần phải có thiết bị giao
diện?
Gợi ý:
- Các thiết bị giao diện tring máy tính PC:
+ Thiết bị giao diện màn hình CRTC
+Thiết bị giao bàn phím KC8042
+ Thiết bị giao diện nối tiếp UART
+ Thiết bị giao diện song song PPI
+ Thiết bị giao diện đĩa cứng HDC
+ (Thiêt bị giao diện đĩa mềm – tuy nhiên ngày nay không còn sử dụng)
- do cần có thiết bị giao diện là do có sự khác biệt rất lớn về dạng thức truyền
tải và tốc độ xử lý thông tin giữa đơn vị xử lý trung tâm và các thiết bị ngoại vi.
8. Giải thích ý nghĩa các chân tín hiệu INT, NMI, INTA, HOLD, HLDA của CPU
80286. Căn cứ vào tín hiệu nào chúng ta biết được CPU 80286 làm việc với bộ
nhớ hay thiết bị vào/ra? MI/IO
Gợi ý trả lời
- INT: tín hiệu yêu cầu ngắt cứng, có thể bị che khi bit cờ IF trong thanh ghi
lOMoARcPSD|41967345
3
FLAGS
- INTA xuất phá từ CPU truyền đến PIC để trả lời yêu cầu ngắt - NMI: yêu cầu
ngắt không che được bằng cờ IF.
- HOLD: là tín hiệu từ bên ngoài yêu cầu CPU “thả nổi” hệ thống BUS (nhường
BUS).
- HLDA: CPU trả lời đồng ý nhường Bus
- MI/IO cho biết CPU làm việc với bộ nhớ hay thiết bị vào/ra
9. Giải thích ý nghĩa các chân tín hiệu Vcc, GND, CLK, RST. Kể tên các chân của
CPU phục vụ cho mục đích ngắt.
Gợi ý trả lời
- CLK: tín hiệu xung tạo nhịp thời gian cơ sở cho đơn vị xử lý trung tâm.
- Vcc: cung cấp điện áp dương nguồn cho CPU (Cung cấp nguồn nuôi +5V cho
vi xử lý)
- GND tạo nguồn điện cho CPU hoạt động
- RST: tín hiệu khởi động hệ thống ( đưa mạch logic bên trong CPU về trạng thái
ban đầu)
- Các chân phục vụ ngắt: INT, NMI, INTA
10. Kể tên các đơn vị chính tạo thành cấu hình bên trong của CPU. Lệnh sau khi giải
m愃 sẽ được chuyển tới cho đơn vị nào?
Gợi ý trả lời
- CPU 80286 được cấu thành từ 4 đơn vị chính như sau: AU ( đơn
vị địa chỉ);
BU (Đơn vị BUS); IU (Đơn vị lệnh); EU (đơn vi thực hiện)
- Lệnh sau khi giải mã sẽ được đưa tới đơn vị thực hiện EU 11.
Trình bày vai trò của các đơn vị AU, BU, IU, EU của CPU80286.
Gợi ý trả lời
- Đơn vị BUS (BU) : thực hiện giao diện BUS, tạo ra nhận vào các tín hiệu
địa chỉ, điều khiển và dữ liệu và nhập lệnh từ bộ nhớ vào hàng đợi.
- Đơn vị lệnh IU : Đơn vị lệnh IU thực hiện giải mã lệnh và đưa vào hàng đợi.
- Đơn vị thực hiện EU : EU thực hiện lệnh đã được giải mã.
- Đơn vị địa chỉ AU : AU quản bộ nhớ trong cả hai chế độ làm việc : chế độ
thực và chế độ bảo vệ.
12. H愃y cho biết ý nghĩa của các bit cờ CF, ZF, IF, DF trong thanh ghi cờ FLAGS.
Gợi ý trả lời
- CF (Carry Flag) : cờ nhớ ; Nếu có hiện tượng nhớ từ bit cao nhất khi thực hiện
phép tính thì CF = 1.
- ZF (Zero Flag) : cờ zero. Nếu kết quả phép tính bằng không thì ZF = 1.
- IF (Interrupt Flag) : cngắt ; Nếu IF = 1, cho phép CPU phản ng với tín hiệu
báo ngắt INT.
lOMoARcPSD|41967345
4
- DF (Direction Flag): cờ hướng ; DF xác định hướng tăng hoặc giảm của các
thanh ghi SI. DI khi thực hiện các lệnh thao tác xâu ký tự.
13. H愃y cho biết ý nghĩa của các bit cờ CF, PF, SF, AF trong thanh ghi cờ FLAGS.
Gợi ý trả lời
- CF (Carry Flag) : cờ nhớ ; Nếu có hiện tượng nhớ từ bit cao nhất khi thực
hiện phép tính thì CF = 1.
- PF (Parity Flag) : cờ kiểm tra chẵn lẻ ; Nếu lượng các bit 1 trong kết quả chẵn
thì PF=1.
- SF (Sign Flag): cờ dấu. Nếu kết qủa âm (bít cao nhất của kết quả có giá trị 1)
thì SF= 1.
- AF (Auxiliary Flags) : cờ nhớ phụ. Cờ AF được sử dụng trong các phép tính
số học với các số BCD (Binary Cođe Decimal). Nếu có nhớ hay có mượn đối
với 4 bit thấp thì AF= 1.
14. Kể tên các thanh ghi địa chỉ trong CPU 802856. Nêu vai trò của thanh ghi SP.Gợi
ý trả lời
- Các thanh ghi địa chỉ BP, SI, DI, SP : là các thanh ghi 16 bit
- SP (Stack Pointer) : Con trỏ ngắn xếp SP chứa địa chỉ offset của ô nhớ trong
đoạn ngăn xếp. SP luôn trỏ đến đỉnh ngăn xếp.
15. Kể tên các nhóm thanh ghi trong CPU80286. Cho biết vai trò của thanh ghi IP.
Gợi ý trả lời
- Các nhóm thanh ghi: nhóm thanh ghi đa năng (AX, BX, CX, DX); Các thanh
ghi địa chỉ (BP, SI, DI, SP); Các thanh ghi đoạn (CS, DS, ES, SS); Các thanh
ghi điều khiển trạng thái (Con trỏ lệnh IP thanh ghi cờ Flags Thanh
ghi trạng thái máy (MSW)); Các thanh ghi khác ( TR, LDT, GDT, IDT MSW)
- Con trỏ lệnh IP (In struction Pointer): thanh ghi 16 bit IP chứa địa chỉ offset
của ô nhớ trong đoạn m愃 lệnh. Khi nhập lệnh thì IP tự động tăng dần khi
CPU nhập xong một lệnh thì IP trỏ đến ô nhớ chứa lệnh tiếp theo trong đoạn
m愃 lệnh. Nội dung IP bị thay đổi bất thường khi CPU thực lệnh nhảy, lệnh gọi
chương trình con hoặc bởi các cơ chế ngắt cứng và mềm.
16. Định dạng địa chỉ logic là gì? Công thức tính địa chỉ vật lý. Địa chỉ offset
đượchiểu như thế nào? Gợi ý trả lời
- Địa chỉ logic là cặp địa chỉ địa chỉ đoạn : địa chỉ offset ( hay segment : offset .
Trong đó địa chỉ segment địa chỉ đoạn của đoạn nhớ chứa ô nhớ , offset
địa chỉ mang thông tin về độ lệch của địa chỉ ô nhớ so với địa chỉ nền đoạn
nhớ )
lOMoARcPSD|41967345
5
- Công thức tính:
Địa chỉ vật lý = Địa chỉ đoạn *10h + Địa chỉ offset
= địa chỉ đoạn *16 + địa chỉ off set
= địa chỉ đoạn *10000
2
+ địa chỉ offset
= địa chỉ nền đoạn + địa chỉ offset
17. Trình bày đặc điểm của FAT32
Gợi ý
- Sử dụng không gian địa chỉ 32 bit nên FAT32 hỗ trợ nhiều cluster trên một partition hơn,
do vậy không gian đĩa cứng được tận dụng nhiều hơn.
- Hỗ trợ kích thước của phân vùng từ 2GB lên 2TB và chiều dài tối đa của tên tập tin được
mở rộng đến 255 ký tự.
- Tính bảo mật và khả năng chịu lỗi (Fault Tolerance) không cao.
18. Trình bày đặc điểm của NTFSGợi ý
- Không gian địa chỉ 64 bit, khả năng thay đổi kích thước của cluster độc lập với dung lượng
đĩa cứng,
- Hầu như đã loại trừ được những hạn chế vsố cluster, kích thước tối đa của tập tin trên
một phân vùng đĩa cứng.
- NTFS sử dụng bảng quản tập tin MFT (Master File Table) thay cho bảng FAT nhằm
tăng cường khả năng u trữ, tính bảo mật cho tập tin thư mục, khả năng hóa dữ
liệu đến từng tập tin.
- khả năng chịu lỗi cao, cho phép người dùng đóng một ứng dụng “chết” (not
responding) mà không làm ảnh hưởng đến những ứng dụng khác.
- NTFS lại không thích hợp với những ổ đĩa có dung lượng thấp (dưới 400 MB)
19. Trình bày các yếu tố ảnh hưởng đến việc cài đặt hệ điều hành windows.Gợi
ý:
Khi tiến hành cài đặt máy tính ta phải xét đến các yếu tố ảnh hưởng tới quá trình cài đặt,
sử dụng và bảo trì hệ thống sau này. Các yếu tố đó bao gồm:
- Cấu hình máy
- Mục đích và yêu cầu sử dụng:
- Hiểu biết của người sử dụng về máy tính: Các giai đoạn cài đặt hệ thống
20. Nêu các giai đoạn cài đặt máy tính sử dụng hệ điều hành windows
Gợi ý:
Việc cài đặt hệ thống có thể chia làm 4 giai đoạn:
- Phân hoạch ổ đĩa;
- Cài đặt hệ điều hành và các phần mềm điều khiển thiết bị
- Cài đặt các phần mềm bảo vệ và phần mềm ứng dụng, tối ưu hệ thống - Tạo File
Backup để sao lưu hệ thống, đóng băng hệ thống.
21. Trình bày quy trình tối ưu máy tính cài đặt hệ điều hành windowsGợi ý:
lOMoARcPSD|41967345
6
- Tắt các ứng dụng chạy nền không cần thiết
- Gỡ bỏ các ứng dụng khởi động cùng Windows
- Sử dụng phần mềm tối ưu hệ thống hoặc tiện ích dọn dẹp ổ đĩa tích disk cleanup hợp trong
Windows để xóa các file nháp, tăng dung ợng đĩa cứng, chạy phần mềm chống phân
mảnh ổ đĩa Disk Defragmenter (chỉ dùng khi sử dụng ổ đĩa cứng HDD)
- Tắt các hiệu ứng đặc biệt về video, hình ảnh của Windows
22. Trình bày các yêu cầu để hệ thống máy tính được bảo vệ an toàn
Gợi ý
- Bật tính năng Update của windows theo lịch biểu để cập nhật các bản vá lỗi.
- Cài đặt một phần mềm diệt virus đủ mạnh, thường xuyên cập nhật cơ sở dữ liệu virus
- Cấu hình đầy đủ cho phần mềm diệt virus bảo vệ thời gian thực thiết lập tường lửa
trong hệ điều hành windows.
- Luôn quét virus với các thiết bị lưu trữ ngoài được gắn vào máy tính
- Tạo bản sao lưu ổ đĩa chứa hệ điều hành và các ổ đĩa chứa dữ liệu quan trọng
- Cài đặt một phần mềmu trữ online ( Goolge Drive, Dropbox…) để liên tục lưu trữ các
tại liệu quan trọng.
23. Trình bày đặc điểm của bộ nhớ ROM
Gợi ý trả lời
ROM: ROM là bộ nhớ chỉ đọc. Dữ liệu trong ROM được duy trì ngay cả khi không có nguồn
điện nuôi. ROM chứa các phần mềm cơ bản sau:
Các chương trình kiểm tra hệ thống (quá trình POST):
Chương trình xác lập cấu hình hệ thống.
Chương trình quét ROM mở rộng
Chương trình đọc cung khởi động
Các chương trình điều khiển các thiết bị vào-ra cơ bản của máy tính
24. Trình bày đặc điểm của bộ nhớ RAM
Gợi ý trả lời
RAM: RAM bộ nhớ thao tác. Bộ nhRAM chức năng chứa các phần mềm của hệ thống
(hệ điều hành), phần mềm dữ liệu của một hoặc nhiều chương trình đang hoạt động (chương
trình ứng dụng).
Các dạng bài tập - LƯU Ý ĐÂY CHỈ LÀ DẠNG BÀI THI
Bài 1: Thực hiện phép tính và chuyển đổi sau
1. 15010 = ?2,8,16
Lấy 150 chia liên tiếp 2/8/16 lấy dư lấy dưới lên
lOMoARcPSD|41967345
7
2. 1101111001.11
2
=?
10,8,16
=> 1101111001.11
2
= 1*2
0
+ 0*2
1
+ 0*2 ====
- chuyển từ 2 – sang hệ 8 nhóm 3 bit lại
- Chuyển từ 2 sang hệ 16 – nhóm 4 bit lại
3. 110.2510 = ?2,8,16
- Phân nguyên chia liên tiếp cho 2,8, 16 Phần thập phân nhân liên tiếp với 2,8 và 16
4. AC8E
h
+ 7D9F
h
= ?
=> A =10, B= 11, C= 12, D=13, E=14, F= 15
Nếu cộng lớn hơn 16 thì trừ 16 và nhớ 1 sang bên cạnh
5. FC04
16
= ?
2
- Chuyển từ hệ 16 sang hệ 2 các đối chiếu hệ 16 với các bit nhị phân tương ứng
653
8
= ?
2
- - Chuyển từ hệ 8 sang hệ 2 các đối chiếu hệ 16 với các bit nhị phân tương ứng
145.125
10
= ?
2
10001101010011
2
= ?
16,8
6. Biểu diễn số 97
10
và -115
10
theo m愃 bù 2.
- Bù 2 dùng để biểu diễn số âm cần 8 bit .
- Nếu số dương chuyển sang bù 2 đổi sang nhị phân và biểu diễn đủ 8 bitSố âm biểu
diễn bù 2 qua 3 bước:
+ B1: chuyển đổi hệ 10 sang 2 ( dùng 8 biết và chỉ ghi số dương bỏ dấu)
+ B2: Chuyển sang bù 1 bằng cách: đổi các bit 0 ->1 và 1->0
Bước 3: lấy bù 1 cộng 1 = bù 2=> kết luận
6. H愃y biểu biễn số có dấu chấm động -123.6875(10) theo chuẩn IEEE754 đơn giản
B1 chuyển đổi hệ 10 sang hệ 2
B2 chuẩn hóa ( Tịnh tiến dấu chấm về ngay sau soos1 thành 1. ……*2
x
Bước 3 Áp dụng chuẩn IEEE &54 đơn giản
S=1 nếu số âm S=0
nếu số dương E-
127 =x => E= ???
F = …..
Kết luận ….
lOMoARcPSD|41967345
8
Bài 2: H愃y chỉ ra các căp địa chỉ logic đúng và giải thích vì sao đúng?
SS:IP SS:BX SS:BP SS: SI SS:DI SS:SP
ES: IP ES:BXES:BP ES:SI ES:DI ES:SP
DS:IP DS:BXDS:BP DS:SI DS:DI DS:SP
Gợi ý
CS: IP => Vì IP xác định địa chỉ offset của ô nhớ trong đoạn CS
DS:BX=> Vì BX các định địa chỉ offset của ô nhớ trong đoạn DS
DS: BP
SS:BP
Vì BP xác định địa chỉ offset của ô nhớ trong đoạn dữ liệu và đoạn ngăn xếp
SS: SP => SP xác định địa chỉ offset của ô nhớ trong đoạn ngăn xếp
DS:SI => SI xác định địac chỉ offset của ô nhớ trong đoạn dữ liệu
DS:DI
DS:DI
DI xác định địa chỉ offset của ô nhớ trong đoạn dữ liệu và đoạn mở rộng
Bài 3
a. Tính địa chỉ vật lý và chỉ ra 5 cặp địa chỉ logic mới tương ứng với SS = AD89h và SP =
B6AEh.
b. Tính địa chỉ vật lý của ô nhớ có địa chỉ logic AB78h:A59Dh. Từ địa chỉ vật lý vừa tính
chỉ ra 5 cặp địa chỉ logic mới tương ứng.
Áp dụng công thức
Địa chỉ vật lý = địa chỉ đoạn*10h+địa chỉ offset
c. Với CPU 80286, trong chế độ thực địa chỉ offset của ô nhớ có giá trị lớn nhất là bao
nhiêu? Nếu AH có giá trị là 16d, AL có giá trị là 14d thì AX có giá trị là bao nhiêu?
- d là hệ cơ số 10 nên cần chuyển đổi sang hệ hexa bằng cách chia cho 16
- AX = AHAL
- AH =16d= 10h
- AL =14d = 0Eh
- => AX= 100Eh
d. Khi thực hiện các câu lệnh/thao tác sau sẽ tác động vào bit cờ nào?
1. ADC
h
+ BA2
h
=> CF, AF
2. EFCD
h
- EFCD
h
=> ZF
lOMoARcPSD|41967345
9
3. Khi thực hiện các lệnh thao tác với xâu ký tự làm giá trị trong các thanh ghi SI/DI
tăng hoặc giảm. => DF
4. 1000
2
1111
2
=> SF
Bài 4: H愃y xác định phương pháp định vị toán hạng cho toán hạng nguồn trong các câu lệnh
ASM sau đây:
1- Mov AX,1234h; => định vị tức thời, chuyển giá trị 1234h vào thanh ghi AX
2- Mov BX,[1234h]; -> Định vị trực tiếp, chuyển nội dung của ô nhớ có địa chỉ DS:
1234h vào thanh ghi BX
3- Mov AX,BX; -> định vị thanh ghi chuyển giá trị của thanh ghi BX vào thanh ghi
AX
4- Mov AX,[BX]; => Định vị gián tiếp, chuyển nội dung của ô nhớ có địa chỉ DS: BX
vào thanh ghi AX
5- Mov [1234],BX; -> Định vị thanh ghi, chuyển giá trị của thanh ghi BX vào ô nhớ có
địa chỉ DS: 1234h
6- Mov AX,[SI]; => Định vị gián tiếp, chuyển nội dung của ô nhớ có địa chỉ DS: SI
vào thanh ghi AX
7- Mov AX,[DI + 3h]; => Định vị chỉ số, chuyển nội dung của ô nhớ có địa chỉ DS:
DI+3h vào thanh ghi AX
8- Mov DX,[SP+SI]; => Lỗi
9- Mov BX,[BP+DI+3h]; => định vị đầy đủ, chuyển nội dung của ô nhớ có địa chỉ DS:
BP+DI+3h vào thanh ghi BX
10- Mov 1234h,AX => lỗi Bài 5. Thực hiện các yêu cầu sau:
a. Tạo tài khoản cho một user có tên đăng nhập là họ tên của sinh viên, bao gồm trường
comment, thư mục làm việc (trùng tên với tên user), mật khẩu đăng nhập (Thí dụ, sv
Trần Binh An thì tên đăng nhập an_tb).
=> $ sudo useradd c ‘Tran Binh An’ –d /home/an_tb an_tb
$ sudo mkdir /home/an_tb
$ sudo chown an_tb /home/an_tb
$sudo passwd an_tb
# kiểm tra tài khoản tạo => $cat /etc/passwd hoặc tail -3 /etc/passwd
b. Tạo nhóm người dùng có tên CS. Thêm user trong câu a là thành viên phụ của nhóm
CS.
lOMoARcPSD|41967345
10
=> $ sudo groupadd CS # tạo nhóm người dùng kiểm tra kết quả nhóm bằng câu lệnh tail -3
/etc/group
$ sudo usermod G CS an_tb # Thêm tài khoản người dùng an_tb thành viên phụ usermod là
sửa tài khoản – Kiểm tra kết quả bằng câu lệnh tail -3 /etc/group
c. Chuyển user trong câu a thành admin có quyền sudo. Xoá nhóm CS và tài khoản vừa
tạo trong câu a khỏi hệ thống.
=> $ sudo usermod aG sudo an_tb # chuyển user thành admin có quyền sudo
$ sudo groupdel CS #xóa nhóm CS $tail -3 /etc/group
$sudo userdel r an_tb # xóa tài khoản người dùng, kiểm tra bằng câu lệnh tail -3 /etc/paswd
Bài 6. Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục
/home/ubuntu:
Gợi ý
- Có 3 nhóm truy cập u(owner) quyền của user mà chử sợ hữu của file này, g(group) quyền sở
hữu của users thuộc group mà chủ sở hữu của file này, o (other): quyền của tất cả các user khác
trên máy, a(all) tất cả user, ‘+” là thêm quyền, dấu ‘- ‘ là bớt quyền. Có các quyền:
-r ( read) - quyền đọc được biểu diễn bằng số 4
- w(write) quyền viết được biểu diễn bằng số 2
-x (execute) quyền thực thi được biểu diễn bằng số 1
# chmod <tùy chọn> <chỉ số phân quyền> <tên tập tin/thư mụ
c>
Ví dụ file test1 có thông số như sau
owner có quyền rw- = 110
2
=6
8
group có quyền r--=100
2
= 4
8
other có quyền r--= 100
2
= 4
8
$chmod u=rw,go=r test1 hoặc
$chmod 644 test1
Ví dụ 2:
Tạo thư mục HDH, và thiết lập quyền cho thư mục HDH biết u= đọc và thực thi, g có
quyền viêt, o có quyền viết và thực thi ( u=4+1=5, g=2, 0= 2+1=3)
$mkdir HDH
$chmod 523 HDH
Thông số file test2 như sau
lOMoARcPSD|41967345
11
owner có quyền r+w+x = 4+2+1 = 7
group có quyền r+-+x = 4+0+1 = 5 other có quyền r+-+x = 4+0+1 = 5
chmod u=rwx, go=rx test2
chmod 755 test2
Thông số file test3 như sau
owner có quyền r+w+x = 4+2+1 = 7
group có quyền r+w+- = 4+2+0 = 6
other có quyền r+w+- = 4+2+0 = 6
chmod u=rwx, go=rw test3
chmod 766 test3
a. Tạo thư mục EXAM trong thư mục hiện hành, thiết lập quyền truy cập cho thư mục này sao
cho u=rw-, g=r-x, o=r--. Gợi ý
$mkdir EXAM
$chmod 654 EXAM
b. Tạo file thidu1.txt trong thư mục EXAM bằng lệnh cat và nhập nội dung "Đây là bài kiểm
tra số 2, không được mở tài liệu trong quá trình làm bài" Gợi ý
$cd EXAM
$cat > thidu1.txt
Đây la bai kiểm tra số 2, không được mở tài liệu trong quá trình làm bài
Ctrl +d
c. Tạo thư mục DIR1 trong thư mục /home và sao chép file thidu1.txt trong câu b sang thư
mục DIR1 vừa tạo.
Gợi ý
$cd ..
$mkdir DIR1
$cp r /home/ubuntu/EXAM/thidu1.txt /home/ubutu/DIR1
d. Viết lệnh xem nội dung thư mục thư mục DIR1 đ愃 tạo trong câu c.
Gợi ý $ls
DIR1
e. Viết lệnh sao chép tất cả các file có đuôi .txt trong thư mục hiện hành sang thư mục DIR1
trong đ愃 tạo câu c. Gợi ý $cp *.txt DIR1
lOMoARcPSD|41967345
12
f. Xoá thư mục EXAM và thư mục DIR1 vừa tạo.
Gợi ý:
$rm r EXAM
$rm r DIR1
Bài 7. Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục
/home/ubuntu:
a. In ra màn hình cột tên user, groupid, commend, thư mục làm việc của các người dùng
trong hệ thống. => /etc/passwd
Gợi ý: Người dùng trong hệ thống sẽ được lưu trong /etc/passwd => khi dùng lệnh $cat
/etc/passwd sẽ hiển thị ra các thông số
Username: password:userId:groupId:comment:homedir:startup
=>$cut /etc/passwd –d ‘:’ –f 1,4,5,6
b. Cho file thidu2.txt trong thư mục hiện hành chứa nội dung sau:
H愃y viết lệnh để loại bỏ các dòng trống, các dòng bị trùng lặp trong file và lưu kết vào file mới
có tên thidu2_clean.txt.
Gợi ý
- Dùng lệnh xóa các dòng sed
+ Xóa dòng đầu tiên: sed ‘1d’ vd.txt
+ Xóa dòng cuối cùng: sed ‘$d’ vd.txt
+Xóa dòng cụ thể ví dụ dòng 2: sed ‘2d’ vd.txt
+Xóa nhiều dòng liên tiếp: sed ‘2,4d’ vd.txt
+ Xóa dòng trống trong file: sed ‘/^$/d’ vd.txt
$cat >thidu2.txt
Hell
lOMoARcPSD|41967345
13
Hello
My name is Jenny
My name í Jenny
Goodbye
Goodbye
Hello
Goodbye
Ctrl +D
$ sed ‘/^$/d’ thidu2.txt >> thidu1_clean.txt
$uniq thidu1_clearn.txt >> thidu2_clean.txt
d. Cho 2 file name.txtdiachi.txt như sau:
name.txt: 1 -
Hùng - MS01
2 - Mạnh - MS02
3 - Hằng - MS03
diachi.txt:
Thái Nguyên
Bắc Giang
Hà Nội
H愃y viết lệnh để tạo ra file name_diachi.txt có cấu trúc như
sau: name_diachi.txt: 1 - Hùng - MS01 @ Thái Nguyên
2 - Mạnh - MS02 @ Bắc Giang
3 - Hằng - MS03 @ Hà Nội
$ cat > name.txt
1 Hung MS01
2 Manh MS02
3 Hang MS03
Ctrl +D
$cat > diachi.txt
Thai Nguyen
Băc Giang
Ha noi
Ctrl +D
$paste –d ‘@’ name.txt diachi.txt
>> name_diachi.txt
lOMoARcPSD|41967345
14
Bài 8 Tạo tài khoản cho một user có tên đăng nhập là họ tên của sinh viên, bao gồm trường
comment, thư mục làm việc (trùng tên với tên user), mật khẩu đăng nhập (Thí dụ, sv
Nguyễn Thái An thì tên đăng nhập nt_an).
Gợi ý
$sudo useradd –c ‘ Nguyen Thai An ‘ –d /home/nt_an nt_an
$sudo mkdir /home/nt_an
$sudo chown nt_an /home/nt_an
$sudo passwd nt_an
b. Tạo nhóm người dùng có tên N02_K20. Thêm user trong câu a là thành viên phụ của
nhóm N02_K20.
Gợi ý
=> $sudo groupadd N02_K20
$sudo usermod G N02_K20 nt_an
c. Đổi tên nhóm N02_K20 thành N02. Xoá nhóm N02 và tài khoản vừa tạo khỏi hệ thống.
Gợi ý
$ sudo groupmod n N02 N02_K20
# đổi tên nhóm $sudo groupmod –n [tennhommoi] [ten nhomcu]
$sudo groupdel N02 # Xóa nhóm
$sudo userdel r nt_an #Xóa tài khoản người dùng
Bài 9 Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục
/home/ubuntu:
a.Tạo thư mục KiemTra trong thư mục hiện hành, thiết lập quyền truy cập cho thư mục này sao
cho u=rwx cấm tất cả các quyền đối với nhómnhững người dùng khác. Gợi ý:
$mkdir KiemTra
$chmod 700 KiemTra
b. Tạo file vidu1.txt trong thư mục kiểm tra bằng lệnh cat và nhập nội dung "Đây là bài kiểm
tra số 2, không được mở tài liệu trong quá trình làm bài" Gợi ý
$cd KiemTra
c. Tạo thư mục KetQua trong thư mục /home và sao chép file vidu1.txt trong câu b sang thư
mục KetQua vừa tạo.
d. Viết lệnh xem nội dung thư mục thư mục KetQua đ愃 tạo trong câu c.
e. Viết lệnh in ra màn hình tất cả các file có đuôi .txt tại thư mục hiện hành.
f. Xoá thư mục KiemTra và thư mục KetQua vừa tạo.
Bài 10. Thực hiện các lệnh tạo một tài khoản người dùng có tên tài khoản nvmanh, thư mục làm
việc /home/nvmanh, chú thích 'Nguyen Van Manh'.
Bài 11. Đăng nhập vào tài khoản vừa tạo ở câu 10, thực hiện các lệnh sau trên Terminal
1. Tạo thư mục HDH trong thư mục hiện hành
lOMoARcPSD|41967345
15
2. Tạo các thư vuamục TaiLieu BaiTap trong thư mục HDH.
3. Tạo file danhsach.txt trong thư mục TaiLieu với nội dung như sau (gồm 4 trường: stt,
họ tên, điểm, địa chỉ):
1 - Nguyen Huu Cong - 9.4 Thai Nguyen
2 - Tran Van Thai - 8.7 - Bac Giang
3 - Chu Thi Huong - 7.5 - Hoa Binh
4 - Nguyen Minh Anh - 6.3 - Thai Nguyen
4. In ra 2 dòng đầu tiên của file danhsach.txt trong câu 3.
5. Lấy ra trường 2 trường họ tên, điểm và lưu vào file diem.txt trong thư mục TaiLieu.
6. Xóa dòng thứ 2 trong file danhsach.txt và lưu kết quả vào file danhsach1.txt.
7. Đổi tên thư mục TaiLieu trên thành thư mục TaiLieu1.
8. Tạo file vd1.txt trong thư mục BaiTap và nhập nội dung như sau (số thứ tự, m愃 số, tên
thiếtbị):
1. MS001 Laptop
2. MS002 PC
3. MS003 Mouse
4. MS004 Keyborad
5. MS004 Speaker
9. In ra các dòng có chứa d愃y ký tự 'ey'.
10. In ra các cột số thứ tự và tên thiết bị
11. Xóa các dòng 2 và 3 rồi lưu kết quả vào file vd2.txt.
12. Tạo 2 file name.txtdiachi.txt như sau trong thư mục HDH:
name.txt:
MS01 - Hung
MS02 Mạnh
MS03 Hằng
diachi.txt:
MS01 - Thái Nguyên
MS02 - Bắc Giang
MS03 - Hà Nội
H愃y viết lệnh để tạo ra file name_diachi.txt có cấu trúc như sau:
name_diachi.txt:
MS01 Hung - Thái Nguyên
MS02 Manh - Bắc Giang
MS03 Hằng - Hà Nội
lOMoARcPSD|41967345
16
$join j 1 name.txt diachi.txt >>
name_diachi.txt
13. Xem nội dung của thư mục HDH.
14. Xóa thư mục HDH vừa tạo trên.
Bài 12. Đăng nhập vào Ubuntu, thực hiện các lệnh sau trên Terminal
a. Tạo thư mục BaiTap trong thư mục hiện hành (/home/ubuntu).
b. Tạo file vd1.txt sử dụng lệnh touch trong thư mục BaiTap
c. Ghi kết quả đầu ra của lệnh ls vào file vd1.txt vừa tạo trong câu b.
d. Đổi tên file vd1.txt thành file vd2.txt.
e. Tạo ra file vd3.txt trong thư mục BaiTap bằng cách sử dụng lệnh cat > và nhập vào nội dung
sau:
This is my example
My name is Mr Minh
I’m a student of ICTU nhấn ctrl+D
để kết thúc việc nhập.
f. Tạo mới thư mục BT trong thư mục hiện hành.
g. Tạo một file file1.sh trong thư mục BaiTap bằng lệnh touch.
h. Sao chép các file có đuôi .txt trong thư mục BaiTap sang thư mục BT.
i. Xóa file vd2.txt trong thư mục BT.
k. Xem số ký tự, số từ, số dòng trong file vd3.txt sử dụng lệnh wc Bài
13. Đăng nhập vào Ubuntu, thực hiện các lệnh sau trên Terminal a.
Tạo một file bai1.txt trong thư mục hiện hành rồi nhập vào nội dung:
Để thực hiện sao chép nội dung của 2 file trong Linux cần sử dụng lệnh cp với 2 tham số
file nguồn file đích. Trong trường hợp tham số thứ 1 file nguồn và tham số thứ 2
là thư mục thì lệnh cp sao chép file nguồn vào thư mục.
b. Tạo một file bai2.txt trong thư mục hiện hành.
c. Sao chép nội dung của file bai1.txt sang file bai2.txt
d. Tạo 2 thư mục dir1dir2 trong thư mục hiện hành
e. Sao chép 2 file bai1.txt và file bai2.txt vào thư mục dir1
f. Sao chép tất cả các file có đuôi .txt vào trong thư mục hiện hành vào thư mục dir2
g. Xóa tất cả các file có đuôi .txt trong thư mục hiện hành.
lOMoARcPSD|41967345
17
h. Đếm số lượng file và thư mục trong thư mục hiện hành (sử dụng lệnh ls kết hợp với lệnh
wcvới tùy chọn –l)
Bài 14: Đăng nhập vào hệ thống Linux, rồi khởi động shell bash và thực hiện các công việc sau:
a. Tạo thư mục UNIX trong thư mục hiện hành
b. Tạo file test.txt trong thư mục UNIX
c. Ghi kết quả đầu ra của ls đối với thư mục hiện hành vào file test.txt, xem kết quả nội dung
củafile test.txt.
d. Xem nội dung của file test.txt bằng cách đổi các ký tự chữ thường thành chữ hoa.
e. Đếm số dòng, và số từ của file test.txt
Bài 15 Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục
/home/ubuntu:
1. Tạo thư mục mang tên của bạn
2. Đổi tên thư mục LOPN03
3. Tạo thư mục mang tên Baithuchanh trong thư mục hiện hành
4. Sao chép thư mục LOPN03 vào thư mục Baithuchanh
5. Xem nội dung của thư mục Baithuchanh
6. Xóa thư mục LOPN03 ở thư mục hiện hành
7. Xoa thư mục Baithuchanh
Bài 16. Viết kịch bản shell cho phép nhập vào một mảng các số nguyên n phần tử rồi thực hiện:
1. In mảng vừa nhập ra màn hình
2. In ra các số chia hết cho 2 (hoặc 3,4,5 …) trong mảng
3. In ra số âm lớn nhất trong mảng/ Số dương nhỏ nhất trong mảng/ số chẵn
lớnnhất (nhỏ nhất) trong mảng/ Số lẻ lớn nhất (số nhỏ nhất) trong mảng/ số lớn
nhất / số nhỏ nhất
4. Sắp xếp mảng các phân tử chẵn theo chiều tăng dần/ hoặc giảm dần
5. Tính tổng các phần tử chẵn/lẻ
6. Tìm vị trí của phần tử max/ min ….
7. Tìm phần tử x trong mảng với x nhập từ bàn phím
Bài 17. Viết các kịch bản shell thực hiện các yêu cầu sau:
a. Nhập vào 1 xâu ký tự từ bàn phím.
b. Đếm đồ dài của chuỗi vừa nhập
lOMoARcPSD|41967345
18
c. Đổi các ký tự thường thành ký tự hoa của xâu ban đầu
d. Đếm xem xâu có bao nhiêu từ ở trong xâu.
e. Đếm xem ký tự 'c' xuất hiện bao nhiêu lần trong xâu.
f. In ra màn hình xâu theo chiều ngược lại.
Bài 18: Viết chương trình nhập vào n (với 0 <n<100) và số k . Thực hiện công việc sau:
+ Nếu k=1 thì in ra s = 1+2+....+n
+ Nếu k =2 thì in ra s= 1+3+5+.....
+ Nếu k=3 thì in ra s= 2+4+6+......
+Nếu k=4 in ra s = 1*2*3.....*n
+ Các trường hợp còn lại in ra ‘ Lựa chọn không hợp lệ ‘
Bài 19 Viết chương trình Shell tính tổng sau:
S(x,n) = x/1
+ x
2
/(1*2)+x
3
/(1*2*3)+…….
+ x
n
/(1*2*….*n)
Với x,n được nhâp từ bàn phím và x ≠ 0, n>=1
Gợi ý:
Bài 20 Viết chương trình Shell tính tổng sau:
S(x,n) = -x
+ x
2
-x
3
+…….
+ (-1)
n
x
n
Với x,n được nhâp từ bàn phím và x 0,n >0
Gợi ý :
- tu=1
- s=0
- for …
tu=tu*x +
nếu i%2 =0
S=s+tu
Else
S=s-tu
Fi
Done
Echo “ s”
Bài 21 Viết chương trình Shell tính tổng sau:
S(x,n) = -x+1/ x
2
-x
3
+1/x
4
-.....
- x
n
Với x,n được nhâp từ bàn phím và x ≠ 0, n > 0
Gợi ý
lOMoARcPSD|41967345
19
Tu=1
S=0
For
Tu=tu*x
If i%2 =0
S=s+1/tu
Else
S=s-tu
Fi
Done
Echo “s”
Bài 22 Viết chương trình Shell tính tổng sau:
S(x,n) = x + x
3
+x
5
+…….
+ x
2n+1
Với x,n được nhâp từ bàn phím và x 0,n >1
Gợi ý
- s=$x
tu=$x
for
tu=tu*x*x
s=s+tu
Bài 23 Viết chương trình Shell tính tổng sau:
S(x,n) = x/(2*1
2
)
+ x
2
/(2*2
2
)+x
3
/(2*3
2
)+…….
+ x
n
/(2*n
2
)
Với x,n được nhâp từ bàn phím và x 0,n >1
Gợi ý - tu=1
mau=1 s=0
for tu=tu*x
mau=2*$i*$i
s=s+tu/mau
done echo s
lOMoARcPSD|41967345
20
Bài 24 Viết chương trình Shell tính tổng sau S(x,n) = x
2
+ x
4
+x
6
+…….
+ x
2 n
Với x,n được nhâp từ bàn phím và x 0,n > 0
Gợi ý -
s=0 tu=1
for
tu=tu*x*x
s=s+tu
done echo
s
Bài 25 Giải phương trình ax
2
+ bx + c = 0 . Với a,b,c nhập vài từ bàn phím ( với a khác 0).
Bài 26 Giải hệ phương trình
Với a1,b1,c1,a2,b2,c2 nhập vào từ bàn phím.
Bài 27 Viết chương trình Shell tính tổng sau:
S(x,n) = x/1
+ x
2
/(1*2)+x
3
/(1*2*3)+…….
+ x
n
/(1*2*….*n)
Trường hợp 1 Với x,n được nhâp từ bàn phím và x ≠ 0, n>0
Trường hợp 2 Với x,n được nhâp từ bàn phím và x 0
| 1/20

Preview text:

lOMoARcPSD| 41967345
Đề cương ôn tập môn Cấu trúc máy tính và hệ điều hành RcPSD| 4196734 I.Lý thuyết
1. Kể tên các thành phần cơ bản của máy tính PC? CPU80286 là dòng CPU bao nhiêu bit? Vì sao? Gợi ý:
- Các thành phần cơ bản của máy tính gồm 5 thành phần: CPU, bộ nhớ
( ROM,RAM, Cache, bộ nhớ ngoài),
- CPU 80286 là loại 16 bit (độ rộng của dữ liệu hoặc mã lệnh là 16 bit) do vậy
mỗi lần đọc dữ liệu trong ô nhớ sẽ có kích thước 2 bytes.
2. Hệ thống Bus gồm những loại Bus nào? Trong các loại Bus, Bus nào có vai
trò quyết định kích thước của bộ nhớ RAM? Bus nào có vai trò quyết định
kích thước giá trị trong ô nhớ? Gợi ý:
- Hệ thống Bus gồm 3 loại bus hỗ trợ máy tính trong việc vào/ra dữ liệu: Bus dữ
liệu (2 chiều), bus địa chỉ (1 chiều: chiều ra từ CPU) và bus điều khiển (2 chiều)
- Bus địa chỉ có vai trò quyết định kích thước của bộ nhớ RAM
- Bus dữ liệu quyết định kích thước giá trị trong ô nhớ
3. Kể tên các thanh ghi đoạn trong chế độ thực của CPU 80286? Khi trong
chương trình có khai báo biến nhớ, thì biến nhớ này sẽ nằm trong đoạn nào? Gợi ý
- Trong chế độ thực các thanh ghi đoạn: Thanh ghi đoạn mã lệnh CS, thanh ghi

đoạn dữ liệu DS, thanh ghi ghi đoạn ngăn xếp SS và thanh ghi đoạn mở rộng ES
- Khi trong chương trình có khai báo biến nhớ, thì các biến này sẽ nằm trongđoạn dữ liệu DS
4. Kể tên các thanh ghi đa năng. Khi CPU thực hiện lệnh với số lần lặp là 255
thì giá trị của thanh ghi CX =? Gợi ý:
- Các thanh ghi đa năng trong CPU 80286 là: AX, BX,CX,DX
- Khi thực hiện lệnh lặp 255 (nghĩa là giá trị 255 đang ở hệ cơ số 10 chúng ta
cần đổi sang hệ 16 bằng cách chia liên tiếp cho 16 lấy phần dư và lấy theo
chiều từ dưới lên => 25510 = FFh vì CX là thanh ghi 16 bit mà FF là 8 bit nên
cần thêm 2 giá trị 0 cho đủ 16 bit) do vậy CX = 00FFh
1 lOMoARcPSD| 41967345
5. H愃̀y liệt kê các phương pháp (chế độ) định vị toán hạng trong CPU 80286? Đối
với kiểu định vị cơ sở chỉ số, có những thanh ghi nào tham gia vào quá trình định vị? Gợi ý:
- Các phương pháp định vị toán hạng trong CPU 80286:
+ Định vị tức thời
+ Định vị thanh ghi
+ Định vị trực tiếp
+ Định vị gián tiếp + Định vị cơ sơ
+ Định vị chỉ số
+ Định vị cơ sở chỉ số
+Định vị đầy đủ
- Đối với kiểu định vị cơ sở chỉ số có 4 thanh ghi tham gia vào quá trình định vị: BX, BP, SI và DI
6. Trình bày vai trò của bộ đồng xử lý và CMOS trong kiến trúc cơ bản của máy tính PC? Gợi ý
- Bộ đồng xử lý trợ giúp CPU xử lý trợ giúp CPU xử lý các phép tính số học có
giá trị là dấu chấm động, các phép tính logarit và lượng giác với tốc độ
nhanh và độ chính xác cao.

- Thiết bị CMOS gồm 2 bộ phận chính: Đồng hồ thời gian thực và RAM CMOS.
+ Đồng hồ thời gian thực cung cấp thông tin thời gian thực như: năm – tháng
– ngày, giờ - phút – giây.
+ RAM –CMOS: chứa thông tin về cấu hình hệ thống
7. Kể tên các thiết bị giao diện trong máy tính PC? Vì sao cần phải có thiết bị giao diện? Gợi ý:
- Các thiết bị giao diện tring máy tính PC:
+ Thiết bị giao diện màn hình CRTC
+Thiết bị giao bàn phím KC8042
+ Thiết bị giao diện nối tiếp UART
+ Thiết bị giao diện song song PPI
+ Thiết bị giao diện đĩa cứng HDC
+ (Thiêt bị giao diện đĩa mềm – tuy nhiên ngày nay không còn sử dụng)
- Lý do cần có thiết bị giao diện là do có sự khác biệt rất lớn về dạng thức truyền
tải và tốc độ xử lý thông tin giữa đơn vị xử lý trung tâm và các thiết bị ngoại vi.
8. Giải thích ý nghĩa các chân tín hiệu INT, NMI, INTA, HOLD, HLDA của CPU
80286. Căn cứ vào tín hiệu nào chúng ta biết được CPU 80286 làm việc với bộ
nhớ hay thiết bị vào/ra? MI/IO Gợi ý trả lời
- INT: tín hiệu yêu cầu ngắt cứng, có thể bị che khi bit cờ IF trong thanh ghi
2 lOMoARcPSD| 41967345 FLAGS
- INTA xuất phá từ CPU truyền đến PIC để trả lời yêu cầu ngắt - NMI: yêu cầu
ngắt không che được bằng cờ IF.
- HOLD: là tín hiệu từ bên ngoài yêu cầu CPU “thả nổi” hệ thống BUS (nhường BUS).
- HLDA: CPU trả lời đồng ý nhường Bus
- MI/IO cho biết CPU làm việc với bộ nhớ hay thiết bị vào/ra
9. Giải thích ý nghĩa các chân tín hiệu Vcc, GND, CLK, RST. Kể tên các chân của
CPU phục vụ cho mục đích ngắt.
Gợi ý trả lời
- CLK: tín hiệu xung tạo nhịp thời gian cơ sở cho đơn vị xử lý trung tâm.
- Vcc: cung cấp điện áp dương nguồn cho CPU (Cung cấp nguồn nuôi +5V cho vi xử lý)
- GND tạo nguồn điện cho CPU hoạt động
- RST: tín hiệu khởi động hệ thống ( đưa mạch logic bên trong CPU về trạng thái ban đầu)
- Các chân phục vụ ngắt: INT, NMI, INTA
10. Kể tên các đơn vị chính tạo thành cấu hình bên trong của CPU. Lệnh sau khi giải
m愃̀ sẽ được chuyển tới cho đơn vị nào?
Gợi ý trả lời -
CPU 80286 được cấu thành từ 4 đơn vị chính như sau: AU ( đơn vị địa chỉ);
BU (Đơn vị BUS); IU (Đơn vị lệnh); EU (đơn vi thực hiện) -
Lệnh sau khi giải mã sẽ được đưa tới đơn vị thực hiện EU 11.
Trình bày vai trò của các đơn vị AU, BU, IU, EU của CPU80286. Gợi ý trả lời -
Đơn vị BUS (BU) : thực hiện giao diện BUS, tạo ra và nhận vào các tín hiệu
địa chỉ, điều khiển và dữ liệu và nhập lệnh từ bộ nhớ vào hàng đợi. -
Đơn vị lệnh IU : Đơn vị lệnh IU thực hiện giải mã lệnh và đưa vào hàng đợi. -
Đơn vị thực hiện EU : EU thực hiện lệnh đã được giải mã. -
Đơn vị địa chỉ AU : AU quản lý bộ nhớ trong cả hai chế độ làm việc : chế độ
thực và chế độ bảo vệ.
12. H愃̀y cho biết ý nghĩa của các bit cờ CF, ZF, IF, DF trong thanh ghi cờ FLAGS.
Gợi ý trả lời
- CF (Carry Flag) : cờ nhớ ; Nếu có hiện tượng nhớ từ bit cao nhất khi thực hiện
phép tính thì CF = 1.
- ZF (Zero Flag) : cờ zero. Nếu kết quả phép tính bằng không thì ZF = 1.
- IF (Interrupt Flag) : cờ ngắt ; Nếu IF = 1, cho phép CPU phản ứng với tín hiệu báo ngắt INT. 3 lOMoARcPSD| 41967345
- DF (Direction Flag): cờ hướng ; DF xác định hướng tăng hoặc giảm của các
thanh ghi SI. DI khi thực hiện các lệnh thao tác xâu ký tự.
13. H愃̀y cho biết ý nghĩa của các bit cờ CF, PF, SF, AF trong thanh ghi cờ FLAGS.
Gợi ý trả lời
- CF (Carry Flag) : cờ nhớ ; Nếu có hiện tượng nhớ từ bit cao nhất khi thực
hiện phép tính thì CF = 1.
- PF (Parity Flag) : cờ kiểm tra chẵn lẻ ; Nếu lượng các bit 1 trong kết quả chẵn thì PF=1.
- SF (Sign Flag): cờ dấu. Nếu kết qủa âm (bít cao nhất của kết quả có giá trị 1) thì SF= 1.
- AF (Auxiliary Flags) : cờ nhớ phụ. Cờ AF được sử dụng trong các phép tính
số học với các số BCD (Binary Cođe Decimal). Nếu có nhớ hay có mượn đối
với 4 bit thấp thì AF= 1.
14. Kể tên các thanh ghi địa chỉ trong CPU 802856. Nêu vai trò của thanh ghi SP.Gợi ý trả lời
- Các thanh ghi địa chỉ BP, SI, DI, SP : là các thanh ghi 16 bit
- SP (Stack Pointer) : Con trỏ ngắn xếp SP chứa địa chỉ offset của ô nhớ trong
đoạn ngăn xếp. SP luôn trỏ đến đỉnh ngăn xếp.
15. Kể tên các nhóm thanh ghi trong CPU80286. Cho biết vai trò của thanh ghi IP.
Gợi ý trả lời
- Các nhóm thanh ghi: nhóm thanh ghi đa năng (AX, BX, CX, DX); Các thanh
ghi địa chỉ (BP, SI, DI, SP); Các thanh ghi đoạn (CS, DS, ES, SS); Các thanh
ghi điều khiển và trạng thái (Con trỏ lệnh IP và thanh ghi cờ Flags và Thanh
ghi trạng thái máy (MSW)); Các thanh ghi khác ( TR, LDT, GDT, IDT MSW)

- Con trỏ lệnh IP (In struction Pointer): là thanh ghi 16 bit IP chứa địa chỉ offset
của ô nhớ trong đoạn m愃̀ lệnh. Khi nhập lệnh thì IP tự động tăng dần và khi
CPU nhập xong một lệnh thì IP trỏ đến ô nhớ chứa lệnh tiếp theo trong đoạn
m愃̀ lệnh. Nội dung IP bị thay đổi bất thường khi CPU thực lệnh nhảy, lệnh gọi
chương trình con hoặc bởi các cơ chế ngắt cứng và mềm.
16. Định dạng địa chỉ logic là gì? Công thức tính địa chỉ vật lý. Địa chỉ offset
đượchiểu như thế nào? Gợi ý trả lời
- Địa chỉ logic là cặp địa chỉ địa chỉ đoạn : địa chỉ offset ( hay segment : offset .
Trong đó địa chỉ segment là địa chỉ đoạn của đoạn nhớ chứa ô nhớ , offset là
địa chỉ mang thông tin về độ lệch của địa chỉ ô nhớ so với địa chỉ nền đoạn nhớ )
4 lOMoARcPSD| 41967345 - Công thức tính:
Địa chỉ vật lý = Địa chỉ đoạn *10h + Địa chỉ offset
= địa chỉ đoạn *16 + địa chỉ off set
= địa chỉ đoạn *100002 + địa chỉ offset
= địa chỉ nền đoạn + địa chỉ offset
17. Trình bày đặc điểm của FAT32 Gợi ý
- Sử dụng không gian địa chỉ 32 bit nên FAT32 hỗ trợ nhiều cluster trên một partition hơn,
do vậy không gian đĩa cứng được tận dụng nhiều hơn.
- Hỗ trợ kích thước của phân vùng từ 2GB lên 2TB và chiều dài tối đa của tên tập tin được
mở rộng đến 255 ký tự.
- Tính bảo mật và khả năng chịu lỗi (Fault Tolerance) không cao.
18. Trình bày đặc điểm của NTFSGợi ý
- Không gian địa chỉ 64 bit, khả năng thay đổi kích thước của cluster độc lập với dung lượng đĩa cứng,
- Hầu như đã loại trừ được những hạn chế về số cluster, kích thước tối đa của tập tin trên
một phân vùng đĩa cứng.
- NTFS sử dụng bảng quản lý tập tin MFT (Master File Table) thay cho bảng FAT nhằm
tăng cường khả năng lưu trữ, tính bảo mật cho tập tin và thư mục, khả năng mã hóa dữ
liệu đến từng tập tin.

- Có khả năng chịu lỗi cao, cho phép người dùng đóng một ứng dụng “chết” (not
responding) mà không làm ảnh hưởng đến những ứng dụng khác.
- NTFS lại không thích hợp với những ổ đĩa có dung lượng thấp (dưới 400 MB)
19. Trình bày các yếu tố ảnh hưởng đến việc cài đặt hệ điều hành windows.Gợi ý:
Khi tiến hành cài đặt máy tính ta phải xét đến các yếu tố ảnh hưởng tới quá trình cài đặt,
sử dụng và bảo trì hệ thống sau này. Các yếu tố đó bao gồm: - Cấu hình máy
- Mục đích và yêu cầu sử dụng:
- Hiểu biết của người sử dụng về máy tính: Các giai đoạn cài đặt hệ thống
20. Nêu các giai đoạn cài đặt máy tính sử dụng hệ điều hành windows Gợi ý:
Việc cài đặt hệ thống có thể chia làm 4 giai đoạn:
- Phân hoạch ổ đĩa;
- Cài đặt hệ điều hành và các phần mềm điều khiển thiết bị
- Cài đặt các phần mềm bảo vệ và phần mềm ứng dụng, tối ưu hệ thống - Tạo File
Backup để sao lưu hệ thống, đóng băng hệ thống.
21. Trình bày quy trình tối ưu máy tính cài đặt hệ điều hành windowsGợi ý: 5 lOMoARcPSD| 41967345
- Tắt các ứng dụng chạy nền không cần thiết
- Gỡ bỏ các ứng dụng khởi động cùng Windows
- Sử dụng phần mềm tối ưu hệ thống hoặc tiện ích dọn dẹp ổ đĩa tích disk cleanup hợp trong
Windows để xóa các file nháp, tăng dung lượng đĩa cứng, chạy phần mềm chống phân
mảnh ổ đĩa Disk Defragmenter (chỉ dùng khi sử dụng ổ đĩa cứng HDD)

- Tắt các hiệu ứng đặc biệt về video, hình ảnh của Windows
22. Trình bày các yêu cầu để hệ thống máy tính được bảo vệ an toàn Gợi ý
- Bật tính năng Update của windows theo lịch biểu để cập nhật các bản vá lỗi.
- Cài đặt một phần mềm diệt virus đủ mạnh, thường xuyên cập nhật cơ sở dữ liệu virus
- Cấu hình đầy đủ cho phần mềm diệt virus bảo vệ thời gian thực và thiết lập tường lửa
trong hệ điều hành windows.
- Luôn quét virus với các thiết bị lưu trữ ngoài được gắn vào máy tính
- Tạo bản sao lưu ổ đĩa chứa hệ điều hành và các ổ đĩa chứa dữ liệu quan trọng
- Cài đặt một phần mềm lưu trữ online ( Goolge Drive, Dropbox…) để liên tục lưu trữ các
tại liệu quan trọng.
23. Trình bày đặc điểm của bộ nhớ ROM
Gợi ý trả lời
ROM: ROM là bộ nhớ chỉ đọc. Dữ liệu trong ROM được duy trì ngay cả khi không có nguồn
điện nuôi. ROM chứa các phần mềm cơ bản sau:
Các chương trình kiểm tra hệ thống (quá trình POST):
Chương trình xác lập cấu hình hệ thống.
Chương trình quét ROM mở rộng
Chương trình đọc cung khởi động
Các chương trình điều khiển các thiết bị vào-ra cơ bản của máy tính
24. Trình bày đặc điểm của bộ nhớ RAM
Gợi ý trả lời
RAM: RAM là bộ nhớ thao tác. Bộ nhớ RAM có chức năng chứa các phần mềm của hệ thống
(hệ điều hành), phần mềm và dữ liệu của một hoặc nhiều chương trình đang hoạt động (chương trình ứng dụng).
Các dạng bài tập - LƯU Ý ĐÂY CHỈ LÀ DẠNG BÀI THI
Bài 1: Thực hiện phép tính và chuyển đổi sau 1. 15010 = ?2,8,16
Lấy 150 chia liên tiếp 2/8/16 lấy dư lấy dưới lên 6 lOMoARcPSD| 41967345 2. 1101111001.112 =?10,8,16
=> 1101111001.112 = 1*20 + 0*21 + 0*2 ====
- chuyển từ 2 – sang hệ 8 nhóm 3 bit lại
- Chuyển từ 2 sang hệ 16 – nhóm 4 bit lại 3. 110.2510 = ?2,8,16
- Phân nguyên chia liên tiếp cho 2,8, 16 Phần thập phân nhân liên tiếp với 2,8 và 16 4. AC8Eh + 7D9Fh = ?
=> A =10, B= 11, C= 12, D=13, E=14, F= 15
Nếu cộng lớn hơn 16 thì trừ 16 và nhớ 1 sang bên cạnh 5. FC0416 = ?2
- Chuyển từ hệ 16 sang hệ 2 các đối chiếu hệ 16 với các bit nhị phân tương ứng 6538 = ?2
- - Chuyển từ hệ 8 sang hệ 2 các đối chiếu hệ 16 với các bit nhị phân tương ứng
145.12510= ?2 100011010100112 = ?16,8
6. Biểu diễn số 9710 và -11510 theo m愃̀ bù 2.
- Bù 2 dùng để biểu diễn số âm cần 8 bit .
- Nếu số dương chuyển sang bù 2 đổi sang nhị phân và biểu diễn đủ 8 bitSố âm biểu diễn bù 2 qua 3 bước:
+ B1: chuyển đổi hệ 10 sang 2 ( dùng 8 biết và chỉ ghi số dương bỏ dấu)
+ B2: Chuyển sang bù 1 bằng cách: đổi các bit 0 ->1 và 1->0
Bước 3: lấy bù 1 cộng 1 = bù 2=> kết luận
6. H愃̀y biểu biễn số có dấu chấm động -123.6875(10) theo chuẩn IEEE754 đơn giản
B1 chuyển đổi hệ 10 sang hệ 2
B2 chuẩn hóa ( Tịnh tiến dấu chấm về ngay sau soos1 thành 1. ……*2x
Bước 3 Áp dụng chuẩn IEEE &54 đơn giản S=1 nếu số âm S=0 nếu số dương E- 127 =x => E= ??? F = ….. Kết luận …. 7 lOMoARcPSD| 41967345
Bài 2: H愃̀y chỉ ra các căp địa chỉ logic đúng và giải thích vì sao đúng?̣ SS:IP SS:BX SS:BP SS: SI SS:DI SS:SP ES: IP ES:BXES:BP ES:SI ES:DI ES:SP DS:IP DS:BXDS:BP DS:SI DS:DI DS:SP Gợi ý
CS: IP => Vì IP xác định địa chỉ offset của ô nhớ trong đoạn CS
DS:BX=> Vì BX các định địa chỉ offset của ô nhớ trong đoạn DS DS: BP SS:BP
Vì BP xác định địa chỉ offset của ô nhớ trong đoạn dữ liệu và đoạn ngăn xếp
SS: SP => SP xác định địa chỉ offset của ô nhớ trong đoạn ngăn xếp
DS:SI => SI xác định địac chỉ offset của ô nhớ trong đoạn dữ liệu DS:DI DS:DI
DI xác định địa chỉ offset của ô nhớ trong đoạn dữ liệu và đoạn mở rộng Bài 3
a. Tính địa chỉ vật lý và chỉ ra 5 cặp địa chỉ logic mới tương ứng với SS = AD89h và SP = B6AEh.
b. Tính địa chỉ vật lý của ô nhớ có địa chỉ logic AB78h:A59Dh. Từ địa chỉ vật lý vừa tính
chỉ ra 5 cặp địa chỉ logic mới tương ứng. Áp dụng công thức
Địa chỉ vật lý = địa chỉ đoạn*10h+địa chỉ offset
c. Với CPU 80286, trong chế độ thực địa chỉ offset của ô nhớ có giá trị lớn nhất là bao
nhiêu? Nếu AH có giá trị là 16d, AL có giá trị là 14d thì AX có giá trị là bao nhiêu?
- d là hệ cơ số 10 nên cần chuyển đổi sang hệ hexa bằng cách chia cho 16 - AX = AHAL - AH =16d= 10h - AL =14d = 0Eh - => AX= 100Eh
d. Khi thực hiện các câu lệnh/thao tác sau sẽ tác động vào bit cờ nào? 1. ADCh+ BA2h => CF, AF 2. EFCDh- EFCDh => ZF 8 lOMoARcPSD| 41967345
3. Khi thực hiện các lệnh thao tác với xâu ký tự làm giá trị trong các thanh ghi SI/DI tăng hoặc giảm. => DF 4. 10002 – 11112 => SF
Bài 4: H愃̀y xác định phương pháp định vị toán hạng cho toán hạng nguồn trong các câu lệnh ASM sau đây:
1- Mov AX,1234h; => định vị tức thời, chuyển giá trị 1234h vào thanh ghi AX
2- Mov BX,[1234h]; -> Định vị trực tiếp, chuyển nội dung của ô nhớ có địa chỉ DS: 1234h vào thanh ghi BX
3- Mov AX,BX; -> định vị thanh ghi chuyển giá trị của thanh ghi BX vào thanh ghi AX
4- Mov AX,[BX]; => Định vị gián tiếp, chuyển nội dung của ô nhớ có địa chỉ DS: BX vào thanh ghi AX
5- Mov [1234],BX; -> Định vị thanh ghi, chuyển giá trị của thanh ghi BX vào ô nhớ có địa chỉ DS: 1234h
6- Mov AX,[SI]; => Định vị gián tiếp, chuyển nội dung của ô nhớ có địa chỉ DS: SI vào thanh ghi AX
7- Mov AX,[DI + 3h]; => Định vị chỉ số, chuyển nội dung của ô nhớ có địa chỉ DS: DI+3h vào thanh ghi AX
8- Mov DX,[SP+SI]; => Lỗi
9- Mov BX,[BP+DI+3h]; => định vị đầy đủ, chuyển nội dung của ô nhớ có địa chỉ DS: BP+DI+3h vào thanh ghi BX
10- Mov 1234h,AX => lỗi Bài 5. Thực hiện các yêu cầu sau:
a. Tạo tài khoản cho một user có tên đăng nhập là họ tên của sinh viên, bao gồm trường
comment, thư mục làm việc (trùng tên với tên user), mật khẩu đăng nhập (Thí dụ, sv
Trần Binh An thì tên đăng nhập an_tb).
=> $ sudo useradd –c ‘Tran Binh An’ –d /home/an_tb an_tb $ sudo mkdir /home/an_tb
$ sudo chown an_tb /home/an_tb $sudo passwd an_tb
# kiểm tra tài khoản tạo => $cat /etc/passwd hoặc tail -3 /etc/passwd
b. Tạo nhóm người dùng có tên CS. Thêm user trong câu a là thành viên phụ của nhóm CS. 9 lOMoARcPSD| 41967345 => $ sudo groupadd CS
# tạo nhóm người dùng kiểm tra kết quả nhóm bằng câu lệnh tail -3 /etc/group
$ sudo usermod –G CS an_tb # Thêm tài khoản người dùng an_tb là thành viên phụ usermod là
sửa tài khoản – Kiểm tra kết quả bằng câu lệnh tail -3 /etc/group
c. Chuyển user trong câu a thành admin có quyền sudo. Xoá nhóm CS và tài khoản vừa
tạo trong câu a khỏi hệ thống.
=> $ sudo usermod –aG sudo an_tb # chuyển user thành admin có quyền sudo
$ sudo groupdel CS #xóa nhóm CS $tail -3 /etc/group
$sudo userdel –r an_tb # xóa tài khoản người dùng, kiểm tra bằng câu lệnh tail -3 /etc/paswd
Bài 6. Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục /home/ubuntu: Gợi ý
- Có 3 nhóm truy cập u(owner) quyền của user mà chử sợ hữu của file này, g(group) quyền sở
hữu của users thuộc group mà chủ sở hữu của file này, o (other): quyền của tất cả các user khác
trên máy, a(all) tất cả user, ‘+” là thêm quyền, dấu ‘- ‘ là bớt quyền. Có các quyền:
-r ( read) - quyền đọc được biểu diễn bằng số 4
- w(write) – quyền viết được biểu diễn bằng số 2
-x (execute) – quyền thực thi được biểu diễn bằng số 1 # chmod
Ví dụ file test1 có thông số như sau •
owner có quyền rw- = 1102 =68 •
group có quyền r--=1002= 48
other có quyền r--= 1002 = 48
$chmod u=rw,go=r test1 hoặc $chmod 644 test1 Ví dụ 2:
Tạo thư mục HDH, và thiết lập quyền cho thư mục HDH biết u= đọc và thực thi, g có
quyền viêt, o có quyền viết và thực thi ( u=4+1=5, g=2, 0= 2+1=3) $mkdir HDH $chmod 523 HDH
Thông số file test2 như sau 10 lOMoARcPSD| 41967345 •
owner có quyền r+w+x = 4+2+1 = 7 •
group có quyền r+-+x = 4+0+1 = 5 other có quyền r+-+x = 4+0+1 = 5 chmod u=rwx, go=rx test2 chmod 755 test2
Thông số file test3 như sau •
owner có quyền r+w+x = 4+2+1 = 7 •
group có quyền r+w+- = 4+2+0 = 6 •
other có quyền r+w+- = 4+2+0 = 6
chmod u=rwx, go=rw test3 chmod 766 test3
a. Tạo thư mục EXAM trong thư mục hiện hành, thiết lập quyền truy cập cho thư mục này sao
cho u=rw-, g=r-x, o=r--. Gợi ý $mkdir EXAM $chmod 654 EXAM
b. Tạo file thidu1.txt trong thư mục EXAM bằng lệnh cat và nhập nội dung "Đây là bài kiểm
tra số 2, không được mở tài liệu trong quá trình làm bài" Gợi ý $cd EXAM $cat > thidu1.txt
Đây la bai kiểm tra số 2, không được mở tài liệu trong quá trình làm bài Ctrl +d
c. Tạo thư mục DIR1 trong thư mục /home và sao chép file thidu1.txt trong câu b sang thư
mục DIR1 vừa tạo. Gợi ý $cd .. $mkdir DIR1
$cp –r /home/ubuntu/EXAM/thidu1.txt /home/ubutu/DIR1
d. Viết lệnh xem nội dung thư mục thư mục DIR1 đ愃̀ tạo trong câu c. Gợi ý $ls DIR1
e. Viết lệnh sao chép tất cả các file có đuôi .txt trong thư mục hiện hành sang thư mục DIR1
trong đ愃̀ tạo câu c. Gợi ý $cp *.txt DIR1 11 lOMoARcPSD| 41967345
f. Xoá thư mục EXAM và thư mục DIR1 vừa tạo. Gợi ý: $rm –r EXAM $rm –r DIR1
Bài 7. Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục /home/ubuntu:
a. In ra màn hình cột tên user, groupid, commend, thư mục làm việc của các người dùng
trong hệ thống. => /etc/passwd
Gợi ý: Người dùng trong hệ thống sẽ được lưu trong /etc/passwd => khi dùng lệnh $cat
/etc/passwd sẽ hiển thị ra các thông số
Username: password:userId:groupId:comment:homedir:startup
=>$cut /etc/passwd –d ‘:’ –f 1,4,5,6
b. Cho file thidu2.txt trong thư mục hiện hành chứa nội dung sau:
H愃̀y viết lệnh để loại bỏ các dòng trống, các dòng bị trùng lặp trong file và lưu kết vào file mới
có tên thidu2_clean.txt. Gợi ý
- Dùng lệnh xóa các dòng sed
+ Xóa dòng đầu tiên: sed ‘1d’ vd.txt
+ Xóa dòng cuối cùng: sed ‘$d’ vd.txt
+Xóa dòng cụ thể ví dụ dòng 2: sed ‘2d’ vd.txt
+Xóa nhiều dòng liên tiếp: sed ‘2,4d’ vd.txt
+ Xóa dòng trống trong file: sed ‘/^$/d’ vd.txt $cat >thidu2.txt Hell 12 lOMoARcPSD| 41967345 Hello My name is Jenny My name í Jenny Goodbye Goodbye Hello Goodbye Ctrl +D
$ sed ‘/^$/d’ thidu2.txt >> thidu1_clean.txt
$uniq thidu1_clearn.txt >> thidu2_clean.txt
d. Cho 2 file name.txtdiachi.txt như sau: name.txt: 1 - diachi.txt: Hùng - MS01 Thái Nguyên 2 - Mạnh - MS02 Bắc Giang 3 - Hằng - MS03 Hà Nội
H愃̀y viết lệnh để tạo ra file name_diachi.txt có cấu trúc như
sau: name_diachi.txt: 1 - Hùng - MS01 @ Thái Nguyên
2 - Mạnh - MS02 @ Bắc Giang 3 - Hằng - MS03 @ Hà Nội $ cat > name.txt 1 – Hung – MS01 2 – Manh – MS02 3 – Hang – MS03 Ctrl +D $cat > diachi.txt Thai Nguyen Băc Giang Ha noi Ctrl +D
$paste –d ‘@’ name.txt diachi.txt
>> name_diachi.txt 13 lOMoARcPSD| 41967345
Bài 8 Tạo tài khoản cho một user có tên đăng nhập là họ tên của sinh viên, bao gồm trường
comment, thư mục làm việc (trùng tên với tên user), mật khẩu đăng nhập (Thí dụ, sv
Nguyễn Thái An thì tên đăng nhập nt_an). Gợi ý
$sudo useradd –c ‘ Nguyen Thai An ‘ –d /home/nt_an nt_an
$sudo mkdir /home/nt_an
$sudo chown nt_an /home/nt_an $sudo passwd nt_an
b. Tạo nhóm người dùng có tên N02_K20. Thêm user trong câu a là thành viên phụ của nhóm N02_K20. Gợi ý
=> $sudo groupadd N02_K20
$sudo usermod –G N02_K20 nt_an
c. Đổi tên nhóm N02_K20 thành N02. Xoá nhóm N02 và tài khoản vừa tạo khỏi hệ thống. Gợi ý
$ sudo groupmod –n N02 N02_K20
# đổi tên nhóm $sudo groupmod –n [tennhommoi] [ten nhomcu]
$sudo groupdel N02 # Xóa nhóm
$sudo userdel –r nt_an
#Xóa tài khoản người dùng
Bài 9 Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục /home/ubuntu:
a.Tạo thư mục KiemTra trong thư mục hiện hành, thiết lập quyền truy cập cho thư mục này sao
cho u=rwx cấm tất cả các quyền đối với nhómnhững người dùng khác. Gợi ý: $mkdir KiemTra $chmod 700 KiemTra
b. Tạo file vidu1.txt trong thư mục kiểm tra bằng lệnh cat và nhập nội dung "Đây là bài kiểm
tra số 2, không được mở tài liệu trong quá trình làm bài" Gợi ý $cd KiemTra
c. Tạo thư mục KetQua trong thư mục /home và sao chép file vidu1.txt trong câu b sang thư
mục KetQua vừa tạo.
d. Viết lệnh xem nội dung thư mục thư mục KetQua đ愃̀ tạo trong câu c.
e. Viết lệnh in ra màn hình tất cả các file có đuôi .txt tại thư mục hiện hành.
f. Xoá thư mục KiemTra và thư mục KetQua vừa tạo.
Bài 10. Thực hiện các lệnh tạo một tài khoản người dùng có tên tài khoản nvmanh, thư mục làm
việc /home/nvmanh, chú thích 'Nguyen Van Manh'.
Bài 11. Đăng nhập vào tài khoản vừa tạo ở câu 10, thực hiện các lệnh sau trên Terminal
1. Tạo thư mục HDH trong thư mục hiện hành 14 lOMoARcPSD| 41967345
2. Tạo các thư vuamục TaiLieu BaiTap trong thư mục HDH.
3. Tạo file danhsach.txt trong thư mục TaiLieu với nội dung như sau (gồm 4 trường: stt,
họ tên, điểm, địa chỉ):
1 - Nguyen Huu Cong - 9.4 – Thai Nguyen
2 - Tran Van Thai - 8.7 - Bac Giang
3 - Chu Thi Huong - 7.5 - Hoa Binh
4 - Nguyen Minh Anh - 6.3 - Thai Nguyen
4. In ra 2 dòng đầu tiên của file danhsach.txt trong câu 3.
5. Lấy ra trường 2 trường họ tên, điểm và lưu vào file diem.txt trong thư mục TaiLieu.
6. Xóa dòng thứ 2 trong file danhsach.txt và lưu kết quả vào file danhsach1.txt.
7. Đổi tên thư mục TaiLieu trên thành thư mục TaiLieu1.
8. Tạo file vd1.txt trong thư mục BaiTap và nhập nội dung như sau (số thứ tự, m愃̀ số, tên thiếtbị): 1. MS001 Laptop 2. MS002 PC 3. MS003 Mouse 4. MS004 Keyborad 5. MS004 Speaker
9. In ra các dòng có chứa d愃̀y ký tự 'ey'.
10. In ra các cột số thứ tự và tên thiết bị
11. Xóa các dòng 2 và 3 rồi lưu kết quả vào file vd2.txt.
12. Tạo 2 file name.txtdiachi.txt như sau trong thư mục HDH: name.txt: diachi.txt: MS01 - Hung MS01 - Thái Nguyên MS02 – Mạnh MS02 - Bắc Giang MS03 – Hằng MS03 - Hà Nội
H愃̀y viết lệnh để tạo ra file name_diachi.txt có cấu trúc như sau: name_diachi.txt: MS01 – Hung - Thái Nguyên MS02 – Manh - Bắc Giang MS03 – Hằng - Hà Nội 15 lOMoARcPSD| 41967345
$join –j 1 name.txt diachi.txt >> name_diachi.txt
13. Xem nội dung của thư mục HDH.
14. Xóa thư mục HDH vừa tạo trên.
Bài 12. Đăng nhập vào Ubuntu, thực hiện các lệnh sau trên Terminal
a. Tạo thư mục BaiTap trong thư mục hiện hành (/home/ubuntu).
b. Tạo file vd1.txt sử dụng lệnh touch trong thư mục BaiTap
c. Ghi kết quả đầu ra của lệnh ls vào file vd1.txt vừa tạo trong câu b.
d. Đổi tên file vd1.txt thành file vd2.txt.
e. Tạo ra file vd3.txt trong thư mục BaiTap bằng cách sử dụng lệnh cat > và nhập vào nội dung sau: This is my example My name is Mr Minh
I’m a student of ICTU nhấn ctrl+D
để kết thúc việc nhập.
f. Tạo mới thư mục BT trong thư mục hiện hành.
g. Tạo một file file1.sh trong thư mục BaiTap bằng lệnh touch.
h. Sao chép các file có đuôi .txt trong thư mục BaiTap sang thư mục BT.
i. Xóa file vd2.txt trong thư mục BT.
k. Xem số ký tự, số từ, số dòng trong file vd3.txt sử dụng lệnh wc Bài
13. Đăng nhập vào Ubuntu, thực hiện các lệnh sau trên Terminal a.
Tạo một file bai1.txt trong thư mục hiện hành rồi nhập vào nội dung:
Để thực hiện sao chép nội dung của 2 file trong Linux cần sử dụng lệnh cp với 2 tham số
là file nguồn và file đích. Trong trường hợp tham số thứ 1 là file nguồn và tham số thứ 2
là thư mục thì lệnh cp sao chép file nguồn vào thư mục.
b. Tạo một file bai2.txt trong thư mục hiện hành.
c. Sao chép nội dung của file bai1.txt sang file bai2.txt
d. Tạo 2 thư mục dir1dir2 trong thư mục hiện hành
e. Sao chép 2 file bai1.txt và file bai2.txt vào thư mục dir1
f. Sao chép tất cả các file có đuôi .txt vào trong thư mục hiện hành vào thư mục dir2
g. Xóa tất cả các file có đuôi .txt trong thư mục hiện hành. 16 lOMoARcPSD| 41967345
h. Đếm số lượng file và thư mục trong thư mục hiện hành (sử dụng lệnh ls kết hợp với lệnh wcvới tùy chọn –l)
Bài 14: Đăng nhập vào hệ thống Linux, rồi khởi động shell bash và thực hiện các công việc sau:
a. Tạo thư mục UNIX trong thư mục hiện hành
b. Tạo file test.txt trong thư mục UNIX
c. Ghi kết quả đầu ra của ls đối với thư mục hiện hành vào file test.txt, xem kết quả nội dung củafile test.txt.
d. Xem nội dung của file test.txt bằng cách đổi các ký tự chữ thường thành chữ hoa.
e. Đếm số dòng, và số từ của file test.txt
Bài 15 Thực hiện các lệnh sau, biết rằng khi đăng nhập vào hệ thống đứng tại thư mục /home/ubuntu:
1. Tạo thư mục mang tên của bạn
2. Đổi tên thư mục LOPN03
3. Tạo thư mục mang tên Baithuchanh trong thư mục hiện hành
4. Sao chép thư mục LOPN03 vào thư mục Baithuchanh
5. Xem nội dung của thư mục Baithuchanh
6. Xóa thư mục LOPN03 ở thư mục hiện hành 7. Xoa thư mục Baithuchanh
Bài 16. Viết kịch bản shell cho phép nhập vào một mảng các số nguyên n phần tử rồi thực hiện:
1. In mảng vừa nhập ra màn hình
2. In ra các số chia hết cho 2 (hoặc 3,4,5 …) trong mảng
3. In ra số âm lớn nhất trong mảng/ Số dương nhỏ nhất trong mảng/ số chẵn
lớnnhất (nhỏ nhất) trong mảng/ Số lẻ lớn nhất (số nhỏ nhất) trong mảng/ số lớn
nhất / số nhỏ nhất
4. Sắp xếp mảng các phân tử chẵn theo chiều tăng dần/ hoặc giảm dần
5. Tính tổng các phần tử chẵn/lẻ
6. Tìm vị trí của phần tử max/ min ….
7. Tìm phần tử x trong mảng với x nhập từ bàn phím
Bài 17. Viết các kịch bản shell thực hiện các yêu cầu sau:
a. Nhập vào 1 xâu ký tự từ bàn phím.
b. Đếm đồ dài của chuỗi vừa nhập 17 lOMoARcPSD| 41967345
c. Đổi các ký tự thường thành ký tự hoa của xâu ban đầu
d. Đếm xem xâu có bao nhiêu từ ở trong xâu.
e. Đếm xem ký tự 'c' xuất hiện bao nhiêu lần trong xâu.
f. In ra màn hình xâu theo chiều ngược lại.
Bài 18: Viết chương trình nhập vào n (với 0
+ Nếu k=1 thì in ra s = 1+2+....+n
+ Nếu k =2 thì in ra s= 1+3+5+.....
+ Nếu k=3 thì in ra s= 2+4+6+......
+Nếu k=4 in ra s = 1*2*3.....*n
+ Các trường hợp còn lại in ra ‘ Lựa chọn không hợp lệ ‘
Bài 19 Viết chương trình Shell tính tổng sau:
S(x,n) = x/1 + x2/(1*2)+x3/(1*2*3)+……. + x n /(1*2*….*n)
Với x,n được nhâp từ bàn phím và x ≠ 0, n>=1̣ Gợi ý:
Bài 20 Viết chương trình Shell tính tổng sau:
S(x,n) = -x + x2-x3 +……. + (-1)nx n
Với x,n được nhâp từ bàn phím và x ≠ 0,n >0̣ Gợi ý : - tu=1 - s=0 - for … tu=tu*x + nếu i%2 =0 S=s+tu Else S=s-tu Fi Done Echo “ s”
Bài 21 Viết chương trình Shell tính tổng sau:
S(x,n) = -x+1/ x2 -x3 +1/x4 -..... - x n
Với x,n được nhâp từ bàn phím và x ≠ 0, n > 0̣ Gợi ý 18 lOMoARcPSD| 41967345 Tu=1 S=0 For Tu=tu*x If i%2 =0 S=s+1/tu Else S=s-tu Fi Done Echo “s”
Bài 22 Viết chương trình Shell tính tổng sau:
S(x,n) = x + x3+x5+……. + x 2n+1
Với x,n được nhâp từ bàn phím và x ≠ 0,n >1 ̣ Gợi ý - s=$x tu=$x for tu=tu*x*x s=s+tu
Bài 23 Viết chương trình Shell tính tổng sau:
S(x,n) = x/(2*12) + x2/(2*22)+x3/(2*32)+……. + x n /(2*n2)
Với x,n được nhâp từ bàn phím và x ≠ 0,n >1̣ Gợi ý - tu=1 mau=1 s=0 for tu=tu*x mau=2*$i*$i s=s+tu/mau done echo s 19 lOMoARcPSD| 41967345
Bài 24 Viết chương trình Shell tính tổng sau S(x,n) = x2 + x4 +x6 +……. + x2 n
Với x,n được nhâp từ bàn phím và x ≠ 0,n > 0̣ Gợi ý - s=0 tu=1 for tu=tu*x*x s=s+tu done echo s
Bài 25 Giải phương trình ax2 + bx + c = 0 . Với a,b,c nhập vài từ bàn phím ( với a khác 0).
Bài 26 Giải hệ phương trình
Với a1,b1,c1,a2,b2,c2 nhập vào từ bàn phím.
Bài 27 Viết chương trình Shell tính tổng sau:
S(x,n) = x/1 + x2/(1*2)+x3/(1*2*3)+……. + x n /(1*2*….*n)
Trường hợp 1 Với x,n được nhâp từ bàn phím và x ≠ 0, n>0̣
Trường hợp 2 Với x,n được nhâp từ bàn phím và x ≠ 0̣ 20