1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về hệ điều hành linux

36 677 0

Đ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 36
Dung lượng 775,5 KB

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

Nội dung

Tìm hiểu về hệ điều hành linux

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

Tìm hiểu về hệ điều hành Linux

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

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

Hà Nội

Trang 2

MỤC LỤC

PHIẾU NHẬN XÉT ĐÁNH GIÁ _3 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 4

I Chức năng _4

II Tổ chức _5 III Các lĩnh vực hoạt động _5

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

I Phần giới thiệu chung 5 -Tên chủ đề thực tập _5 -Nội dung _5 -Kết quả cần đạt: _6

II Phần trình bày của SV 6 III Phần SV tự ghi _36

Phần C: PHỤ LỤC 36

Trang 3

TRUNG TÂM CÔNG NGHỆ THÔNG TIN

PHÒNG …….

CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập Tự do Hanh phúc

ĐÁ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:

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)

Các ý kiến khác (nếu có:

Ngày tháng năm 20…

Giáo viên hướng dẫn thực tập

(Ký và ghi rõ họ tên)

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ảnthâ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ọcviệ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ácthầy giáo ở trung tâm công nghệ thông tin – CDIT, đặc biệt là thầy Phạm QuốcHù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ọpnhóm để trao đổi kiến thức chuyên môn

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âmCông nghệ Thông tin CDIT, với vai trò là đơn vị nghiên cứu phát triển hàng đầutrong 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ềmnă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ểnkhai sản phẩm, chuyển giao công nghệ và đào tạo trong lĩnh vực Công nghệ Thôngtin phục vụ Ngành Bưu chính Viễn thông và xã hội

Trang 5

II Tổ chức

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ànhLinux, 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 filephân tán, Tính bảo mật, So sánh với Windows và Tổng kết

BAN GIÁM ĐỐC ĐOÀN, CÔNG ĐOÀN,

Đ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

 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

để 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ácchẳng hạn như chip Alpha Linux có nguyên lý hoạt động tương tự hệ điều hànhUnix (Unix-like) Mặc dù Linux không phải là Unix nhưng người ta vẫn xem Linuxnhư 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êmmộ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

Mandrake Linux:

Một dòng khác thoát thai từ RedHat Linux, tương thích hoàn toàn với RedHat Hiện

có tới version 7.1

Trang 7

Slackware Linux:

Đây là một trong phiên bản Linux lâu đời Hỗ trợ các dịch vụ mạng rất mạnh, tuy nhiên việc setup và config đòi hỏi user có kiến thức tốt về hệ điều hành này Hiện cóversion 7.0

S.u.S.E Linux:

Do hãng S.u.S.E (Đức) phát hành, khá phổ biến tại Âu châu, nhưng không được phổ

biến tại các nước khác Có các công cụ riêng để hỗ trợ setup và config tương đối dễ

sử dụng Hiện đang có đến version 6.3

Free BSD Linux:

Được phát triển bởi Đại Học Berkeley, đây không phải là phiên bản thương mại, do vậy ít được phổ biến Có rất nhiều tiện ích dành cho việc phát triển hệ thống và lập trình Hỗ trợ đầy đủ các shell trên Unix Hiện có version 2.2

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, FtpServer, Mail Server, DNS Server, v.v ), Database Server, File Server v.v hoặclà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ântheo 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

Trang 8

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 Unix/Linux tăng thêm khả năng và sức mạnh của mình mà thôi

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ậpmộ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ườidù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úchoạt động (shutdown), init sẽ dọn dẹp (dừng mọi triến trình đang hoạt động, umountfilesystems, v.v )

Trang 9

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 thaotá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áctrê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 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), đángtin 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 RedHat 9.0 Dokhuô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 10

- Chọn chế độ cài đặt(Text hoặc Graphic)

- Thông qua từng bước wizard để thiết lập các thông số về hệ thống như: Bàn phím,chuột, ngôn ngữ hiển thị trong quá trình cài đặt, giờ hệ thống…

- Chọn kiểu cài đặt

- Thiết lập phân vùng cài Linux RedHat

- Cài đặt boot loader

- Cấu hình Account

- Các lưu ý lựa chọn gói phần mềm cài đặt

- Cấu hình X-Windown

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ủaHDD để 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ầndung 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

Trang 11

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ậncá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ộtfile.Shell thì không phải là phần của kernel, nhưng sử dụng kernel để thực thichương trình, tạo các file,

Shell hoạt động như sau: Khi ta gõ lệnh vào shell và kết thúc bởi <Enter>, đầu tiênshell 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áctoken

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 (functionname) 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)

Trang 12

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ườngnằm trong /home/tên_người_dùng) Chú ý rằng mỗi lệnh đều có nhiều tùy chọnriê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 quantrọ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:

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

Trang 13

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ànhphần chính như hình vẽ sau:

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

Trang 14

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.

(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ờ

Trang 15

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àmcá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ácprocess đượ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 :

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ìnhtruy 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ẽ dichuyể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:

Scheduler process

Network

Trang 16

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

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 đếncác file mà Linux lại hỗ trợ nhiều loại file: ext, ext2, xia, minix, umsdos, vfat, proc,

Memory management

Network

interface

Scheduler process

Trang 17

smb, ncp, iso9660, sysv, hpfs, affs, ufs Như vậy, khi có 1 yêu cầu đọc hoặc ghi filechẳng hạn, thì Kernel sẽ phải nhận biết được kiểu file cần đọc/ghi là gì? Và thựchiệ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áchgiữ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ácgiố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ácnhau là dành cho lớp đó Lớp này được gọi là hệ thống ảo hóa file (Virtual filesystem)

Ví dụ: Chẳng hạn khi có yêu cầu từ 1 tiến trình là đọc file ABC.smb và fileXYZ.ext2 Thì 2 file này được Kernel “nhìn” qua VFS là giống nhau Như vậy chỉdùng thao tác giống nhau, còn những thao tác riêng với từng loại file đó là do VFSthực hiện

VFS được chia thành 5 modun:

Các module thiết bị điều khiển(device driver), mỗi một phần cứng sẽ có 1 module

thiết bị điều kiển riêng, cái này thường gọi là driver Linux cũng như các hệ điềuhành khác cho phép thêm vào 1 driver mới

Trang 18

Module giao diện độc lập thiết bị(device independent interface) Modun này là

abstract cho tất cả các driver Các module hệ thống file logic: Trên thực tế có nhiều

hệ thống file khác nhau, mỗi hệ thống file có một module điều khiển riêng

Module độc lập hệ thống file (system independent interface): Modun này là

abstract không những cho các loại file system mà còn cho tất cả các driver

System call: các hàm gọi hệ thống cho VFS Một số lời gọi hàm:

create(): tạo file

lookup(): tìm file

link() / symlink() / unlink() / readlink() / follow_link(): quản lý hệ thống file links mkdir() / rmdir(): tạo hoặc xóa thư mục

readpage() / writepage(): đọc hoặc ghi một trang của bộ nhớ

rename(): đổi tên một thư mục

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

3.2.4 Network interface (NET)

NET cho phép Linux connect với các hệ thống khác bằng mạng Mặc dù có rấtnhiều loại thiết bị và giao thức mạng, NET đã abstract tất cả cho phép những phần

VFS

Network interface

Scheduler process

Memory management

IPC

Ngày đăng: 30/01/2016, 10:18

HÌNH ẢNH LIÊN QUAN

Sơ đồ tương tác với các thành phần khác: - Tìm hiểu về hệ điều hành linux
Sơ đồ t ương tác với các thành phần khác: (Trang 16)
Sơ đồ tương tác với các thành phần khác: - Tìm hiểu về hệ điều hành linux
Sơ đồ t ương tác với các thành phần khác: (Trang 19)
Sơ đồ tương tác với các thành phần khác: - Tìm hiểu về hệ điều hành linux
Sơ đồ t ương tác với các thành phần khác: (Trang 21)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w