BÁO CÁO BÀI TẬP LỚN
HỆ ĐIỀU HÀNH
Đề tài:
Tìm Hiểu Về Biên Dịch Kernel Cấu Hình Lại Trên Một Hệ Điều Hành
Nhân Unix Để Cài Đặt Trên Máy Chưa Có Hệ Điêu Hành
Giảng Viên Hướng Dần: TS. Phạm Dỗn Tĩnh
Nhóm:10
Trần Văn Huyện
20153
Nguyễn Thanh Lộc
20152304
Nguyễn Sĩ Khiêm
2015
Nguyễn Văn Thanh
20153332
Nguyễn Anh Tuấn
LỜI NHẬN XÉT CỦA GIẢNG VIÊN
Hà Nôi,Ngày tháng năm 2019
Giảng Viên
MỤC LỤC
DANH MỤC HÌNH ẢNH
DANH MỤC BẢNG BÌỂỤ
PHAN A. LỜI NÓI ĐẦU
Hệ điều hành (Operating System-OS) là một phần mềm chạy trên máy tính và các
thiết bị di động ,dùng để điều hành,quản lý các thiết bị phần cứng và các tài nguyên phần
mềm trên máy tính và các thiết bị di động..Hệ điều hành quản lý các tài nguyên máy tính
bao gồm:Các thiết bị đầu vào như bàn phím và cht, Các thiết bị đầu ra như màn hình
hiển thị, máy in và máy quét, Các thiết bị mạng như modem, bộ định tuyến và kết nối
mạng, Các thiết bị lưu trữ như ổ đĩa trong và ngoài. Hệ điều hành cũng cung cấp các dịch
vụ để tạo thuận lợi cho việc thực hiện và quản lý hiệu quả và phân bổ bộ nhớ cho bất kỳ
chương trình ứng dụng phần mềm được cài đặt bổ sung nào.
Hệ điều hành bao gồm nhiều thành phần và tính năng. Những tính năng nào được
định nghĩa là một phần của hệ điều hành sẽ khác nhau tùy theo từng hệ điều hành. Tuy
nhiên, ba thành phần dễ dàng xác định nhất là:
>
Kernel: Kernel cung cấp các điều khiển mức cơ bản trên tất cả các thiết bị phần
cứng máy tính. Các vai trị chính bao gồm: đọc dữ liệu từ bộ nhớ và ghi dữ liệu
vào bộ nhớ, xử lý các lệnh thực hiện, xác định cách dữ liệu được nhận và gửi
bởi các thiết bị như màn hình, bàn phím, chuột và xác định cách diễn giải dữ
liệu nhận được từ mạng.
>
Giao diện người dùng: User Interface cho phép việc tương tác với người dùng
thông qua các graphical icons và một desktop hoặc thông qua một command
line
>
Giao diện lập trình ứng dụng: Application Programming Interfaces cho phép
các application developers viết modular code.
Các thành phần của hệ điều hành rất phức tạp , trong khuôn khổ một bài tập lớn
chúng em chỉ tập trung vào việc tiềm hiểu nhân kernel là thành phần trung tâm của hệ
điều hành.Vì vậy chúng em lựa chọn đề tài “Tìm Hiểu về Biên Dịch Kernel Cấu Hình
Lại Trên Một Hệ Điều Hành Nhân Unix Để Cài Đặt Trên Máy Chưa Có Hệ Điêu
Hành”. Trong thời gian tìm hiểu và làm đề tài dựa vào kiến thức đã được học ởtrường,
qua một số sách, tài liệu có liên quan cùng với sự giúp đỡ tận tình của thầy
cô giáo,các bạn và đặc biệt là với sự hướng dẫn tận tình của thầy Phạm Dỗn Tĩnh .
Mặc dù đã cố gắng hoàn thành nhưng với kinh nghiệm và khả năng cịn hạn chế
nên chúng em khơng thể tránh khỏi những sai sót và nhầm lẫn, vì vậy chúng em rất
mong các thầy, cơ giáo cùng các bạn đóng góp những ý kiến quý báu để chúng em
có thể hoàn thiện đề tài này.
Chúng em xin chân thành cảm ơn!
PHAN B.NỘI DUNG
Chương I.Cơ sở lý thuyết
1.1.
Hệ điều hành nhân unix/linux
1.1.1.
Hệ điều hành nhân unix
Unix hay Unix là một hệ điều hành tính viết vào những năm 1960 và 1970 do một số
nhân viên của công ty AT&T Bell Labs bao gồm Ken Thompson,Dennis Ritchie và
Douglas Mcllroy.Từ góc nhìn người dùng chun nghiệp và lập trình viên,Hệ thống
Unix có đặc điểm là thiết kế theo module,đơi khi cịn gọi là triết lý Unix,nghĩa là hệ điều
hành cung cấp một tập hợp các công cụ đơn giản,mỗi công cụ chỉ thực hiện những chức
năng giới hạn và được định nghĩa rõ ràng ,với hệ thống file hợp nhất là phương tiện chính
để giao tiếp và phần lập trình vỏ và ngơn ngữ lệnh để kết hợp các công cụ để thực hiện
chức năng phức tập,Ngày nay hệ điều hành Unix được phân ra thành nhiều nhánh khác
nhau,nhánh của AT&T,nhánh của một số nhà phân phối thương mại và nhánh của những
tổ chức phi lợi nhuận.Unix có thể chạy trên nhiều loại máy tính khác nhau,,từ những máy
tính cá nhân cho đến các máy chủ dịch vụ.Nó là một hệ điều hành đa nhiệm hỗ trợ một
cách lý tưởng đối với các ứng dụng nhiều người dùng.Unix được viết bằng ngôn ngữ lập
trình C,một ngơn ngữ rất mạnh và mềm dẻo.Unix hỗ trợ các ứng dụng mạng và hỗ trợ
nhiều môi trường lập trình khác nhau.Với hàng trăm lệnh và một số lượng lớn các tùy
chọn,Unix thực sự là một khó khăn đối với người mới bắt đầu.Với sự phát triển của các
shell Unix hệ điều hành này đã trở nên phổ dụng hơn trong các lĩnh vực điện tốn.
Vì Bell Laboratories bị cấm khơng cho phép tiếp thị Unix vì lệnh chống độc quyền
đối với AT&T nên Unix đã được cung cấp miễn phí cho các trường đại học trên tồn Bắc
Mỹ từ năm 1976.Sau khi đã được ưa thích trong các lĩnh vực công nghệ,AT&T đã giành
được quyền tiếp thị đối với Unix và cho ra đời System V vào năm 1983.Cho đến nay
Unix vẫn được sử dụng rất rộng rãi trong thị trường máy chủ.
1.1.2
.Hệ điều hành nhân linux
Linux là một hệ điều hành nguồn mở dựa trên Unix. Nói một cách chính xác, thuật
ngữ “Linux” được sử dụng để chỉ nhân Linux (Linux kernel).Phiên bản đầu tiên do Linux
Torvalds viết vào năm 1991,lúc ơng cịn l à một sinh viên của Đại học Helsinki tại Phần
Lan. Ông làm việc một cách hăng say trong vòng 3 năm liên tục và cho ra đời phiên bản
Linux 1.0 vào năm 1994. HĐH hoàn chỉnh được dựng lên từ Linux Kernel kết hợp với
các ứng dụng khác làm việc trên đó thì gọi vắn tắt là Linux OS, các phiên bản biến thể
khác nhau của Linux OS được cộng đồng xây dựng sẵn gọi là các Linux distro, mỗi
Linux distro lại có thể có nhiều version.
Hệ điều hành Linux có cả giao diện người dùng đồ họa (GUI) cũng như giao diện
dịng lệnh (CLI). KDE và GNOME là 2 mơi trường GUI khác nhau của HĐH Linux.
Linux thường được phân phối miễn phí, tải xuống miễn phí, nhưng cũng có một số
bản phân phối Linux có phí như Red Hat Linux, nhưng chúng thường rẻ hơn Windows.
Linux là một hệ điều hành rất linh hoạt và tương thích với hầu hết các hệ thống phần
cứng. Hệ điều hành Linux có thể được cài đặt và thực thi trên hầu hết mọi thiết bị có bộ
xử lý. Vì nó rất linh hoạt và nhanh nhẹn, Linux có thể được cài đặt trên nhiều loại phần
cứng máy tính, từ điện thoại di động, máy tính bảng và máy chơi game, đến máy tính lớn
và siêu máy tính.
Linux OS là một HĐH mã nguồn mở, mã nguồn của nó có sẵn miễn phí. Do đó, bạn
có thể đọc, sửa đổi và triển khai nó trên máy của mình. Tuy nhiên, bạn khơng thể bán nó
vì nó thuộc Giấy phép GPL GNU.
Linux có khả năng mở rộng cao và hỗ trợ một tập hợp lớn các hệ thống file (file
systems) như: xfs, ramfs, nfs, vfat, cramfsm ext3, ext4, ext2, extl, ufs, autofs, devpts,
ntfs... Việc cài đặt Linux nói chung rất kinh tế so với Unix vì nó khơng u cầu phần
cứng đặc biệt để chạy và bản thân hệ điều hành này thì như đã nói, là miễn phí hoặc rất
rẻ.
Linux có một sơ các distro sau:
•
Redhat
•
Kali
•
Slackware
•
Debian
•
ArchLinux
•
Solaris
•
Ubuntu
•
CentOS
•
Fedora
HĐH Linux rất an tồn. Linux chỉ có khoảng 60 - 100 virus được liệt kê cho đến nay,
tuy nhiên, ngày nay khơng có loại virus nào tích cực lây lan.
Linux ban đầu được phát triển cho CPU Intel86 x86. Tuy nhiên, hiện tại nó support
rất nhiều loại CPU khác nhau bao gồm ARM.
1.2.Kernel
1.2.1
Cấu trúc
Vào năm 1991, dựa trên UNIX kernel, Linus Torvalds đã tạo ra Linux kernel chạy
trên máy tính của ơng ấy. Dựa vào chức năng của hệ điều hành, Linux kernel được chia
làm 6 thành phần
Hình 1. Kiến trúc của kernel đứng ở góc độ quản lý
•
Process management: có nhiệm vụ quản lý các tiến trình, bao gồm các
cơng việc:
•
Tạo/hủy các tiến trình.
•
Lập lịch cho các tiến trình. Đây thực chất là lên kế hoạch: CPU sẽ
thực thi chương trình khi nào, thực thi trong bao lâu, tiếp theo là
chương trình nào.
•
Hỗ trợ các tiến trình giao tiếp với nhau.
•
Đồng bộ hoạt động của các tiến trình để tránh xảy ra tranh chấp tài
ngun.
•
Memory management: có nhiệm vụ quản lý bộ nhớ, bao gồm các cơng
việc:
•
Cấp phát bộ nhớ trước khi đưa chương trình vào, thu hồi bộ nhớ khi
tiến trình kết thúc.
•
Đảm bảo chương trình nào cũng có cơ hội được đưa vào bộ nhớ.
•
Bảo vệ vùng nhớ của mỗi tiến trình.
•
Device management: có nhiệm vụ quản lý thiết bị, bao gồm các cơng việc:
•
Điều khiển hoạt động của các thiết bị.
•
Giám sát trạng thái của các thiết bị.
•
Trao đổi dữ liệu với các thiết bị.
•
Lập lịch sử dụng các thiết bị, đặc biệt là thiết bị lưu trữ (ví dụ ổ
cứng).
•
Networking management: có nhiệm vụ quản lý các gói tin (packet) theo
mơ hình TCP/IP.
•
System call Interface: có nhiệm vụ cung cấp các dịch vụ sử dụng phần
cứng cho các tiến trình. Mỗi dịch vụ được gọi là một system call.
•
File system management: có nhiệm vụ quản lý dữ liệu trên thiết bị lưu trữ
(như ổ cứng, thẻ nhớ). Quản lý dữ liệu gồm các cơng việc: thêm, tìm kiếm,
sửa, xóa dữ liệu
Khi triển khai thực tế Linux gồm các thư mục sau:
Thư mục
Vai trị
/arch
Chứa mã nguồn giúp Linux kernel có thể thực thi được trên nhiều
kiến trúc CPU khác nhau như x86, alpha, arm, mips, mk68,
powerpc, sparc,...
/block
Chứa mã nguồn triển khai nhiệm vụ lập lịch cho các thiết bị
/drivers
Chưa mã nguồn để triển khai nhiệm vụ điều khiển,giám sát,trao
đổi dữ liệu với các thiết bị
/fs
Chứa mã nguồn triển khai nhiệm vụ quản lý dữ liệu trên các thiết
bị
/ipc
Chứa mã nguồn triển khai nhiệm vụ giao tiếp giữa các tiến trình
/kernel
Chứa mã nguồn triển khai nhiệm vụ lập lịch và đồng bộ hoạt
động của các tiến trình.
/mm
Chứa mã nguồn triển khai nhiệm vụ quản lý bộ nhớ
/net
Chứa mã nguồn triển khai nhiệm vụ xử lý các gói tin theo mơ
hình TCP/IP.
Bảng 1. Một số thư mục trong mã nguồn của linux kernel
1.2.2
Hoạt động của kernel
Bộ nhớ RAM chứa các lệnh/dữ liệu dạng nhị phân của Linux kernel và các tiến trình.
RAM được chia làm 2 miền.
• Kernel
• User
space là vùng không gian chứa các lệnh và dữ liệu của kernel.
space là vùng không gian chứa các lệnh và dữ liệu của các tiến trình
Tiễn trình 1
ựoid maĩn() (
int a = 5 + 10;
printf(“%d", a);
int a = 5
printf(“%d", a);
Hình 1. kiến trúc của linux kernel đứng ở góc độ thực thi
CPU có 2 chế độ thực thi (hình 1.2):
•
Khi CPU thực thi các lệnh của kernel, thì nó hoạt động ở chế độ kernel mode. Khi
ở chế độ này, CPU sẽ thực hiện bất cứ lệnh nào trong tập lệnh của nó, và CPU có
thể truy cập bất cứ địa chỉ nào trong khơng gian địa chỉ.
•
Khi CPU thực thi các lệnh của tiến trình, thì nó hoạt động ở chế độ user mode.
Khi ở chế độ này, CPU chỉ thực hiện một phần tập lệnh của nó, và CPU cũng chỉ
được phép truy cập một phần không gian địa chỉ.
Để cho dễ hình dung, ta hãy liên tưởng thế này: CPU giống như bạn, tiến trình
giống như cơng việc của sếp giao cho bạn, cịn kernel giống như công việc của vợ giao
cho bạn. Khi bạn thực thi các việc của sếp, bạn chỉ thực hiện cho xong, khơng nỗ lực hết
mình, những việc nào mà ảnh hưởng đến quyền lợi của bạn thì bạn khơng làm. Thái độ
làm việc này của bạn giống như chế độ user mode của CPU. Khi bạn thực thi các việc
của vợ, bạn thực hiện các việc đó tồn tâm tồn ý, nỗ lực hết mình, dù cho đó là việc gì.
Thái độ làm việc này của bạn giống như chế độ kernel mode của CPU.
Để hiểu rõ hơn, ta xét tiến trình 1 trong hình 1.2. Tiến trình này gồm nhiều lệnh nhị
phân, tương ứng với 2 lệnh C. CPU sẽ lần lượt lấy các lệnh này ra và thực thi. Lệnh thứ
nhất, "a = 5 + 10", là một lệnh tính tốn, sẽ được CPU thực thi ở chế độ user mode. Lệnh
thứ hai, "printf("%d", a)", là một lệnh vào/ra. Hàm "printf' sẽ gọi system call "write" để
yêu cầu Linux kernel in thơng tin ra màn hình. Khi đó, CPU sẽ chuyển sang chế độ kernel
mode để thực thi các lệnh của Linux kernel.
Tiến trình yêu cầu cung cấp dịch vụ
Kernel mode
(process context)
Thực thi
tiên trình
User mode
Hồn thành xử !ý ngắt
Thực thi trình
phục vụ System cafl
Thiết bị gữi tín hiệu ngắt
Thiết bị gửi tín hiệu ngăt
Hồn thành xử lý ngai
Kernel mode
(interrupt context)
Thực thi trình
phục vụ ngắt
Hình 1. Các chế độ hoạt động của cpu
Khi một tiến trình cần sử dụng một dịch vụ nào đó của kernel, tiến trình sẽ gọi
một system call. System call cũng tương tự như các hàm bình thường khác (library call).
Chỉ có điều, các library call được cung cấp bởi các thư viện trong user space, còn các
system call được cung cấp bởi kernel. Do đó, khi tiến trình gọi các library call, CPU vẫn
giữ nguyên chế độ thực thi user mode. Cịn khi tiến trình gọi các system call, CPU phải
chuyển sang chế độ kernel mode để thực thi các lệnh của kernel (hình 2.3). Lúc này, ta
nói rằng, CPU đang thực thi ở chế độ kernel mode, trong ngữ cảnh process context. Sau
khi kernel thực hiện xong yêu cầu, kernel gửi trả kết quả cho tiến trình. Lúc này, CPU lại
chuyển sang chế độ user mode để thực thi tiếp các lệnh của tiến trình.
Ngoài system call, ngắt cũng là một nguyên nhân khiến CPU chuyển chế độ thực thi
sang kernel mode (hình 5). Khi có một thiết bị muốn trao đổi dữ liệu với CPU, nó sẽ gửi
một tín hiệu ngắt tới CPU bằng cách nâng điện áp trên chân INT của CPU. Khi đó, CPU
sẽ ngừng thực thi các lệnh của tiến trình lại, chuyển sang chế độ kernel mode rồi thực thi
một chương trình đặc biệt của kernel để xử lý tín hiệu ngắt đó. Lúc này, ta nói CPU
đangthực thi ở chế độ kernel mode, trong ngữ cảnh interrupt context. Sau khi xử lý
xong,
CPU trở lại chế độ user mode và tiếp tục thực hiện các lệnh tiếp theo của tiến trình.
Chương Il.Cài đặt
2.1 Biên dịch và cài đặt kernel
Kiểm tra phiên bản kernel đang dùng: uname -r
vanthanh(3)ubuntu: ~
©<■)©
File Edit view Search Terminal Help
vanthanh@ubuntu:~$ unapie -r
5.0.0-23-generic
vanthanh@ubuntu:~5 Ịl
Hình 2. kiểm tra phiên bản kernel
Chạy các câu lệnh sau để cài các gói phần mềm cần thiết trong quá trình biên dịch
sudo apt-get update(trước khi cài đặt cần cập nhập index của các package)
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev
flex bison
Truy cập trang kernel.org để tải về phiên bản kernel (trong phần này sẽ là phiên bản
5.3.8)
bc
Truy cập trang kernel.org để tải về phiên bản kernel (trong phần này sẽ là phiên bản
5.3.8)
Tại thư mục tải về, mở terminal và giải nén file vừa tải về bằng lệnh:
tar xvf linux-5.3.8 .tar.xz
vanthanh@ubuntu: ~/Downloads
File Edit view Search Terminal Help
Linux-5.3.8/vtrt/kvm/arm/vgic/vgtc-mmio-v3.c
Linux-5.3.8/virt/kvm/arm/vgic/vgtc-mmio.c
Linux-5.3.8/virt/kvm/arm/vgic/vgic-mmio.h
Linux-5.3.8/virt/kvm/arm/vgic/vgtc-v2.c
Ltnux-5.3.8/virt/kvm/arm/vgic/vgtc-v3.c
Linux-5.3.8/virt/kvm/arm/vgic/vgic-v4.c
Linux-5.3.8/virt/kvm/arm/vgic/vgtc.c
Linux - 5.3. 8/vtrt/kvm/arni/vgtc/vgtc. h
Linux-5.3.8/virt/kvm/async_pf.c
Linux-5.3.8/virt/kvm/async_pf.h
Linux-5.3.8/virt/kvm/coaLesced_mmio.c
Linux-5.3.8/virt/kvm/coaLesced_mmto.h
Linux-5.3.8/virt/kvm/eventfd.c
Linux-5.3.8/virt/kvm/trqchip.c
Linux-5.3.8/vtrt/kvm/kvm_main.c
Linux-5.3.8/virt/kvm/vfto.c
Linux-5.3.8/vtrt/kvm/vfto.h
Ltnux-5.3.8/vtrt/Ltb/
ltnux-5.3.8/vtrt/Ltb/Kconftg
Linux-5.3.8/vtrt/Ltb/Makeftte
Linux-5.3.8/vtrt/Ltb/trqbypass.c
vanthanh@ubuntu:~/DownLoads$ Ls
Ltnux-5.3.8 Ltnux-5.3.8.tar.xz
vanthanh@ubuntu:~/Downloads$ cd Linux
Hình 2. giải nén file tar
Truy cập thư mục vừa giải nén bằng lệnh: cd linux-5.3.8
Thiết lập cấu hình cho kernel (sử dụng cấu hình của phiên bản đang dùng ):
cp /boot/config-$(uname -r) .config
make menuconfig
Hình 2. Thiết lập cấu hình cho kernel
Nếu khơng có gì thay đổi thì lưu lại và thốt.
Nếu khơng có gì thay đổi thì lưu lại và thốt.
Dịch kernel (-j$(nproc) là chọn số luồng) :
make -j$(nproc)
vanthanh@ubuntu: ~/Downloads/linux-5.3.8
File Edit View Search Terminal Help
Linux-5.3.8/sound/soc/codecs/cs42L42.c
Linux-5.3.8/sound/soc/codecs/cs42l42.h
Llnux-5.3.8/sound/soc/codecs/cs42L51-i2c.c
Linux-5.3.8/sound/soc/codecs/cs42L51.c
Linux-5.3.8/sound/soc/codecs/cs42L51. h
Linux-5.3.8/sound/soc/codecs/cs42l52.c
Linux-5.3.8/sound/soc/codecs/cs42L52.h
Linux-5.3.8/sound/soc/codecs/CS42L5Ỗ.c
LLnux-5.3.8/sound/soc/codecs/cs42L5õ.h
Llnux-5.3.8/sound/soc/codecs/cs42L73.c
Linux-5.3.8/sound/soc/codecs/cs42L73.h
Linux-5.3.8/sound/soc/codecs/cs42xx8-i2c.c
LLnux-5.3.8/sound/soc/codecs/cs42xx8.c
Linux-5.3.8/sound/soc/codecs/cs42xx8.h
Linux-5.3.8/sound/soc/codecs/cs43130.c
Linux-5.3.8/sound/soc/codecs/cs43130.h
LLnux-5.3.8/sound/soc/codecs/cs4341.c
Llnux-5.3.8/sound/soc/codecs/cs4349.c
Linux-5.3.8/sound/soc/codecs/cs4349.h
Linux-5.3.8/sound/soc/codecs/cs47L24.c
Linux-5.3.8/sound/soc/codecs/cs47L24.h
Llnux-5.3.8/sound/soc/codecs/cs47L35.c
Linux-5.3.8/sound/soc/codecs/cs47L85.c
Ltnux-5.3.8/sound/soc/codecs/cs47L90.c___________________________________________________________
Hình 2. Quá trình dịch kernel
Cài đặt kernel: sudo make install
Khởi động lại máy: reboot
Sau khi máy khởi động xong thì ta kiểm tra phiên bản kernel: uname -r
vanthanh@ubuntu: ~
File
Edit
vanthanh@ubuntu:~$
unaeme-r:
vanthanh@ubuntuuname
5.3.8
vanthanh@ubuntu:-$ I
view
»©©
Search
command
Terminal
not
Hình 2. Phiên bản kernel sau cài đặt
2.2
Tùy chỉnh file ISO bằng phần mềm cubic
Cài đặt phần mềm Cubic:
apt-add-repository ppa:cubic-wizard/release
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6494C6D6997C215E
apt update && apt install cubic
Help
unaeme-r
found
-r
Truy cập trang releases.ubuntu.com để tải file
iso của phiên bản ubuntu cần cài đặt, trong ví dụ này là ubuntu-18.04.1-desktopamd64.iso
Mở Cubic:
Hình 2. Phần mềm cubic
Chọn thư mục làm việc và nhấn next
Chọn file iso vừa tải về và nhấn next và chờ giải nén
Hình 2. Chọn file iso
Sau đó phần mềm sẽ tạo ra Chroot Environment từ file iso, tại đây ta có thể cài đặt hoặc
loại bỏ các gói phần mềm.
Hình 2. Cài đặt và loại bỏ phần mềm
Ta sẽ cài kernel mới cho file iso:
cd kernel-5-1
wgetntu. com/~kernel-ppa/mainline/v5.1/linux-headers-5.1.0050100_5.1.0-050100.201905052130_all.deb
wget />wget />wget />
PHAN C. KỂT LUẬN
>
Kinh nghiệm thu được
•
Hiểu được một hệ điều hành là gì.
•
Biết được cấu trúc và hoạt động của một nhân kernel
•
Làm quen với một hệ điều hành mới (ubuntu)
•
Vận dụng tổng hợp nhiều kiến thức đã học để giải quyết vấn đề.Cơ họi
được thực hành kiến thức được học
•
Nâng cao khả năng làm việc nhóm cũng như tinh thần trách nhiệm của
mỗi cá nhân trong công việc chung
>
Kết quả đạt được
•
Biên dịch và cài đặt kernel thành cơng
•
Nhóm vẫn chưa thể hồn thành việc cài đặt các file system
Nhóm sinh viên chúng em xin chân thành cảm ơn sự giảng dạy tận tình của
cơ giáo,