Thực hành Hệ điều hành - Bài thực hành: Biên dịch và cài đặt Nachos

- Nachos là một phần mềm mã nguồn mở (open-source) giả lập một máy tính ảo và
một số thành phần cơ bản của hệ điều hành chạy trên máy tính ảo này nhằm giúp cho
việc tìm hiểu và xây dựng các thành phần phức tạp hơn của hệ điều hành. Máy ảo
được giả lập có kiến trúc MIPS với hầu hết các thành phần và chức năng của một máy
thật như: thanh ghi, bộ nhớ, bộ xử lý, bộ lệnh, chu kỳ thực thi lệnh, cơ chế ngắt, chu
kỳ đồng hồ, … 
pdf 5 trang xuanthi 30/12/2022 2320
Bạn đang xem tài liệu "Thực hành Hệ điều hành - Bài thực hành: Biên dịch và cài đặt Nachos", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfthuc_hanh_he_dieu_hanh_bai_thuc_hanh_bien_dich_va_cai_dat_na.pdf

Nội dung text: Thực hành Hệ điều hành - Bài thực hành: Biên dịch và cài đặt Nachos

  1. Hướng dẫn thực hành Hệ điều hành Biên dịch và cài đặt Nachos phải tạo ra một trình biên dịch gọi là Cross-compiler để thực hiện biên dịch các chương trình C trên hệ điều hành Nachos cho kiến trúc máy MIPS. Cách 1 2. Cài đặt Cross-compiler a. Cross-compiler là gì? - Tham khảo b. Vai trò của Cross-compiler khi sử dụng Nachos - Cross-compiler được dùng để biên dịch các chương trình C thành các chương trình thực thi trên hệ điều hành Linux cho kiến trúc máy MIPS (COFF). - Công cụ “coff2noff” (được viết sẵn trong phần mềm Nachos) được dùng để chuyển đổi định dạng COFF thành định dạng NOFF, định dạng chạy trên hệ điều hành Nachos cho kiến trúc máy MIPS. c. Cài đặt Cross-compiler i. Yêu cầu: - Đã cài đặt gcc-3.x trên hệ điều hành Linux ii. Các bước thực hiện Giả sử đang làm việc tại thư mục /root B1: Tạo thư mục lưu bài tập hệ điều hành % mkdir hdh Copy các tập tin sau vào thư mục hdh (có thể dùng WinSCP) binutils-2.11.2.tar.gz gcc-2.95.3.tar.gz Vào thư mục hdh, giải nén các tập tin này % cd hdh % tar -xzvf binutils-2.11.2.tar.gz % tar -xzvf gcc-2.95.3.tar.gz B2: Tạo thư mục chứa Cross-compiler sẽ được cài đặt % mkdir cross-compiler Tạo cross-compiler cho Biên dịch binutils trước kiến trúc máy MIPS % cd binutils-2.11.2/ % ./configure host=i686-pc-linux-gnu target=decstation-ultrix prefix=/root/hdh/cross-compiler % make % make install B3: Cài đặt binutils thành công sẽ tạo các file sau trong thư mục /root/hdh/cross-compiler/decstation-ultrix/bin/: ar as ld nm ranlib strip Lưu ý, không nên biên dịch gcc ngay trong thư mục chứa mã nguồn (gcc-2.95.3). Do đó, trước khi tiến hành biên dịch gcc, cần tạo thư mục chứa kết quả biên dịch (thư KHOA CNTT – ĐH KHOA HỌC TỰ NHIÊN 2
  2. Hướng dẫn thực hành Hệ điều hành Biên dịch và cài đặt Nachos # if you are cross-compiling, you need to point to the right # executables and change the flags to ld and the build # procedure for as GCCDIR = / / /cross-compiler/decstation-ultrix/bin/ LDFLAGS = -T script -N ASFLAGS = -mips2 CPPFLAGS = $(INCDIR) # if you aren't cross-compiling: # GCCDIR = # LDFLAGS = -N -T 0 # ASFLAGS = # CPPFLAGS = -P $(INCDIR) PATH = $(GCCDIR):/lib:/usr/bin:/bin CC = $(GCCDIR)gcc -B / / /cross-compiler/ AS = $(GCCDIR)as LD = $(GCCDIR)ld CPP = gcc -E INCDIR =-I /userprog -I /threads CFLAGS = -G 0 -c $(INCDIR) Biên dịch Nachos % cd nachos-3.4/code % gmake all 4. Chạy thử chương trình trên Nachos % ./userprog/nachos –rs 1023 –x ./test/halt Kết quả nhận được: Machine halting! Ticks: total 42 idle 0, system 30, user 12 Disk I/O: reads 0, writes 0 Console I/O: reads 0, writes 0 Paging: faults 0 Network I/O: packets received 0, sent 0 Cleaning up Nếu chạy ra kết quả như trên, nghĩa là thành công quá trình cài đặt Nachos trên Linux.  Nhiệm vụ tiếp theo: - Tìm hiểu hoat động của Nachos để có thể thêm các system call vào hệ điều hành Nachos - Tìm hiểu các thành phần cơ bản của hệ điều hành Nachos đã được xây dựng để xây dựng các thành phần phức tạp hơn KHOA CNTT – ĐH KHOA HỌC TỰ NHIÊN 4