Các lãi mắc phải và giải pháp Mã lỗi: #001 Tên lỗi: Lỗi cai đặt Ubuntu không thẻ tương tác với ứng dụng.. Giải pháp: Ở phản cài đặt máy áo chọn hệ điều hành Linux.. Mã lỗi: #002 Tên lỗi
Trang 1BAI HOC QUOC GIA THANH PHO HO CHi MINH TRƯỜNG ĐẠI HỌC CONG NGHE THONG TIN
KHOA KHOA HQC VA Ki THUAT THONG TIN
Ze
HE DIEU HANH BAO CAO DE TAI: TONG HOP NHU'NG LOI MAC PHAI
TRONG CAC BAI LAB
GVHD: Nguyễn Hữu Lượng
Lúp: IT007.O215
Sinh viên thực hiện: Hoàng Thanh Sơn_22521250
ˆ— Tp Hồ Chí Minh, 06/2024 —™
Trang 2I LAB 1: HUONG DAN CAI DAT UBUNTU VA CAC LENH CO BAN CUA SHELL
1 Tóm tat tiến độ bài tập
2 Các lãi mắc phải và giải pháp
Mã lỗi: #001
Tên lỗi: Lỗi cai đặt Ubuntu không thẻ tương tác với ứng dụng
Mô tá lỗi: Máy áo chọn file iso ở phản cài đặt
Giải pháp: Ở phản cài đặt máy áo chọn hệ điều hành Linux Sau khi cài đặt và chạy máy áo thành công, chon file Iso va cai dat Ubuntu
Mã lỗi: #002
Tên lỗi: Lỗi cấp bộ nhớ cho máy áo
Mô tá lỗi: Cấp bộ nhớ cho máy áo quá ít, dẫn đến Ubuntu chạy trên VirtualBox quá lag, hoặc
không thé chạy được
Giái pháp: Cấp cho máy áo bộ nhớ vừa đủ dựa trên cấu hình của máy thật
Mã lỗi #003
Tên lỗi: Lỗi không tìm tháy file hoặc đường dẫn
No such file or directory
Mô tá lỗi: Lỗi không tìm tháy file hoặc đường dẫn nên không thé chuyền vẻ thư mục như yêu cảu
Giái pháp: Kiêm tra lại cú pháp câu lệnh chuyền đến, sửa lại cho đúng câu lệnh
Mã lỗi: #004
Tên lỗi: Lỗi “Permission denied”
Trang 3Mô ta lỗi: Không được cấp quyên truy cập thé thực hiện câu lệnh
Giái pháp: Thêm câu lệnh sudo ở trước đề cung cáp quyên truy cập
II LAB 2: LAP TRINH TRONG MOI TRUONG SHELL
1 Tóm tat tiến độ bài tập
2 Các lỗi mắc phải và giải pháp
Mã lỗi #005
Tên lỗi: Lỗi syntax
Mô tá lỗi: Gõ lệnh bị sai
Command 'getdtt' not found, did you mean:
command 'gedtt' from snap gedit (46.1)
command 'gedtt' from deb gedit (3.38.1-1)
See 'snap info <snapname>' for additional versions
Giải phap: Sita lai syntax tu “getdit” sang “gedit”
Mã lỗi #006
Tên lỗi: Thiếu operand
Mô tá lỗi: ghi thiếu “chmod” trước if-control.sh
: missing operand after ‘if-control.sh’
‘chmod help' for more information
Giải pháp: thêm “chmod” trước if-control.sh
Mã lỗi #007
Tên lỗi: không chạy được chương trình
Mô ta lỗi: Không định nghĩa được sum: “n° và sum: 0
Trang 4sum: '=': No such file or directory
sum: @: No such file or directory
Giải pháp: Sửa lại ham code
1|#!/btn/sh
2
3 echo
4sum = 0
5S read n
6
7 whtte [ $n -Lt 16 ]
8 do
9 echo
10 read n
11 done
12
i3it=1
14 while [ $i - le $n ]
15 do
16 sum=$((sum + i))
18 done
Mã lỗi #008
Tên lỗi: Bị sai toán tử
Mô ta lỗi: Viết sai dẫn đến kết quá truy xuất bị sai
Nhap so n
ale
./Bai3.sh: 14: [: 1: unexpected operator Tong cac so tu 1 de 13 la: 0
Giải pháp: Sửa lại ham code
Trang 52
3 echo
4 sum=0
5 read n
6
7while [ $n -Lt 16 ]
8 do
9 echo
10 read n
11 done
12
23 Axi
14 while [ $i -le $n ]
15 do
16 sum=$((sum + i))
18 done
Kết quá truy xuất cuối cùng:
Tong cac so tu 1 de 14 la: 105
Mã lỗi #010
Tên lỗi: Không truy xuất vô một tập tin cụ thé
Mô ta lỗi: Máy truy xuất không đúng file nên duyệt tát cá những file trên thư mục hiện hành : Desktop: Is a directory
: Documents: Is a directory
: Downloads: Is a directory
: Music: Is a directory
Pictures: Is a directory
Public: Is a directory
Templates: Is a directory
: Videos: Is a directory
snap: Is a directory
Giai phap: Truy van cé file cu thé bang lénh “cd LABO2”
$ cd LABO2
$ cd LABO2
Trang 6lll LAB 3: THEN TRINH VA TIEU TRINH
1 Tóm tat tiến độ bài tập
tập
2 Các lỗi mắc phải và giải pháp
Mã lỗi #011
Tén Léi: Léi “Command “vim” not found”
Mô tá lỗi: Lãi không tìm tháy lệnh vim
vim' not found, but can be installed with:
tnstaLL vim # version 2:8.2.2434-3ubuntu3
tnstaLL vim-ttny # version 2:8.2.2434- 3ubuntu3
install vim-athena # version 2:8.2.2434-3ubuntu3
install vim-gtk3 # version 2:8.2.2434-3ubuntu3
install vim-nox # version 2:8.2.2434-3ubuntu3
install neovim # version 0.4.4-1
Giải pháp: Câu lệnh vim chưa được cài đặt nên ta phải chạy cau lénh “Sudo apt install vim”
SUđO 3pE {nstal1 vịn RN g1 in
Do you want to continue? [Y/NỊ” và kết thúc việc cài đặt băng cách gõ y
Do you want to continue? [Y/n] y
Mã lỗi #012
Tên lỗi: Vẫn tiếp tục gặp lỗi ‘vim’
Mô ta lỗi: Không thẻ tìm tháy IP, và các lỗi vặt khác
Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/v/vim/vim-runtime _8.2.2434-3ubuntu3.2_all.deb 404 Not Found [IP: 115.165.161.155 80]
Failed to fetch http://security.ubuntu.com/ubuntu/pool/main/v/vim/vim_8.2.243 4-3ubuntu3.2_amd64.deb 404 Not Found [IP: 115.165.161.155 80]
Unable to fetch some archives, maybe run apt-get update or try with fix-mis sing?
Giải pháp: cập nhật với dòng lệnh ‘apt-get update’
S$ apt-get update
Trang 7Tên lỗi: Lỗi quyền truy cập và không thẻ tìm thấy địa chi IP
Mô tá lỗi: Lỗi quyền truy cập và không thẻ tìm tháy địa ch¡ IP
Reading package lists Done
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denie
d)
E: Unable to lock directory /var/lib/apt/lists/
W: Problem unlinking the file /var/cache/apt/pkgcache.bin - RemoveCaches (13: rmission denied)
W: Problem unlinking the file /var/cache/apt/srcpkgcache.bin - RemoveCaches (13: Permission denied)
E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/g/gcc-11/libstd c%2b%2b-11-dev_11.2.0-7ubuntu2_amd64.deb 404 Not Found [IP: 103.160.78.118 80] Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/g/gcc-11/g%2b%2 b-11_11.2.0-7ubuntu2_amd64.deb 404 Not Found [IP: 103.160.78.118 80]
E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/m/make-dfsg/mak
E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/1/1lto-disabled-
Llist/1Lto-disabled-list_16_all.deb 404 Not Found [IP: 103.160.78.118 80]
Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/d/dpkg/dpkg-dev _1.20.9ubuntu2_all.deb 404 Not Found [IP: 103.160.78.118 80]
E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/b/build-essenti al/build-essential_12.9ubuntu2_amd64.deb 404 Not Found [IP: 103.160.78.118 80] E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/f/fakeroot/libf
akeroot_1.25.3-1.1ubuntu2_amd64.deb 404 Not Found [IP: 103.160.78.118 80]
E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/f/fakeroot/fake root_1.25.3-1.1ubuntu2_amd64.deb 404 Not Found [IP: 103.160.78.118 80] E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/liba/libalgorit hm-diff-xs-perl/lLibalgorithm-diff-xs-perl_0.04-6buildi1_amd64.deb 404 Not Found [IP: 103.160.78.118 80]
E: Failed to fetch http://vn.archive.ubuntu.com/ubuntu/pool/main/g/glibc/libc-de vtools_2.34-Oubuntu3_amd64.deb 404 Not Found [IP: 103.160.78.118 80]
E: Unable to fetch some archives, maybe run apt-get update or try with fix-mis sing?
Giải pháp: Sử dụng lệnh “sudo apt-get install build-essential” dé cap quyén truy cập tài nguyên vào trong hệ thống
Mã lỗi #014
Tên lỗi: Lỗi “Permission denied”
Mô tá lỗi: Không được quyền thực thi file exercise_2.c
Giải pháp: Xài câu lệnh Chmod+x exercise_ 2.c
Mã lỗi #015
Trang 8Tên lỗi: Lỗi cú pháp
Mô tá lỗi: Ghi thiếu syntax
REBUM SAS SL
# University of Information Technology
# IT007 Operating System
#<Your name>, <your Student ID>
# File: exercise_2.c 4
#include<stdio.h>
int main(){
pid_t pid:
int num_coconuts = 17;
pid = fork():
if(pid == 0) {
num_coconuts = 42:
extt(0);
} else {
wait(NULL); /*wait until the child terminates */
printf("I see %d coconuts!\n", num_coconuts):
exit(0);
}
Trong quá trình gõ tay, em đã ghi sai cú pháp
Giải pháp: Sửa lại từ “=” thành “==” Dưới đây là kết quá sau khi thực hiện lại chương trình
Iv LAB 4: LAP LICH TIEN TRINH
1 Tóm tat tiến độ bài tập
2 Các lỗi mắc phải và giải pháp
Mã lỗi #016
Trang 9Tên lỗi: Không tìm được lệnh “g++”
Mô tả lỗi: không tìm được lệnh “g++”
S$ gedit sjf.cpp S$ g++ sfp.cpp -o sjf ommand 'g++' not found, but can be installed with:
Sudo apt install g++
Giải pháp: Cập nhat vai lénh “sudo apt install g++”
Mã lỗi #017
Tên lỗi: Vẫn tiếp tục gặp lỗi cập nhật
Mô tá lỗi: Vẫn tiếp tục gặp lỗi cập nhật
Unable to fetch some archives, maybe run apt-get update or try with fix-missing?
Giải pháp: Cập nhật với dòng lệnh ở phía bên dưới, néu không thành công thì tiếp tuc calj nhật với lệnh dưới thêm
Mã lỗi #018
Tên lỗi: Lỗi syntax không chạy được chương trình
Mô tá lỗi: Gặp các lỗi syntax cũng như là con trỏ, địa chỉ nên không thẻ chạy được chương trình
Giái pháp: Sau khi sửa các lỗi syntax và con trỏ thì đây là chương trình hoàn thiện
1 / *EWHWHWHHHEHIHUHUHEHHNHNHHRENHHHIHHHHHHHER
2# University of Information Technology
3 # IT007 Operating System
4# Hoang Thanh Son, 22521250
S# File: fcfs.cpps
CÁ 222242//0401040//0/040042/002/4220200
7
8 #include
9 #include
10 #include
12 struct Process {
1 string name;
14 int arrivalTime;
as int burstTime;|
16 int responseTime;
17 int waitingTine;
18 int turnaroundTime;
19}
28
21 booL conpareArrLvaLTtme(const Process& p1, const Process& p2) {
22 return pi.arrivalTime < p2.arrivalTime;
23}
24
25 bool compareBurstTime(const Process& pl, const Process& p2) {
26 return pl.burstTime < p2.burstTime;
27}
28
29 void calculateStatistics(const Process&, processes) {
38 int totalwaitingTime = 0;
31 int totalTurnaroundTime = 6;
Trang 10
34 Process& process = processes[i];
35
/{ Tinh response time
37 process.responselime = totalTurnaroundTime - process.arrivallime;
38
39 /{ Tinh waiting time
40 process.waitinglime = totalTurnaroundTime - process.arrivallime;
41
/{ Tinh turnaround time
43 process.turnaroundTime = process.waitingTime + process.burstTime;
44
45 totalwaitingTime += process.waitingTime;
46 totalTurnaroundTime += process.turnaroundTime;
47 }
48
49 double averagewaitingTime = static_cast<double>(totalwaitingTime) / processes.size();
58 double averageTurnaroundTime = stattc_cast<double>(totalTurnaroundTime) / processes.size();
51
cout << t e\t \ Tine\n";
53 for (const auto& process : processes) {
54 cout << process.name << "\t" << process.responseTime << "\t\t" << process.waitingTime << "\t\t" << process turnaroundTime << "\n";
55 }
56
cout << "\n T << averagewatttngTtne << '\n”;
58 cout << “A T << averageTurnaroundTtme << '\n';
59}
6
61 tnt matn() {
62 int numProcesses;
63 cout << "F € e $
64 cin >> numProcesses;
65
vector<Process> processes(numProcesses);
67
for (int i = 0; i < numProcesses; i++) {
69 Process& process = processes[i];
78
71 cout << 'f <c i +1 <e ":\n";
72 cout << ame Ệ
73 cin >> process.name;
74 cout <<
T5 cin >> process sacrivalrine;
76 cout <<
7 cin >> process burstTine;
78 }
79
88 sort(processes.begin(), processes.end(), comparearrivalTine);
81
caLculateStattsttcs(processes);
a3
84 return 9;
8s}
86
v LAB 5: DONG BỘ HÓA TIỀN TRÌNH, TIỂU TRINH
1 Tóm tất tiến độ bài tập
5.3
Tên lỗi: Không thẻ chạy được đoạn code
Trang 11Mô tá lỗi: Viết đoạn code bị sai không thế chạy được
Giải pháp: Sửa lại ham code hoàn chỉnh dưới đây
8 #include
16 #include
11
12 int sells = 0, products = 6;
13 sem_t semi, sem2;
14
15 void *ProcessA(votd* mess){
16 white( : ){
17 sem_wait(&sem1);
18 sells++;
19 prtntf( Xd\n", sells);
20 sem_post(&sem2);
21 }
22}
23
25 void *ProcessB(void* mess){
26 while(i){
27 sem_watt(&sem2);
28 products++;
29 prtntf( “d\n”, products);
30 sem_post(&sem1);
31 }
32}
33
34
35 int main(){
36 sem_init(&semi, ©, ©);
37 sem_init(&sem2, 6, 33
38 pthread_t pA, pB;
39 pthread_create(&pA, „ &ProcessA, );
40 pthread_create(&pB, „ &ProcessB, ds
41 while(i){}
42 return ©;
43}
44
Mã lỗi #020
Tên lỗi: Chưa khai báo thư viện
Mô ta lỗi: Chưa khai báo thư viện Ipthread và Irt
Giải pháp: Ghi thêm dòng lệnh nonsem.c -o nonsem - Ipthread -lrt
Mã lỗi #021
Tên lỗi: Ghi thiết syntax trong đoạn code dẫn đén không chạy được chương trình
Trang 12Mô tá lỗi: ghi thiếu & trước semG va busy
Giái pháp: Viết lại chương trình ta có đoạn code hoàn chỉnh như bên dưới
void* ProcessAB(void* mess){
while(i}{
w= xl*x2;
i
i
em_ post (&semCD extra);
m post (&semAB) ;
+ + (&busy Ì ;
Mã lỗi #022
Tên lỗi: Lỗi lặp vô tận
Mô tá lỗi: Đoạn code cư tiếp tục chạy khiến không thẻ thực hiện các thao tác nào khác Giải pháp: Ân tổ hợp phím Ctrl + © để dừng lại chương trình
VI LAB 6: QUÁN LÝ BỘ NHỚ
1 Tóm tất tiến độ bài tập
Bai 2 Hoan thanh
2 Giai bai tap
1 Nghich ly Belady la gi? Str dung chvong trinh da viết trên để chứng minh nghịch lý này Nghịch lý Belady là là một hiện tượng nghịch lý xáy ra trong quán lý bộ nhớ áo của hệ điều hành Nghịch lý này cho tháy răng, tỷ lệ lỗi trang có thế tăng khi số khung trang được phân
bổ cho một tiến trình tăng
Sử dụng chương trình đã viết trên đề chứng minh nghịch lý này:
Trang 13Default referenced sequence
Manual input sequence
F¿
Nhap so tuong: 12
Nhap danh sach trang: 1 2 3 412512345
Page Replacement algorithm -
Input page frames: 3
Select algorithm
1 FIFO algorithm
2 OPT algorithm
3 LRU aLgortthm
Enter tnput
F¿ 5
n
3
bÌ °
3 3 F¿ as
l
Page Fault: 9
Page Replacement algorithm -
Default referenced sequence
Manual input sequence
F¿
Nhap so tuong: 12
Nhap danh sach trang: 123412512345
Page Replacement algorithm
Input page frames: 4
Select algorithm
FIFO algorithm
OPT algorithm
LRU algorithm
Enter Ml oleh
age Replacement algorithnm -
BI 7 eet He Ke - 5
1 1
ys F¿
3 3
a 1
*
Number of Page Fault: 10
sh: 1: pause: not found
Từ đữ kiện trên, ta có thế thay rang: Voi 3 frame co 9 lỗi trang Với 4 frame có 10 lỗi trang
2 Nhận xét về mức độ hiệu quả và tính khá thi của các giái thuat FIFO, OPT, LRU
Nhận xét:
-Giái thuật FIFO: là giải thuật đơn gián, nhưng có tính hiệu quả tháp.