1. Trang chủ
  2. » Công Nghệ Thông Tin

Thực tập tìm hiểu về Linux

39 197 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 39
Dung lượng 824,76 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

LỜI CẢM ƠN Để hoàn thành đề tài „„Tìm hiểu về hệ điều hành Linux‟‟, ngoài sự cố gắng của bản thân, em còn nhận được sự giúp đỡ, chỉ bảo rất tận tình của các thầy giáo trong học viện.. Ph

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TRUNG TÂM CÔNG NGHỆ THÔNG TIN

BÁO CÁO THỰC TẬP TỐT NGHIỆP Nội dung:Tìm hiểu về Linux

Nơi thực tập : Trung tâm CNTT – CDIT

Sinh viên: Nguyễn Minh Hải

MSSV: D2482 Lớp: D07HTTT2 Người hướng dẫn: Thầy Phạm Quốc Hùng

Hà Nội, ngày 25 tháng 6 năm 2011

Trang 2

MỤC LỤC

MỤC LỤC 2

ĐÁNH GIÁ KẾT QUẢ THỰC TẬP TỐT NGHIỆP 3

LỜI CẢM ƠN 4

Phần A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP 5

I Chức năng 5

II Tổ chức 5

III Các lĩnh vực hoạt động 6

Phần B : NỘI DUNG THỰC TẬP 6

I Phần giới thiệu chung 6

II Phần trình bày 6

1 Giới thiệu về Linux 6

2 Cài đặt Linux từ đĩa CD/DVD 10

3 Kiến trúc Linux 13

4 Hệ thống file phân tán (Network file system) 24

5 Tính bảo mật trên Linux 30

6 So sánh với Windows 34

7 Kết Luận 38

III Phần sinh viên tự ghi 39

PHẦN C PHỤ LỤC 39

Trang 3

ĐÁNH GIÁ KẾT QUẢ THỰC TẬP TỐT NGHIỆP

(Thời gian thực tập: Từ ngày ……/… /20 đến ngày ……/… /20 )

Họ và tên sinh viên: Nguyễn Minh Hải

Lớp: D07 HTTT2

NỘI DUNG ĐÁNH GIÁ

1 Chấp hành kỷ luật: (Tốt, Trung bình, hoặc Yếu)

2 Ý thức học tập: (Tốt, Trung bình, hoặc Yếu)

3 Quan hệ, giao tiếp: (Tốt, Trung bình, hoặc Yếu)

4 Điểm ((Thang điểm 10)

Trang 4

LỜI CẢM ƠN

Để hoàn thành đề tài „„Tìm hiểu về hệ điều hành Linux‟‟, ngoài sự cố gắng của bản thân, em còn nhận được sự giúp đỡ, chỉ bảo rất tận tình của các thầy giáo trong học viện

Em xin bày tỏ lời cảm ơn đến các thầy giáo trong khoa Công nghệ thông tin 1, các thầy giáo ở trung tâm công nghệ thông tin – CDIT, đặc biệt là thầy Phạm Quốc Hùng – công tác tại phòng nghiên cứu ứng dụng Viễn Thông, đã tận tình hướng dẫn, chỉ bảo, cung cấp tài liệu chuyên ngành về Linux để em tham khảo và tổng hợp

Em cũng gửi lời cảm ơn đến các bạn cán bộ lớp D07 HTTT đã sắp xếp các buổi họp nhóm để trao đổi kiến thức chuyên môn

Trang 5

Phần A : GIỚI THIỆU ĐƠN VỊ THỰC TẬP

I Chức năng

Được thành lập năm 1999 trong xu thế cạnh tranh và hội nhập toàn cầu, Trung tâm Công nghệ Thông tin CDIT, với vai trò là đơn vị nghiên cứu phát triển hàng đầu trong lĩnh vực công nghệ thông tin, xác định: việc lĩnh hội, đúc kết và phát huy tiềm năng, nội lực, làm chủ công nghệ là mục tiêu chiến lược nhằm thực hiện thành công định hướng gắn kết Nghiên cứu - Đào tạo - Sản xuất Kinh doanh

Trung tâm Công nghệ Thông tin CDIT có nhiệm vụ: nghiên cứu, phát triển, triển khai sản phẩm, chuyển giao công nghệ và đào tạo trong lĩnh vực Công nghệ Thông tin phục vụ Ngành Bưu chính Viễn thông và xã hội

II Tổ chức

ĐOÀN THANH NIÊN

Phòng

tổng hợp

Phòng

kế hoạch – tài chính

Phòng nghiên cứu phát triển Mạng – viễn thông

Phòng nghiên cứu ứng dụng bưu chính

Phòng nghiên cứu ứng dụng Viễn thông

Trang 6

III Các lĩnh vực hoạt động

Trung tâm Công nghệ Thông tin hoạt động trên năm lĩnh vực chính:

1 Nghiên cứu khoa học công nghệ;

2 Phát triển, triển khai công nghệ và sản phẩm;

3 Sản xuất phần mềm và thiết bị;

4 Tiếp nhận và chuyển giao công nghệ;

5 Đào tạo và bồi dưỡng nhân lực

Phần B : NỘI DUNG THỰC TẬP

I Phần giới thiệu chung

 Tên chủ đề thực tập: Tìm hiểu về hệ điều hành Linux

 Mục tiêu: Hiểu được kiến trúc và nguyên lí hoạt động của hệ điều hành Linux, từ đó có thể đi sâu về các lĩnh vực như lập trình hoặc bảo mật hệ thống

 Nội dung: gồm có các phần: Giới thiệu, Cách cài đặt, Kiến trúc, Hệ thống file phân tán, Tính bảo mật, So sánh với Windows và Tổng kết

 Kết quả cần đạt: Trình bày thành quyển với nội dung kiến thức rõ ràng, đầy đủ

và báo cáo trước hội đồng thực tập

Trang 7

nay, Linux là một hệ điều hành với mã nguồn mở (Open Source) và miễn phí (free) dưới bản quyền của tổ chức GNU (Gnu‟s Not Unix) Khởi đầu, Linux được thiết kế

để hoạt động trên nền tảng của kiến trúc i386 Intel với khả năng đa tác vụ (multitasking) Tuy nhiên ngày nay, Linux đã có các phiên bản trên các họ chip khác chẳng hạn như chip Alpha Linux có nguyên lý hoạt động tương tự hệ điều hành Unix (Unix-like) Mặc dù Linux không phải là Unix nhưng người ta vẫn xem Linux như là phiên bản Unix trên PC (PC version of Unix OS) Do là Unix-like; Linux có đầy đủ tất cả các đặc tính của Unix (fully functional) Ngoài ra nó còn hỗ trợ thêm một số tính năng mà trên Unix không có, như long file name (tên file có ký tự space

“ ”)

1.2 Các phiên bản của Linux

RedHat Linux:

Hiện đã có version (ấn bản) 7.0; là phiên bản khá phổ biến Cung cấp khá nhiều tool

và utility để hỗ trợ user (người sử dụng) từ các thao tác setup (cài đặt) đến config (cấu hình) hệ thống

Trang 8

Corel Linux:

Phát triển bởi hãng Corel, dễ setup, có graphic interface (giao diện đồ họa) khá giống Windows NT kể các tool và utility Tuy nhiên các config tool chưa hoạt động tốt Hiện có đến version 1.0

Open Linux:

Do hãng Caldera phát triển, dễ cài đặt cũng như sử dụng Giao diện KDE Thích hợp cho người sử dụng tại gia đình Hiện đang có version 2.3

1.3 Các tính năng và dịch vụ cơ bản của Linux

Như đã trình bày, Linux là một hệ điều hành với đầy đủ các tính năng của Unix Vì thế nó có khả năng đóng vai trò của một Internet/Intranet Server (Web Server, Ftp Server, Mail Server, DNS Server, v.v ), Database Server, File Server v.v hoặc làm việc như một Unix workstation (máy trạm Unix) Như vậy, Linux là một hệ điều hành mạng với đầy đủ các tính năng của nó Cũng như Unix, Linux cũng tuân theo chuẩn POSIX (Portable Operating System Interface for Computer Enviroment) mặc dù nó vẫn chưa được tổ chức này công nhận

Các service được cung cấp bởi Linux bao gồm hầu hết các service của Unix như:

UUCP (Unix to Unix Copy Protocol): Giao thức hỗ trợ service truyền thông giữa

các host Unix

TCP/IP IP (Transmission Control Protocol/Internet Protocol): Giao thức cung cấp

service truyền thông trên mạng Internet

X Protocol: Giao thức để xử lý GUI (Graphics User Interface) trên X Window PPP: (Point to Point Protocol): Giao thức dùng để truyền thông trực tiếp giữa

hai máy

Samba: Giao thức cung cấp File service tương tự File Service của Windows NT cho

phép các windows client truy xuất hệ thống file trên Linux Server

DNS (Domain Name Service): Dịch vụ quản lý tên host trên mạng Internet/Intranet

v.v

Tuy nhiên các service trên chỉ là các service tùy chọn, nghĩa là hệ thống có thể có hay không có các service trên vẫn hoạt động tốt Các service này chỉ làm cho

Trang 9

Còn các service được mô tả sau đây là các service quan trọng của Unix/Linux.Điều

đó có nghĩa là nếu không có các service này, hệ thống có thể không hoạt động được

Do vậy, một số trong chúng sẽ được cài đặt một cách tự động khi chúng ta thiết lập một hệ thống Unix/Linux

Init:

Dịch vụ đơn lẻ quan trọng nhất trong hệ thống Unix/Linux là init Nó được khởi động như là tiến trình đầu tiên trong mọi hệ thống Unix/Linux Đây là tiến trình dùng để khởi động (boot) hệ thống Nó sẽ kiểm tra và mount filesystems vào

hệ thống, khởi động các daemon Nó cung cấp các khái niệm như single user mode (chế độ hoạt động như hệ người dùng đơn lẻ), multiuser mode (chế độ đa người dùng) Một số tài liệu còn gọi là run level (cấp độ hoạt động) Khi hệ thống kết thúc hoạt động (shutdown), init sẽ dọn dẹp (dừng mọi triến trình đang hoạt động, umount filesystems, v.v )

Login:

Dịch vụ này cho phép user login (đăng nhập) vào hệ thống và khai thác các tài nguyên của hệ thống – trong quyền hạn mà user này được cấp

Graphic User Interface (GUI):

Đây chính là X Window service Nó cung cấp khả năng giao tiếp đồ họa với người

sử dụng Nếu không cài đặt X service, một số các chương trình ứng dụng có xử lý

đồ họa sẽ không thể chạy

Network:

Dịch vụ này cho phép user có thể login vào hệ thống từ xa

Network File System (NFS):

Đây là dịch vụ được hãng SUN phát triển Nó cho phép các tác vụ về file trong một hệ thống mạng là trong suốt (transparency) đối với user Nghĩa là, các user thao tác với các tập tin trên máy khác nhau trong cùng hệ thống mạng như đang thao tác trên máy đơn duy nhất

1.4 Tóm lại:

Cũng như Unix, Linux là một hệ điều hành với các khả năng multiproccessing (đa nhiệm), multitasking (đa tác vụ), multiuser (đa người dùng) sau hơn mười năm

Trang 10

phát triển và hiệu chỉnh bởi hàng nghìn lập trình viên trên thế giới đã chứng tỏ được là một hệ điều hành uyển chuyển (có thể hoạt động trên nhiều platform), đáng tin cậy và ổn định

2 Cài đặt Linux từ đĩa CD/DVD

Có rất nhiều phiên bản Linux Ở đây, em trình bày cách cài đặt bản Fedora core 4

Do khuôn khổ tài liệu này có hạn, nên em chỉ nêu ra cấu hình yêu cầu cho máy tính

và một số các bước có tính quan trọng trong quá trình cài đặt

2.1 Cấu hình yêu cầu đối với máy tính

Trang 11

Nếu bạn nhấn Enter, việc cài đặt sẽ chạy với chế độ mặc định Để thay đổi chế độ

cài đặt, tại lời mời boot, gõ linux theo một hoặc vài tùy chọn:

Để cài đặt từ đĩa cứng hoặc mạng, thêm lời dẫn askmethod

Để sử dụng giao diện text, thêm lời dẫn text

Nếu cài đặt có lỗi tại thời điểm đầu tiên, cố gắng cài đặt, thêm lời dẫn acpi=off

Sau đó màn hình xuất hiện như sau:

Chọn OK để kiểm tra chất lượng đĩa, chọn Skip để bỏ qua việc kiểm tra Sau đó màn hình hiện ra như sau:

Trang 12

Chọn OK, sau đó màn hình như sau:

Chọn Test để kiểm tra đĩa tiếp theo trong bộ đĩa hoặc Continue để tiếp tục cài đặt Sau đó chương trình cài đặt bằng đồ họa sẽ được tải vào Ta chỉ cần làm theo hướng dẫn là có thể cài đặt được

Trang 13

2.3 Một số lưu ý khi cài

Trong Linux bắt buộc phải có tối thiểu 2 partition :

Một là, Partition chính (Linux native filesystem) chứa thư mục gốc (/) và hạt nhân

Độ lớn khỏang 6GB nếu muốn cài đặt tất cả các packages của RedHat Linux 9.0 và 50-100 MB dành cho phần /boot (phần này phải được đạt tại Primary Partition của HDD để khởi động)

Hai là, Partition swap (Linux swap space) được dùng làm không gian trao đổi dữ liệu khi vùng nhớ chính đầy, dung lượng cho phân này khoảng gấp 2 đến gấp 3 lần dung lượng bộ nhớ vật lý của hệ thống Tuy nhiên chỉ nên dùng khoảng 256 MB trở lại cho máy tính cá nhân

Cuối cùng, ta phải chú ý ghi nhớ mật khẩu của root, để sau này có thể cài đặt các ứng dụng

3 Kiến trúc Linux

Linux gồm có 2 thành phần chính là Shell và Kernel

3.1 Shell: Thời kỳ đầu của máy tính, các chỉ dẫn sử dụng ngôn ngữ nhị phân - rất

khó hiểu Vì thế Os có một chương trình đặc biệt được gọi là Shell Shell chấp nhận các chỉ dẫn hoặc các lệnh bằng tiếng Anh (hầu hết như vậy) và nếu như lệnh có giá trị thì nó chuyển đến kernel

Shell là chương trình giao tiếp với người dùng Shell là trình thông dịch ngôn ngữ dòng lệnh -thực lệnh các lệnh đọc từ các thiết bị input (như bàn phím) hoặc từ một file.Shell thì không phải là phần của kernel, nhưng sử dụng kernel để thực thi chương trình, tạo các file,

Shell

Kernel

CPU

Trang 14

Shell hoạt động như sau: Khi ta gõ lệnh vào shell và kết thúc bởi <Enter>, đầu tiên shell sẽ biên dịch dòng lệnh như sau: tách dòng lệnh thành các phần gọi là các token

Một token có thể là 1 từ khóa, 1 biến hoặc 1 kí tự mà shell hiểu được Sau đó, nó sẽ xây dựng 1 dãy các token tuần tự, đến khi tạo thành 1 từ hoặc 1 tên hàm (function name) hoặc kí hiệu phép toán mà shell hiểu được Lệnh sau khi đã được dịch thì được gửi đến nhân của hệ điều hành rồi gửi đến CPU thực hiện

Một số loại shell mà Linux chứa:

BASH (Bourne-Again Shell)

tạo ra các prompt khác nhau)

Khi mở một shell, ta cần đến tài khoản kích hoạt vào thư mục chủ (thông thường nằm trong /home/tên_người_dùng) Chú ý rằng mỗi lệnh đều có nhiều tùy chọn riêng của mình Để xem các tùy chọn cho một lệnh cụ thể, đơn giản chỉ cần gõ "man

<command>" (trong đó: man là từ khóa; command là tên lệnh) Một điểm quan trọng cần chú ý là trong các hệ điều hành Linux, câu lệnh có phân biệt chữ hoa, chữ thường “A” sẽ được hệ điều hành hiểu là khác so với “a”

Một số lệnh cơ bản trong shell:

Trang 15

pwd: đưa ra ngoài màn hình thư mục đang hoạt động

(ví dụ: /etc/ssh)

cd: thay đổi thư mục

(ví dụ: cd – ra một cấp thư mục hiện tại; cd vidu – vào thư mục /vidu)

ls: đưa ra danh sách nội dung thư mục

mkdir: tạo thư mục mới

mv: di chuyển file hoặc thư mục; cũng được dùng để đặt lại tên file hoặc thư mục

(mv vị_trí_cũ vị_trí_mới hoặc mv tên_cũ tên_mới)

3.2 Kernel: được coi là lõi của hệ điều hành, chịu trách nhiệm đảm bảo cho hệ

thống hoạt động theo kiểu đa nhiệm, đa người dùng, quản lý file, quản lý phần cứng, tránh gây xung đột giữa các thành phần trong hệ điều hành Kernel gồm có 5 thành phần chính như hình vẽ sau:

Trang 16

3.2.1 Process Scheduler : còn gọi là bộ định thời, là bộ phận có nhiệm vụ phân chia

thời gian sử dụng tài nguyên hệ thống cho các tiến trình Do Linux là hệ điều hành

đa nhiệm, trong 1 khoảng thời gian có thể có nhiều tiến trình được thực hiện mà tài nguyên hệ thống lại là hữu hạn nên phải sắp xếp sao cho mỗi tiến trình đều được sử dụng tài nguyên mà không gây ra tranh chấp

Vòng đời sống của 1 tiến trình được minh họa như sau:

(1): Đang chạy thì tạm ngừng nhường CPU cho tiến trình được ưu tiên hơn

(2): Tiếp tục chờ tiến trình sau thực hiện xong

Trang 17

(3): Chuyển sang trạng thái running để thực hiện tiếp

(4): Kết thúc

Kiến trúc bên trong của Process Scheduler :

Chia làm 4 modun :

Module luật định thời (scheduling policy): chịu trách nhiệm phân xử xem process

nào được quyền truy xuất CPU Hệ thống hoạt động có thông suốt hay không nhờ vào bộ luật này, tránh trường hợp 1 process chiếm thời gian hệ thống qúa nhiều làm các process khác bị đóng băng (freeze)

Module phụ thuộc kiến trúc (architeture-specific): module này gồm các code

assembly phụ thuộc vào mỗi loại CPU dùng để tạm dừng và phục hồi lại tiến trình

Module độc lập kiến trúc (architeture-independent): module gọi các hàm từ

module phụ thuộc kiến trúc và module luật để switch giữa các process đồng thời nó còn gọi các hàm ở bộ phận quản lý bộ nhớ để thiết lập virtual memory cho các process được phục hồi

Module hàm gọi hệ thống (system call) Gồm các hàm mà user có thể dùng để

tương tác với Process Scheduler

Các thành phần tương tác với Scheduler process :

Trang 18

3.2.2 Memory Manager-MM

Đây là bộ phận dùng để quản lý bộ nhớ MM chịu trách nhiệm điểu khiển tiến trình truy xuất tài nguyên bộ nhớ Bản thân CPU cũng có một hệ thống quản lý bộ nhớ vật lý mà cho phép ánh xạ giửa bộ nhớ process với bộ nhớ vật lý MM phải lưu trữ ánh xạ này cho từng process Thêm vào đó MM còn cho phép swap;tức là nó sẽ di chuyển những trang bộ nhớ không dùng xuống ổ cứng cho phép PC dùng bộ nhớ RAM còn trống

MM có 3 module:

Module phụ thuộc kiến trúc: code để gọi các lệnh của hệ thống quản lý bộ nhớ của

CPU

Module độc lập kiến trúc: ánh xạ cho từng process và swap bộ nhớ ảo Nó cũng

quyết định xem phải remove trang nào, load trang nào

Scheduler process

Network

interface

MM

Trang 19

System call : cho phép các process tác động lên MM bao gồm xin cấp phát vùng

nhớ Một số các giao diện (System call interface) là :

malloc() / free() – cấp phát hoặc giải phóng một vùng nhớ

mmap() / munmap() / msync() / mremap() – ánh xạ file vào vùng nhớ ảo

mprotect – thay đổi chế độ bảo vệ cho vùng nhớ ảo

swapon() / swapoff() – thêm hoặc bỏ các file swap

Sơ đồ tương tác với các thành phần khác:

3.2.3 Virtual system file (VFS)

Như đã nói ở trên, một trong các nhiệm vụ của Kernel là quản lý việc truy xuất đến các file mà Linux lại hỗ trợ nhiều loại file: ext, ext2, xia, minix, umsdos, vfat, proc, smb, ncp, iso9660, sysv, hpfs, affs, ufs Như vậy, khi có 1 yêu cầu đọc hoặc ghi file chẳng hạn, thì Kernel sẽ phải nhận biết được kiểu file cần đọc/ghi là gì? Và thực hiện các thao tác tương ứng với từng kiểu khác nhau Như vậy sẽ tốn thời gian và hiệu năng xử lí không cao, do vậy 1 giải pháp được đưa ra là dùng 1 lớp ngăn cách giữa hệ thống file và Kernel, để các file khác nhau sẽ được “nhìn” qua lớp đó thành

1 kiểu giống nhau đối với Kernel Như vậy, Kernel chỉ cần dùng những thao tác giống nhau đối với tất cả các loại file Và các thao tác ứng với từng loại file khác nhau là dành cho lớp đó Lớp này được gọi là hệ thống ảo hóa file (Virtual file system)

Ví dụ: Chẳng hạn khi có yêu cầu từ 1 tiến trình là đọc file ABC.smb và file XYZ.ext2 Thì 2 file này được Kernel “nhìn” qua VFS là giống nhau Như vậy chỉ

Memory management

Network

interface

Scheduler process

Ngày đăng: 14/11/2017, 22:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w