Giáo trình môn học Tin học đại cương
SƠ LƯỢC VỀ HỆ THỐNG TIN HỌC
TIN HỌC (INFORMATIQUE)
Tin học là một ngành khoa học chuyên xử lý dữ liệu và xuất ra thông tin một cách tự
động, dựa trên công cụ là máy tính điện tử.
DỮ LIỆU VÀ THÔNG TIN
Những sự việc và hình ảnh trong thế giới thực gọi chung là dữ liệu (data), Thông thường
các sự việc, hình ảnh thô này mang ít ngữ nghĩa thực tiễn cho đến khi chúng được sắp
xếp hoặc tính toán một vài thứ nào đó trong chúng, và điều này gọi là xử lý dữ liệu (data
processing). Khi dữ liệu đã xử lý xong, nó sẽ xuất ra thông tin (information).
Cũng có thể xem thông tin là chính ngữ nghĩa được gắn kết vào dữ liệu của nó. Ví dụ:
đèn giao thông bật sáng màu đỏ, đây là một hình thức của dữ liệu. Điều này cho biết ngữ
nghĩa gắn vào với dữ liệu này là các phương tiện giao thông phải dừng, vậy dừng chính
là thông tin.
Dữ liệu thường tối nghĩa. Ví dụ: quan sát con số 11092004, ta có thể hiểu theo nhiều
cách:
- Số lượt truy cập đến trang Web Yahoo
- Ngày 11, tháng 9, năm 2004
- Số điện thoại của một cá nhân A nào đó
HỆ THỐNG THÔNG TIN ĐƯỢC MÁY TÍNH HOÁ - HỆ THỐNG TIN HỌC
Tất cả các tác vụ đều có thể phân thành ba giai đoạn: nhập, xử lý và xuất. Vậy hệ thống
thông tin (information system) là một hệ thống bao gồm việc nhập dữ liệu, xử lý dữ liệu
và xuất ra thông tin.
Edited by Duc Long – Feb, 2005 5Edited by Duc Long – Feb, 2005 6
Hệ thống thông tin thủ công (manual information systems): mọi người chúng ta đều ít
nhiều có sử dụng hoặc làm việc với các hệ thống thông tin thủ công. Ví dụ: danh bạ điện
thoại, có hàng trăm ngàn số điện thoại, Giả sử ta biết tên và địa chỉ của một doanh nghiệp
nào đó, thì có thể tìm trong danh bạ số điện thoại tương ứng của họ.
Hoặc với sổ danh bộ của trường học, lưu trữ thông tin học sinh trong các năm học, Biết
mã số (thường gọi là số danh bộ) và tên học sinh có thể tra cứu để biết học sinh đang học
lớp nào và lý lịch trích ngang của học sinh đó.
Hệ thống thông tin thủ công có nhiều bất tiện. Như đối với danh bạ điện thoại thì các số
điện thoại để tra cứu sẽ được sắp theo thứ tự alphabet của cá nhân, đơn vị; trong khi việc
tìm kiếm có thể có nhu cầu biết số điện thoại, cần tìm địa chỉ của một cơ quan nào đó
Đối với sổ danh bộ của trường học cũng vậy, danh sách học sinh sẽ được sắp xếp theo
thứ tự mã số của từng học sinh với một qui tắc nhất định, trong khi việc tra cứu có thể tìm
kiếm theo họ tên, theo lớp,
Tóm tắt nội dung tài liệu: Giáo trình môn học Tin học đại cương
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM TP HCM 280, An Dương Vương, Q5, Tp HCM ĐT: (08).8352020 - 8352021 Fax: (84-8).8398946 --------- KHOA TOÁN - TIN TIN HỌC ĐẠI CƯƠNG Introduction to Computer Science Thời lượng: 6 đvht (Số tiết lý thuyết : 45 Số tiết thực hành : 45) Giảng viên phụ trách: Ths. Lê Đức Long I. Tóm tắt môn học : Mục đích của môn học là cung cấp cho sinh viên một số kiến thức đại cương và các nguyên lý cơ bản của khoa học máy tính, các khái niệm và cách tư duy giải quyết các vấn đề - bài toán bằng máy tính điện tử. Đồng thời bước đầu tập làm quen với ngôn ngữ lập trình Pascal để giải quyết một số bài toán, ứng dụng thực tế. II. Nội dung môn học : Chương 1 : Đại cương về Tin học (6t) 1. Tổng quan về hệ thống tin học (Information systems hay Computer systems) 1. Sơ lược về hệ thống tin học 2. Các thành phần của một hệ thống tin học 3. Các dạng máy tính điện tử 2. Máy tính PC và nguyên lý hoạt động 1. Cấu trúc của một máy tính 2. Các bộ phận chính của máy tính 3. Các thiết bị nhập - xuất trong hệ thống máy tính 4. Nguyên lý Von Neumann - Hoạt động của máy tính 3. Biểu diễn thông tin trong máy tính 1. Hệ thống số - Cách chuyển đổi giữa các hệ thống số 2. Dữ liệu và lưu trữ dữ liệu 3. Mã hoá và biểu diễn dữ liệu trong máy tính 4. Các loại bộ nhớ 4. Giới thiệu về mạng máy tính 1. Khái niệm về mạng máy tính 2. Mạng thông tin toàn cầu Internet 3. Một số dịch vụ cơ bản của Internet Chương 2 : Giới thiệu một số hệ điều hành thông dụng (6t) 1. Tổng quan về hệ điều hành (Operating Systems) 1. Hệ điều hành - chức năng của hệ điều hành 2. Giao tiếp với hệ điều hành Edited by Duc Long – Feb, 2005 1 3. Một số hệ điều hành thông dụng Edited by Duc Long – Feb, 2005 2 2. Giới thiệu về hệ điều hành MS-DOS 1. Một số thuật ngữ cơ bản: tập tin, thư mục, đường dẫn 2. Dạng lệnh tổng quát – Thao tác với hệ điều hành MS-Dos 3. Hệ điều hành MS-Dos 6.x - Một số lệnh thông dụng 3. Giới thiệu về hệ điều hành Windows 1. Một số khái niệm 2. Các thao tác cơ bản trên Windows 3. Trình ứng dụng Windows Explorer 4. Trình ứng dụng Control Panel 5. Một số ứng dụng của Windows: Paint, WordPad, Calculator, Calendar Chương 3: Soạn thảo văn bản bằng LATEX (15t) 1. Tổng quan về LATEX - Một số khái niệm cơ bản 2. Soạn thảo văn bản đơn giản 3. Định dạng văn bản Chương 4: Giải quyết vấn đề - bài toán bằng máy tính (3t) 1. Vấn đề - bài toán 1. Thế nào là vấn đề - bài toán 2. Một số phương pháp giải quyết vấn đề - bài toán bằng máy tính 2. Thuật toán - thuật giải 3. Các phương pháp biểu diễn thuật toán 1. Ngôn ngữ tự nhiên 2. Lưu đồ - sơ đồ khối 3. Mã giả 4. Các bước để giải một bài toán trên máy tính 1. Xác định bài toán 2. Lựa chọn và xây dựng thuật toán 3. Viết chương trình 4. Hiệu chỉnh 5. Viết tài liệu Chương 5: Ngôn ngữ lập trình Pascal (60t) Giới thiệu ngôn ngữ lập trình Pascal Cấu trúc tổng quát của một chương trình Pascal Các kiểu dữ liệu đơn giản Cấu trúc tuần tự Cấu trúc điều kiện Cấu trúc lặp Chương trình con: thủ tục và hàm Kiểu dữ liệu mảng (Array) Kiểu bản ghi (Record) Kiểu tập tin (File) Đồ hoạ trong Pascal (Graphic) Khái niệm về chương trình đệ qui (Recursion) Giới thiệu về con trỏ (Pointer) - cấp phát bộ nhớ động (Dynamic Memory Allocation) Edited by Duc Long – Feb, 2005 3 Tài liệu tham khảo : 1. Giáo trình tin học đại cương I, II GS.TS. Hoàng Kiếm - NXB Giáo dục, 1998 2. Ngôn ngữ lập trình Pascal Quách Tuấn Ngọc - NXB Giáo dục, 1996 3. Cấu tạo và nguyên lý hoạt động của hệ thống máy tính RON WHITE, biên dịch: Nhóm điện tử, vi tính FSC – NXB Thống kê, 1997 4. Giải một bài toán trên máy tính như thế nào ? I, II GS.TS. Hoàng Kiếm - NXB Giáo dục, 2001 5. Giáo trình Pascal I, II Trần Đan Thư – NXB Giáo dục, 2001 6. Bên trong máy tính PC hiện đại I, II Phạm Hoàng Dũng, Hoàng Đức Hải, NXB KH KT, 1997 7. Information Systems for you, SE Stephen Doyle, , Stanley Thornes (Publishers) LTD, 1999 8. Turbo Pascal 6: The complete reference Stephen K. O’Brien, Osborne McGraw-Hill, 1991 9. Sách giáo khoá Tin học 10, 11 (chương trình thí điểm phân ban) Hồ Sĩ Đàm (chủ biên), NXB Giáo dục, 2004 Liên hệ - góp ý: Ths. Lê Đức Long Khoa Toán Tin - Đại Học Sư Phạm Tp Hồ Chí Minh Cells phone: 0913.766.057 Email: longlddhsp@yahoo.com Một số địa chỉ Website tham khảo: ĐH Sư Phạm Tp HCM: Sở Giáo dục – Đào tạo Tp HCM: Diễn đàn giáo dục: Trang liên kết đến trang các trường đại học: Tin tức Việt Nam: Trang cung cấp mã nguồn: ; Thư viện đại học quốc gia: Trang thông tin của tp HCM: Một số tài liệu tham khảo trên các đĩa Cd: PC World 2000, Tin Học Nhà Trường, Website LH, ĐẠI CƯƠNG VỀ TIN HỌC • Tổng quan về hệ thống tin học • Máy tính PC và nguyên lý hoạt động • Biểu diễn thông tin trong máy tính • Giới thiệu về mạng máy tính Edited by Duc Long – Feb, 2005 4 BÀI TỔNG QUAN VỀ HỆ THỐNG TIN HỌC DẪN NHẬP: Sự bùng nổ về thông tin trong vài thập kỷ ở cuối thế kỷF 20 cho ra đời một dạng tài nguyên mới đó là thông tin, cùng gắn liền với công cụ lao động là máy tính điện tử đã làm một cuộc cách mạng khoa học kỹ thuật trong mọi lĩnh vực. Ngành Tin học được hình thành và phát triển cùng với các khái niệm cơ bản, trong đó các hiểu biết cơ bản về hệ thống tin học là kiến thức không thể thiếu đối với mọi đối tượng khai thác và sử dụng máy tính. 1./ SƠ LƯỢC VỀ HỆ THỐNG TIN HỌC 1.1./ TIN HỌC (INFORMATIQUE) Tin học là một ngành khoa học chuyên xử lý dữ liệu và xuất ra thông tin một cách tự động, dựa trên công cụ là máy tính điện tử. 1.2./ DỮ LIỆU VÀ THÔNG TIN Những sự việc và hình ảnh trong thế giới thực gọi chung là dữ liệu (data), Thông thường các sự việc, hình ảnh thô này mang ít ngữ nghĩa thực tiễn cho đến khi chúng được sắp xếp hoặc tính toán một vài thứ nào đó trong chúng, và điều này gọi là xử lý dữ liệu (data processing). Khi dữ liệu đã xử lý xong, nó sẽ xuất ra thông tin (information). Cũng có thể xem thông tin là chính ngữ nghĩa được gắn kết vào dữ liệu của nó. Ví dụ: đèn giao thông bật sáng màu đỏ, đây là một hình thức của dữ liệu. Điều này cho biết ngữ nghĩa gắn vào với dữ liệu này là các phương tiện giao thông phải dừng, vậy dừng chính là thông tin. Dữ liệu thường tối nghĩa. Ví dụ: quan sát con số 11092004, ta có thể hiểu theo nhiều cách: - Số lượt truy cập đến trang Web Yahoo - Ngày 11, tháng 9, năm 2004 - Số điện thoại của một cá nhân A nào đó 1.3./ XỬ LÝ THÔNG TIN Máy tính xử lý Đầu ra Đầu vào DỮ LIỆU _ Thu nhận phân loại, lưu trữ THÔNG TIN _ Tính toán, thống kê _ Hỏi đáp, cập nhật, truy tìm _ Dự báo 1.4./ HỆ THỐNG THÔNG TIN ĐƯỢC MÁY TÍNH HOÁ - HỆ THỐNG TIN HỌC Tất cả các tác vụ đều có thể phân thành ba giai đoạn: nhập, xử lý và xuất. Vậy hệ thống thông tin (information system) là một hệ thống bao gồm việc nhập dữ liệu, xử lý dữ liệu và xuất ra thông tin. Edited by Duc Long – Feb, 2005 5 Edited by Duc Long – Feb, 2005 6 Hệ thống thông tin thủ công (manual information systems): mọi người chúng ta đều ít nhiều có sử dụng hoặc làm việc với các hệ thống thông tin thủ công. Ví dụ: danh bạ điện thoại, có hàng trăm ngàn số điện thoại, Giả sử ta biết tên và địa chỉ của một doanh nghiệp nào đó, thì có thể tìm trong danh bạ số điện thoại tương ứng của họ. Hoặc với sổ danh bộ của trường học, lưu trữ thông tin học sinh trong các năm học, Biết mã số (thường gọi là số danh bộ) và tên học sinh có thể tra cứu để biết học sinh đang học lớp nào và lý lịch trích ngang của học sinh đó. Hệ thống thông tin thủ công có nhiều bất tiện. Như đối với danh bạ điện thoại thì các số điện thoại để tra cứu sẽ được sắp theo thứ tự alphabet của cá nhân, đơn vị; trong khi việc tìm kiếm có thể có nhu cầu biết số điện thoại, cần tìm địa chỉ của một cơ quan nào đó Đối với sổ danh bộ của trường học cũng vậy, danh sách học sinh sẽ được sắp xếp theo thứ tự mã số của từng học sinh với một qui tắc nhất định, trong khi việc tra cứu có thể tìm kiếm theo họ tên, theo lớp, Hệ thống thông tin được máy tính hoá (computerised information systems): ngày nay với sự ra đời và phát triển của máy tính điện tử, các hệ thống thông tin thủ công đa phần đều được máy tính hoá thông qua việc xử lý dữ liệu và xuất ra thông tin một cách tự động dựa vào công cụ là máy tính điện tử. Các hệ thống thông tin được máy tính hoá thì mềm dẽo hơn so với các hệ thống thông tin thủ công và xử lý nhanh hơn rất nhiều. Ví dụ với hệ thống tra cứu danh bạ điện thoại được máy tính hoá ở trên thì khi nhập vào một số điện thoại đã được chứa trong hệ thống, thì tên và địa chỉ của đối tượng tương ứng sẽ được cung cấp ngay lập tức. Hệ thống thông tin được máy tính hoá gọi tắt là hệ thống máy tính hay hệ thống tin học gồm có ba thành phần: phần cứng (hardware), phần mềm (software), và người sử dụng (user). Những ưu điểm của một hệ thống thông tin được máy tính hoá: -Không phải tốn nhiều các ngăn chứa hồ sơ, tài liệu. Chỉ cần một máy tính đơn cũng có thể lưu trữ tất cả các thông tin cần thiết. -Nhiều người có thể truy xuất thông tin trên các máy tính khác nhau, ở những nơi khác nhau, trong cùng một thời điểm. -Không có sự trùng lắp thông tin. Ví dụ các thông tin lý lịch cần thiết của học sinh chỉ được cập nhật một lần và có thể sử dụng với nhiều mục đích khác nhau. Ngoài ra, từ các thông tin này có xuất ra các báo cáo, thống kê khi có nhu cầu. -Thông qua hệ thống mạng diện rộng và bộ xử lý văn bản có thể đưa thông tin đến tận người dùng (như Email, ) -Việc nhập dữ liệu vào hệ thống ngoài bàn phím còn có nhiều thiết bị tiện ích khác như: máy quét ảnh, máy đọc mã vạch, máy quét thẻ từ, Những khuyết điểm của một hệ thống thông tin được máy tính hoá: -Mọi thứ đều phụ thuộc vào máy tính. Khi có sự cố (về nguồn điện, bị virus,) phải cần một hệ thống khác thay thế ngay. -Để sử dụng hệ thống, cần có sự huấn luyện sử dụng đối với các đối tượng người dùng. Khi có sự thay đổi, sẽ tốn thời gian để đào tạo đội ngũ này lại. -Cần có sự an toàn và bảo mật đối với dữ liệu, thông tin trong hệ thống để chống lại sự mất cắp, rò rỉ thông tin. 2./ THÀNH PHẦN CHÍNH CỦA MỘT HỆ THỐNG TIN HỌC Tất cả các hệ thống tin học đều có: phần cứng (hardware) và phần mềm (software). Phần cứng là từ được sử dụng để chỉ các phần của máy tính mà ta có “cầm”, “nắm” được. Phần cứng cũng là tất cả các thiết bị (mỗi thiết bị đều có tên gọi riêng) để cấu thành một hệ thống máy tính. Một cách cơ bản các thiết bị được phân chia thành: -Thiết bị nhập (Input devices): sử dụng để đưa dữ liệu vào máy tính. -Bộ xử lý trung tâm (Central processing unit - CPU): phần não bộ của máy tính. -Thiết bị lưu trữ (Backing storages): gồm các loại ổ đĩa sử dụng để chứa dữ liệu khi tắt nguồn điện vào máy. -Thiết bị xuất (Output devices): bao gồm các bộ hiển thị (VDUs), máy in được sử dụng để xuất ra báo cáo, xuất lên màn hình, Phần mềm là từ dùng để chỉ các chương trình thực sự cho phép phần cứng thực hiện một công việc hữu ích trên máy tính. Không có phần mềm, phần cứng trở nên vô dụng. Phần mềm được xây dựng từ một dãy các lệnh thực thi cho biết máy tính sẽ phải làm những gì. Các máy tính điện tử thông dụng hiện nay đều thiết kế theo nguyên lý J. Von Neumann (1903-1957). Theo nguyên lý này, hoạt động của máy tính được điều khiển bằng chương trình lưu giữ trong bộ nhớ. Đĩa mềm (Backing storage) CPU Đĩa cứng (Backing storage) Bàn phím (Input) Máy in (Output) Chuột (Input) Màn hình (Output) Hình 1. Phần cứng của một máy vi tính đơn giản Để hiểu về sự khác biệt giữa phần cứng và phần mềm có thể hình dung một máy thâu băng (tape recorder) và cuộn băng trắng (blank tape). Như vậy, máy thâu băng và cuộn băng chính là phần cứng vì ta có thể tiếp xúc được với chúng. Khi ta ghi vào cuộn băng một vài bản nhạc, thì các bản nhạc trong cuộn băng sẽ chính là phần mềm. Edited by Duc Long – Feb, 2005 7 Phần mềm được phân thành hai loại chính: phần mềm hệ thống (systems software) và phần mềm ứng dụng (aplications software). -Phần mềm hệ thống là chương trình điều khiển trực tiếp các phần cứng của máy tính. Phần mềm hệ thống bao gồm: hệ điều hành (operating systems), các chương trình dịch (translation programs) như trình biên dịch (compiler), trình thông dịch (intepreter), Hệ điều hành cũng cung cấp một giao diện (user interface) để giao tiếp giữa người sử dụng với máy tính, việc đầu tiên của một máy tính khi được nối nguồn điện là tìm kiếm hệ điều hành, và không có hệ điều hành thì máy tính sẽ không thể làm việc tiếp được. Ví dụ một số hệ điều hành thông dụng như: Windows 98, Windows NT, UNIX, LINUX hay OS/2 -Phần mềm ứng dụng là chương trình được xây dựng để thực hiện những tác vụ chuyên biệt nào đó. Phần mềm ứng dụng có rất nhiều loại phục vụ cho các đối tượng sử dụng máy tính: phầ tử như Lotus123, Ex Một chương để xây dựng và viết để thể hiện. Tuy nhiên, m dưới dạng m những ngôn được chia th (high-level lan Hoạt động thực hiện tính thì phả Ngôn ngữ c khó viết đối (machine lan Ngôn ngữ má viết bằng ngô trình đều bắt các chương mỗi loại máy trò chơi trên này). Edited by Duc Lo n mềm xử lý từ như Word, Word Perfect, phần mềm bảng tính điện cel, phần mềm cơ sở dữ liệu như Access, trình là một tập các lệnh mà máy tính có thể hiểu và thực hiện. Do đó, chương trình thì người lập trình phải dùng các ngôn ngữ lập trình áy tính do cấu tạo là một thiết bị điện tử nên chỉ có thể hiểu chương trình ã nhị phân (tập giá trị 0 và 1), trong khi đối với người lập trình thì cần phải có ngữ lập trình dễ hiểu, dễ đọc để viết chương trình, vì vậy ngôn ngữ lập trình ành các loại: ngôn ngữ cấp thấp (low-level languages), ngôn ngữ cấp cao guages). Phần cứng Ứng dụng 1 User Hệ điều hành Ứng dụng 2 User Ứng dụng 3 User Hình 2. Giao tiếp giữa hệ điều hành với người sử dụng của hệ điều hành như một phần vỏ bao quanh phần cứng. Để chương trình cần có một hệ điều hành, để người dùng thực hiện một tác vụ nào đó từ máy i dùng các ứng dụng và hệ điều hành để giao tiếp với phần cứng. ấp thấp: là ngôn ngữ mà máy tính có thể hiểu dễ dàng nhưng lại khó hiểu, với người lập trình. Các ngôn ngữ lập trình cấp thấp như ngôn ngữ máy guage hay machine code), hợp ngữ (Assembly language). y là ngôn ngữ mà máy tính trực tiếp hiểu được, nói cách khác chương trình n ngữ máy sẽ là một tập bao gồm các kí số 0 và 1. Tất cả các ngôn ngữ lập buộc phải được dịch thành ngôn ngữ máy trước khi được thi hành ngoại trừ trình được viết bằng ngôn ngữ máy. Ngôn ngữ máy thường phụ thuộc vào tính khác nhau, và vì không cần phải biên dịch lại nên chạy rất nhanh (nhiều máy tính và chương trình giả lập được viết bằng ngôn ngữ máy là vì lý do ng – Feb, 2005 8 Hợp ngữ là ngôn ngữ chỉ sử dụng một số lệnh đơn giản (như ADD, SUB, LDA, ..) nên dễ dàng hơn đối với người lập trình trong việc sử dụng và gỡ lỗi chương trình. Chương trình viết bằng hợp ngữ cũng cần được biên dịch thành ngôn ngữ máy bởi trình hợp dịch (assembler) trước khi máy tính có thể hiểu. Tuy nhiên, do chỉ giới hạn trong một số ít lệnh và thuộc loại ngôn ngữ lập trình cấp thấp nên chương trình viết bằng ... p chuột chọn thư mục cuối liên tiếp 77 d. Tạo ngăn xếp - Folder (hay tạo thư mục con) : ¾ [File],New Edited by Duc Long – Feb, 2005 78 ¾ Chọn Folder ¾ Đặt tên Folder e. Xoá một hay nhiều ngăn xếp (hay tập tin) -Chọn một hay nhiều ngăn xếp (hay tập tin) -Nhấn phín DELETE (DEL) hay nhấp chuột vào nút X trên thanh công cụ -Yêu cầu xác nhận : Không đồng ý xoá Đồng ý xoá f. Sao chép tập tin (hay thư mục) -Chọn một hay nhiều ngăn xếp (hay tập tin) Chọn và rê chuột ở thư mục cần sao chép đến vị trí mới, Hoặc có thể dùng lệnh Edit, Copy và Edit, Paste, Hoặc có thể dùng các nút lệnh Copy và Paste Trong khi sao chép, xuất hiện hộp thoại như sau : Edited by Duc Long – Feb, 2005 79 Edited by Duc Long – Feb, 2005 80 BÀI GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH LINUX DẪN NHẬP: - Linux là hệ điều hành mã nguồn mở đang phát triển nhanh nhất hiện nay trên thế giới. - Hệ điều hành Linux bao gồm một phần “lõi” (phần Kernel) do Linus Torvalds đưa ra (1991) và một tập hợp các ứng dụng, tiện ích, phần mềm tạo thành cái "vỏ" (phần Shell) cho phần “lõi” trên. Tất cả ghép lại thành một hệ điều hành máy tính hoàn chỉnh. Một vài con số về Linux - Hiện tại có khoảng 20 triệu người trên thế giới sử dụng hệ điều hành Linux như phương tiện làm việc chính của mình. - Khoảng 1/4 máy chủ trên Internet đang sử dụng Linux. - Cứ 5 quyển sách về Tin học được xuất bản thì có 1 quyển viết về Linux. - Hiện có khoảng 60 công ty chuyên phát triển hệ điều hành Linux. 1/. KIẾN TRÚC HỆ THỐNG LINUX 1.1./ Phần lõi (Kernel) Kernel là phần “lõi” hay còn gọi là phần “nhân” – là “trái tim của hệ điều hành”. Nhằm nhiệm vụ điều khiển giao diện giữa chương trình người sử dụng với các thiết bị phần cứng, xếp lịch các tiến trình để có thể thực hiện đa nhiệm, và nhiều tác vụ khác của hệ thống. Kernel không phải là một tiến trình chạy riêng biệt trong hệ thống mà là một tập các trình đơn nằm trong bộ nhớ, mọi tiến tiến trình đều gọi đến chúng. Ví dụ: lệnh read của hệ thống là đọc dữ liệu từ một file được mô tả, đối người lập trình nó giống như một hàm trong C, một thủ tục trong Pascal, nhưng thực ra mã của lệnh read được chứa trong Kernel của Linux. Trên nhiều cấu trúc máy tính, Kernel có thể mô phỏng các lệnh dấu chấm động (Floating Point Caculation) nếu hệ thống không có bộ đồng xử lý toán học (Numerical Processor Unit). Kernel của Linux cũng hỗ trợ các kỹ thuật như: phân trang bộ nhớ (paging file), bộ nhớ ảo (virtual memory), cache đĩa, Kernel Shell Utilities Applications 1.2./ Phần vỏ (Shell) Shell là bộ thông dịch lệnh, có thể xem đây là một chương trình ứng dụng đặc biệt nhằm tương tác với hệ điều hành để dịch và thực hiện mọi lệnh được người dùng gõ vào từ bàn phím. Khi bắt đầu một phiên làm việc với máy tính là ta sẽ làm việc với Shell của Linux 1.3./ Ứng dụng và tiện ích Hình . Sơ đồ kiến trúc hệ thống của Linux Edited by Duc Long – Feb, 2005 81 2/. CÁC ĐẶC ĐIỂM CỦA PHẦN MỀM 2.1./ CÁC LỆNH CƠ BẢN VÀ TIỆN ÍCH Nói chung tất cả các tiện ích và các lệnh cơ bản của Unix đều được chuyển sang Linux. -Các lệnh cơ bản như: ls, more, -Các phần mềm như: Perl, Python, Java Development Kit, -Các trình soạn thảo văn bản như: vi, ex, GNU Emacs, 2.2./ CÁC NGÔN NGỮ LẬP TRÌNH Linux cung cấp một môi trường lập trình Unix đầy đủ, bao gồm mọi thư viện chuẩn, các công cụ lập trình, trình biên dịch và gỡ rối. Hai ngôn ngữ lập trình phổ biến nhất là C và C++ được hỗ trợ trong Linux với trình biên dịch gcc của GNU. Các ngôn ngữ lập trình khác cũng được đưa vào Linux như: Smalltalk, Fortran, Pascal, Lisp, 2.3./ HỆ THỐNG X WINDOW Hệ thống X Window là giao diện đồ hoạ chuẩn cho các máy Unix. Đó là một môi trường mạnh hỗ trợ rất nhiều ứng dụng. Phiên bản X Window trên Linux là XFree86, và môi trường X Window rất giống môi trường MS Windows thường sử dụng. Chương trình XFree86 cũng chứa cả các thư viện lập trình và các tập tin include để có thể phát triển các ứng dụng trên X Window (X applications). X Window cũng có sẵn các font chuẩn, bitmaps và các tài liệu, đồng thời cũng hỗ trợ các công cụ đồ hoạ 3 chiều (PEX, Mesa). 2.4./ KDE VÀ GNOME X Window có hai kiến trúc cơ bản là KDE và GNOME. Cả hai hệ thống này đều cungcấp một môi trường hoàn toàn tích hợp đồ họa chạy bên trên X Window, với đầy đủ Window Manager, các tiện ích và các ứng dụng vượt trội các hệ thống như MS Windows 98.Trong đó ngoài những chức năng dành cho người sử dụng được cung cấp bởi KDE, GNOME còn cung cấp thêm một số chức năng dành cho việc quản trị hệ thống. Hầu hết các phiên bản Linux đều cho phép đặt cấu hình một cách tự động một trong hai môi trường trên khi cài đặt. 2.5./ LINUX VÀ MẠNG Linux là một trong những hệ điều hành mạng mạnh nhất, ngày càng có nhiều người chọn Linux làm hệ điều hành mạng. Linux hỗ trợ hai giao thức cơ bản cho các hệ thống Unix: TCP/IP và UUCP. Hầu hết các mạng TCP/IP đều sử dụng card mạng Ethernet để kết nối. Linux hỗ trợ rất nhiều loại card Ethernet thông dụng cũng như các loại Fast Ethernet, ATM, ISDN, mạng LAN không dây, Token Ring, và các giao diện mạng hiệu năng cao khác. Linux cũng hỗ trợ PPP và SLIP, cho phép kết nối Internet qua Modem. Linux hỗ trợ các trình duyệt Web như Netscape và các Web Server như Apache. Các dịch vụ truyền thư điện tử như: sendmail, exim và smail; các dịch vụ telnet, rlogin, ssh, và rsh cho phép có thể truy nhập và làm việc trên một máy tính khác trên mạng. 2.6./ GIAO TIẾP VỚI WINDOWS VÀ MS DOS Linux có nhiều tiện ích cho phép có thể giao tiếp với Windows và MS DOS. Trong đó phải kể đến Wine – trình giả lập MS Windows trên X Window của Linux. Chương trình này cho phép các ứng dụng trên Windows có thể chạy được trên Linux. Linux cũng cung cấp một giao diện để chuyển đổi giữa các tập tin của Linux và Windows. Edited by Duc Long – Feb, 2005 82 3/. CẤU TRÚC Ổ ĐĨA – THƯ MỤC 3.1./ CẤU TRÚC Ổ ĐĨA Linux lưu trữ các tập tin không dạng có các ổ đĩa A:, C: giống như trong MS DOS hay MS Windows. -Đối với MS DOS, trước tiên phải phân hoạch ổ đĩa bằng một chương trình như FDISK, để báo cho ổ đĩa biết sẽ được tách nhỏ như thế nào. Sau đó, dùng lệnh Format để xác lập phân hoạch đó sẽ dùng trong DOS, được gọi là một ổ đĩa (như ổ đĩa C:, E:) -Đối với Linux, vẫn phải phân hoạch ổ đĩa vật lý để chia nhỏ. Sau đó, dùng một chương trình như mke2fs để định dạng phân hoạch, mà trong Linux gọi là hệ thống tập tin (File System). Người dùng chỉ làm việc với 1 ổ đĩa, và mọi thứ đều được diễn tả theo dạng các thư mục con của ổ đĩa. Do đó phải có một thư mục gốc để ráp nối mọi thứ, kí hiệu là /. 3.2./ CẤU TRÚC THƯ MỤC Phân loại thư mục Có 2 cách để phân loại các kiểu thư mục: + Loại thư mục dùng chung (chia sẻ được) và không dùng chung (không chia sẻ được). + Loại thư mục tĩnh (static) và loại thư mục thay đổi (variable). Các thư mục dùng chung là các thư mục được dùng chung trên nhiều máy tính. Chúng có thể được kết gán (mount) thông qua mạng và sử dụng như một thư mục cục bộ trên các máy tính. Ngược lại, thư mục không dùng chung là loại thư mục chỉ sử dụng trên một máy tính cục bộ, không chia sẻ. Thư mục tĩnh (static) là loại thư mục chứa các file nhị phân, các file khả thi, các thư viện, thậm chí là các tài liệu... nhưng chỉ có người quản trị hệ thống mới thay đổi nội dung của chúng. Ngược lại các thư mục thay đổi (variable) là các thư mục mà nội dung của chúng được thay đổi bởi bất cứ ai, bất cứ chương trình nào (miễn là có quyền) mà không nhất thiết là người quản trị. Ví dụ : Dùng chung Không dùng chung Tĩnh /usr /opt /boot /etc Thay đổi /var/mail /var/run /var/spool/news /var/run /var/lock Cấu trúc cây thư mục Mục đích Hệ thống file gốc là hệ thống file đầu tiên mà hệ điều hành kết gán và làm việc. Nó phải thực hiện được việc khởi động hệ thống, lưu trữ, phục hồi hệ thống khi có sự cố, chứa các điểm kết gán tới các hệ thống file khác. Theo nghĩa đó, hệ thống file gốc cần phải chứa các chương trình, các tiện ích khởi động hệ thống (hoặc các điểm kết gán tới các hệ thống file khác chứa các dữ liệu đó), ngoài ra là các tiện ích thao tác cơ bản với file, thư Edited by Duc Long – Feb, 2005 83 mục, các chương trình back up và phục hồi dữ liệu... Tuy nhiên, do hệ thống file gốc là cực kỳ quan trọng nên người ta có xu hướng là giữ nó càng nhỏ gọn càng tốt, tại những thời điểm cần thiết. NỘI DUNG THƯ MỤC GỐC Gồm các thư mục sau: Thư mục Mô tả /bin Các chương trình quan trọng, cốt lõi của hệ thống /boot Các file khởi động hệ thống (kernel, thông tin về các module) /dev Các file thiết bị /etc Các file cấu hình của hệ thống cục bộ /lib Các thư viện liên kết động cốt lõi của hệ thống, và module nhân /mnt Các điểm kết gán đến các hệ thống file khác (mang tính tạm thời) /opt Các chương trình dạng ađ-on (không thực sự tối cần thiết với hệ thống) /sbin Các chương trình dành cho người quản trị hệ thống /tmp Các file lưu trữ tạm thời /usr Hệ thống file thứ hai /var Các file dữ liệu của hệ thống (thường xuyên được cập nhật khi hệ thống vận hành) /home Thư mục chứa các thư mục chủ của những người dùng trong hệ thống /root Thư mục chủ của người quản trị tối cao của hệ thống (tài khoản root) Thư mục /bin Thư mục này chứa các chương trình được sử dụng bởi cả quản trị hệ thống và người dùng. Nó bao gồm các hệ vỏ, các lệnh cơ bản về thao tác với file, thư mục như tạo mới, sao chép, thay đổi thuộc tính, xoá/di chuyển... Thông thường nó nằm ngay trong hệ thống file gốc, không có bất kỳ một thư mục con nào trong đó. Thư mục /boot Thư mục này chứa tất cả dữ liệu liên quan đến tiến trình khởi động hệ thống trừ các file cấu hình. Bao gồm nhân của hệ điều hành, các file dữ liệu của nhân hoặc được trình nạp hệ điều hành sử dụng, bản sao các boot sector và master boot record. Thư mục /dev Thư mục /dev chứa các file thiết bị của hệ thống, bao gồm các giao diện tới các thiết bị phần cứng của hệ thống. Nó có thể chứa một tiện ích là MAKEDEV để tạo các file thiết bị. Thư mục /etc Hầu như tất cả các file cấu hình hệ thống được lưu trữ ở đây, đôi khi nó còn chứa cả các thư mục con cho nhiều file cấu hình của một chương trình. Nó phải chứa một số file quan trọng của hệ thống như fstab, hosts, inittab, mtab, ld.so.conf... Thư mục /lib Là thư mục chứa các thư viện liên kết động tối quan trọng của hệ thống, chúng được sử dụng bởi hầu như tất cả các chương trình trong hệ thống có dùng thư viện chia sẻ. Ngoài ra là các module của nhân được nạp vào bộ nhớ khi cần thiết. Thư mục /opt Đây là thư mục không bắt buộc phải có trên hệ thống, nó là nơi các phần mềm ađ-on được cài đặt, có tính chất tạm thời, thử nghiệm, các file cấu hình của nó được lưu trong /etc/opt, dữ liệu của nó lưu trong /var/opt. Edited by Duc Long – Feb, 2005 84 Thư mục /sbin Chứa các chương trình dành riêng cho nhà quản trị hệ thống như phân vùng đĩa cứng, kiểm tra các hệ thống file, các chương trình đăng nhập hệ thống, cấu hình mạng, tắt hệ thống.. Thư mục /home Toàn bộ dữ liệu của người dùng trên hệ thống được lưu trữ ở đây, thông thường mỗi người có một thư mục con riêng và họ chỉ được toàn quyền truy xuất trong thư mục của mình. Thư mục /root Cũng như những người dùng khác trên hệ thống, tài khoản root dành cho người quản trị tối cao cũng có một thư mục làm việc riêng, không nằm trong thư mục /home. Thư mục /tmp Xu hướng gần đây, rất nhiều chương trình sử dụng các file tạm thời trong quá trình làm việc, do vậy trên hệ thống cần phải có một thư mục mà tất cả các chương trình của hệ thống có quyền đọc ghi. Thuộc tính của thư mục /tmp luôn luôn nên là đọc/ghi/thực thi cho tất cả người dùng. Thư mục /usr Được coi là hệ thống cây thư mục thứ hai, thông thường nó chứa các chương trình, dữ liệu tính và có thể dùng chung trên toàn hệ thống. Với các hệ thống lớn, thư mục này thường là điểm kết gán tới các hệ thống file khác. Chứa một cấu trúc thư mục con như sau: /usr bin Chứa hầu hết các lệnh mà mọi người dùng có thể sử dụng. include Các file tiêu đề (header file *.h) được các chương trình biên dịch C sử dụng. lib Các thư viện dùng chung hoặc của các chương trình được lưu trữ trên /usr/bin sbin Các chương trình được người quản trị sử dụng nhưng không quá quan trọng với hệ thống. share Các dữ liệu không phụ thuộc vào nền tảng hệ thống như các tài liệu, các trang trợ giúp trực tuyến, các dữ liệu tĩnh của các chương trình. local Là một nhánh cây con, trong đó chứa cả một cấu trúc thư mục giống như /usr. Các chương trình mà nhà quản trị hệ thống thấy không cần thiết đưa vào trong cây thư mục /usr vì những lý do an toàn hoặc thử nghiệm thì có thể đặt ở đây. Đây là thư mục không được dùng chung trên các máy tính khác, chỉ có ý nghĩa với người dùng trên hệ thống cục bộ. Edited by Duc Long – Feb, 2005 85 Thư mục /var Đây là thư mục được thay đổi nhiều nhất trên toàn bộ hệ thống trong thời gian vận hành. Với các hệ thống lớn, nó thường được lưu trữ trên một hệ thống file riêng. /var cache Thông tin của một số chương trình được lưu trữ vào thư mục này, nó có tác dụng như một bộ đệm dữ liệu và có thể được dùng chung cho nhiều máy tính hoặc các chương trình khác nhau (chẳng hạn như các proxy server hay web server). lib Nơi lưu trữ các dữ liệu ít được cập nhật hơn, chẳng hạn các cơ sở dữ liệu của hệ thống DNS, NIS hay của một số hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL. local Dữ liệu của các chương trình trên cây thư mục /usr/local được lưu trữ ở đây. lock Các file mà một chương trình nào đó trên hệ thống muốn khoá lại thường được copy ra một bản và lưu trữ ở đây log Thông tin về toàn bộ quá trình hoạt động của hệ thống từ lúc khởi động cho đến khi tắt máy tính thường được các chương trình deamon lưu lại trong các file ở đây. run Một số chương trình, nhất là các tiến trình nền (deamon) của hệ thống thường lưu trữ dữ liệu hoạt động liên quan đến quản lý tiến trình của mình ở đây (số hiệu tiến trình, số hiệu nhóm tiến trình..). spool Dữ liệu chuẩn bị được chuyển sang các máy tính khác hoặc các thiết bị ngoại vi như thư điện tử, các bản in... được đưa vào các hàng đợi nằm trong thư mục này tmp Thông thường là một liên kết trỏ đến /tmp, nó lưu trữ dữ liệu tạm thời trong quá trình khởi động lại hệ thống 4/. LÀM QUEN VỚI LINUX 4.1./ BẮT ĐẦU PHIÊN LÀM VIỆC: Khi bắt đầu bật máy tính (terminal), trên màn hình sẽ xuất hiện thông báo: Linux login: Trên Linux, mỗi người sử dụng đều phải có một tài khoảng (account) của riêng mình và chỉ có quyền làm những gì mà tài khoản đó được phép. Khi đã có tài khoản, nhập vào tài khoản, màn hình sẽ xuất hiện tiếp: Password: Nhập mật khẩu tương ứng với tài khoản đăng nhập và nhấn phím Enter để xác nhận. Nếu tài khoản và mật khẩu đăng nhập đúng thì màn hình sẽ hiện thông báo như: [long@may10 longld] $ Đây là dấu nhắc của trình điều khiển các dòng lệnh. 4.2./ KẾT THÚC PHIÊN LÀM VIỆC: Gõ lệnh: $ exit 4.3./ CÚ PHÁP CƠ BẢN CỦA MỘT DÒNG LỆNH TRÊN LINUX: $ [ tùy chọn] [đối số 1] [đối số 2] [đối số n] Ví dụ: $ cd /usr/bin chuyển vào thư mục usr/bin $ ls /home xem thư mục home $ rm bt* xóa các tập tin có tên bắt đầu bằng bt
File đính kèm:
- giao_trinh_mon_hoc_tin_hoc_dai_cuong.pdf