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

trường thcs hoàng xuân hãn

150 7 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

1. Phạt cảnh cáo hoặc phạt tiền từ 50.000 đồng đến 200.000 đồng đối với hành vi không khai báo làm thủ tục cấp lại khi giấy phép cung cấp dịch vụ Internet bị mất, hoặc bị hƣ hỏng. b) Sử[r]

(1)

HỌC VIỆN NÔNG NGHIỆP VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN

CHỦ BIÊN: PHẠM QUANG DŨNG

GIÁO TRÌNH

(2)

Ebook miễn phí tại: Webtietkiem.com

LỜI NĨI ĐẦU

Cuốn giáo trình Tin học đại cƣơng đƣợc viết giảng viên Khoa Công nghệ thông tin, Học viện Nơng nghiệp Việt Nam Giáo trình bao gồm kiến thức kiến thức cập nhật số khía cạnh chủ yếu lĩnh vực Khoa học máy tính Cơng nghệ thơng tin nhƣ phần cứng, phần mềm, hệ điều hành, mạng máy tính Internet, sở liệu, thuật tốn, ngơn ngữ lập trình, an tồn thơng tin Mỗi chƣơng đƣợc viết giảng viên có kinh nghiệm giảng dạy nhiều năm học phần chuyên nội dung tƣơng ứng

Cuốn giáo trình đƣợc dùng để làm tài liệu giảng dạy học tập cho học phần Tin học đại cƣơng gồm tín chƣơng trình đào tạo ngành khơng chun Tin học thuộc Học viện Nông nghiệp Việt Nam Tất nhiên giáo trình đƣợc dùng làm tài liệu tham khảo cho nhiều đối tƣợng bạn đọc khác muốn mở mang kiến thức

Giáo trình gồm chƣơng, chƣơng mảng kiến thức tƣơng đối độc lập với chƣơng khác Bạn đọc lựa chọn đọc phần phù hợp với nhu cầu mà hầu nhƣ khơng gặp trở ngại địi hỏi kiến thức từ phần trƣớc

Chƣơng 1: Giới thiệu chung, TS Phạm Quang Dũng ThS Trần Thị Thu Huyền viết Chƣơng giới thiệu số kiến thức tảng chung gồm: (1) Các khái niệm liệu, thông tin, tin học, công nghệ thông tin; (2) Các hệ thống số dùng máy tính; (3) Mã hóa biểu diễn thơng tin máy tính; (4) Các ứng dụng cơng nghệ thơng tin

Chƣơng 2: Cấu trúc máy tính, TS Phạm Quang Dũng biên soạn Chƣơng đề cập đến: (1) Chức năng, sơ đồ tổ chức, nguyên lý hoạt động máy tính; (2) Cấu trúc chức thành phần máy tính, thuộc khối chức gồm: xử lý trung tâm, nhớ, thiết bị ngoại vi liên kết hệ thống

Chƣơng 3: Phần mềm máy tính hệ điều hành, đƣợc viết ThS Phạm Thủy Vân Qua chƣơng bạn đọc hiểu đƣợc vấn đề về: (1) Khái niệm phân loại phần mềm máy tính, quy trình phát triển phần mềm; (2) Khái niệm, lịch sử phát triển hệ điều hành, số hệ điều hành thơng dụng cho máy tính thiết bị di động

Chƣơng 4: Mạng máy tính Internet, ThS Phan Thị Thu Hồng đảm nhiệm Chƣơng giới thiệu đến bạn đọc kiến thức mạng máy tính Internet bao gồm: (1) Khái niệm, thành phần bản, mô hình kết nối giao thức mạng, phân loại mạng máy tính; (2) Các khái niệm, dịch vụ phổ biến nhƣ world wide web, tìm kiếm, thƣ điện tử, lƣu trữ đám mây

Chƣơng 5: Cơ sở liệu, ThS Hoàng Thị Hà biên soạn Trong chƣơng bạn đọc nắm đƣợc kiến thức về: (1) Cơ sở liệu: khái niệm, lợi ích mức thể sở liệu, hệ sở liệu; (2) Khái niệm chức hệ quản trị sở liệu; (3) Các câu lệnh ngơn ngữ truy vấn có cấu trúc (SQL)

(3)

Chƣơng 7: Các vấn đề xã hội công nghệ thông tin; ThS Nguyễn Văn Hoàng đảm nhiệm Qua chƣơng bạn đọc thu nhận đƣợc kiến thức về: (1) An tồn thơng tin nhƣ tài ngun bị xâm phạm, hình thức cơng để lấy cắp hay phá hoại thông tin; (2) Một số điều Bộ luật hình tội phạm lĩnh vực tin học; (3) Vấn đề sở hữu trí tuệ nói chung sở hữu trí tuệ cơng nghệ thơng tin nói riêng

Do lần viết giáo trình Tin học đại cƣơng theo hƣớng cải tiến nên chắn tránh khỏi thiếu sót Nhóm tác giả mong nhận đƣợc ý kiến góp ý từ bạn đọc để lần tái sau giáo trình tốt Mọi ý kiến đóng góp xin gửi địa pqdung@vnua.edu.vn

Chúng xin chân thành cảm ơn!

Hà Nội, tháng năm 2015

(4)

MỤC LỤC

LỜI NÓI ĐẦU III MỤC LỤC V DANH MỤC CHỮ VIẾT TẮT VIII

CHƢƠNG GIỚI THIỆU CHUNG

1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN

1.1.1 Dữ liệu

1.1.2 Thông tin

1.1.3 Tin học

1.1.4 Công nghệ thông tin

1.2 CÁC HỆ THỐNG SỐ VÀ CÁC PHÉP TOÁN DÙNG TRONG MÁY TÍNH

1.2.1 Các hệ thống số

1.2.2 Chuyển đổi hệ số

1.2.3 Các phép toán số học hệ

1.3 BIỂU DIỄN VÀ MÃ HĨA THƠNG TIN

1.3.1 Biểu diễn thơng tin máy tính đơn vị thông tin

1.3.2 Khái niệm mã hóa

1.3.3 Mã hóa tập ký tự 10

1.3.4 Mã hóa số nguyên số thực 11

1.3.5 Mã hóa liệu logic 13

1.3.6 Mã hóa hình ảnh tĩnh 13

1.3.7 Mã hóa âm phim ảnh 15

1.4 ỨNG DỤNG CỦA CÔNG NGHỆ THÔNG TIN 15

1.4.1 Các toán khoa học kỹ thuật 15

1.4.2 Các toán quản lý 16

1.4.3 Tự động hóa 17

1.4.4 Cơng tác văn phịng 17

1.4.5 Giáo dục 17

1.4.6 Thƣơng mại điện tử 18

CHƢƠNG CẤU TRÚC MÁY TÍNH 19

2.1 GIỚI THIỆU 19

2.2 CHỨC NĂNG VÀ SƠ ĐỒ CẤU TRÚC CỦA MÁY TÍNH 20

2.2.1 Chức máy tính: 20

2.2.2 Sơ đồ cấu trúc chung máy tính 20

2.2.3 Nguyên lý hoạt động máy tính 21

2.3 CÁC THÀNH PHẦN CƠ BẢN CỦA MÁY TÍNH 22

(5)

2.3.3 Thiết bị vào/ra 35

2.3.4 Liên kết hệ thống 40

CHƢƠNG PHẦN MỀM MÁY TÍNH VÀ HỆ ĐIỀU HÀNH 42

3.1 PHẦN MỀM MÁY TÍNH 42

3.1.1 Khái niệm phần mềm 42

3.1.2 Phân loại phần mềm 43

3.1.3 Quy trình phát triển phần mềm 45

3.1.4 Phần mềm mã nguồn đóng mã nguồn mở 46

3.2 HỆ ĐIỀU HÀNH 47

3.2.1 Khái niệm hệ điều hành 47

3.2.2 Lịch sử phát triển phân loại hệ điều hành 48

3.2.3 Một số hệ điều hành điển hình 51

3.2.4 Quản lý liệu nhớ 57

CHƢƠNG MẠNG MÁY TÍNH VÀ INTERNET 59

4.1 MẠNG MÁY TÍNH 59

4.1.1 Các thành phần mạng máy tính 59

4.1.2 Mơ hình kết nối giao thức mạng 60

4.1.3 Phân loại mạng máy tính 62

4.2 INTERNET 63

4.2.1 Một số khái niệm 63

4.2.2 Kết nối Internet 67

4.3 MỘT SỐ DỊCH VỤ CƠ BẢN CỦA INTERNET 67

4.3.1 WWW (World Wide Web) 67

4.3.2 Tìm kiếm 68

4.3.3 Thƣ điện tử 72

4.3.4 Lƣu trữ liệu đám mây 76

CHƢƠNG CƠ SỞ DỮ LIỆU 80

5.1 CƠ SỞ DỮ LIỆU 80

5.1.1 Khái niệm sở liệu 80

5.1.2 Các mức thể sở liệu 81

5.1.3 Mơ hình liệu quan hệ 83

5.1.4 Hệ sở liệu 85

5.1.5 Lợi ích hệ sở liệu 85

5.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 86

5.2.1 Khái niệm 86

5.2.2 Phân loại hệ quản trị sở liệu 87

5.2.3 Chức hệ quản trị sở liệu 88

5.3 NGÔN NGỮ TRUY VẤN SQL 88

5.3.1 Câu lệnh truy vấn liệu 89

(6)

5.3.3 Thêm liệu 99

5.3.4 Xóa liệu 100

5.3.5 Các hàm SQL 100

CHƢƠNG THUẬT TỐN VÀ NGƠN NGỮ LẬP TRÌNH 103

6.1 PHƢƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH 103

6.2 THUẬT TỐN 103

6.2.1 Khái niệm thuật toán 103

6.2.2 Các tính chất thuật tốn 105

6.2.3 Cách diễn đạt thuật toán 106

6.2.4 Thiết kế thuật toán 108

6.2.5 Độ phức tạp thuật toán vấn đề đánh giá thuật toán 110

6.3 NGƠN NGỮ LẬP TRÌNH 113

6.3.1 Khái niệm ngơn ngữ lập trình 113

6.3.2 Lịch sử phát triển ngôn ngữ lập trình 113

6.3.3 Trình biên dịch trình thông dịch 117

6.3.4 Các công việc ngƣời lập trình 117

CHƢƠNG CÁC VẤN ĐỀ XÃ HỘI CỦA CÔNG NGHỆ THÔNG TIN 122

7.1 CÁC TÀI NGUYÊN CÓ THỂ BỊ XÂM PHẠM 122

7.1.1 Nội dung thông tin 122

7.1.2 Tài nguyên hạ tầng công nghệ thông tin 122

7.1.3 Định danh ngƣời dùng 122

7.2 CÁC HÌNH THỨC TẤN CƠNG 123

7.2.1 Tận dụng lỗ hổng phần mềm 123

7.2.2 Sử dụng phần mềm độc hại 123

7.2.3 Tấn công từ chối dịch vụ 127

7.2.4 Lừa đảo 129

7.3 SỞ HỮU TRÍ TUỆ 130

7.3.1 Tài sản trí tuệ 130

7.3.2 Quyền sở hữu trí tuệ 130

7.3.3 Luật sở hữu trí tuệ 130

7.4 CÁC QUY ĐỊNH, ĐIỀU LUẬT VỀ AN TỒN THƠNG TIN VÀ SỞ HỮU TRÍ TUỆ 132

7.4.1 Các điều Bộ luật hình 132

7.4.2 Điều Nghị định Chính phủ 135

7.4.3 Các điều Luật Công nghệ thông tin 137

(7)(8)

DANH MỤC CHỮ VIẾT TẮT

Chữ viết tắt Từ tiếng Anh Nghĩa tiếng Việt

AAC Advanced Audio Coding Mã hóa âm tiên tiến ADSL Asymmetric Digital Subscriber

Line

Đƣờng dây thuê bao số bất đối xứng ALU Arithmetic and Logic Unit Đơn vị toán học logic, nằm CPU AMD

Advanced Micro Devices

Các vi thiết bị tiên tiến, tên tập đoàn phát triển thiết bị loại nhƣ vi xử lý máy tính cơng nghệ liên quan

ARM Advanced RISC Machine Một loại cấu trúc vi xử lý 32-bit kiểu RISC

ASCII American Standard Code for Information Interchange

Bảng mã chuẩn Mỹ dùng để trao đổi thông tin

ATA

Advanced Technology Attachment

Cách gọi ngắn gọn Paralell ATA, chuẩn giao tiếp kết nối máy tính ổ đĩa cứng, ổ đĩa quang máy tính

ATI

Array Technology Inc

Tên tập đoàn đƣợc thành lập năm 1985, chuyên sản xuất cạc đồ họa cho máy tính cá nhân Năm 2006, ATI đƣợc tập đồn AMD mua lại

BD Bluray Disk Một dạng đĩa quang cho phép ghi/phát lại

hình ảnh/âm với chất lƣợng cao BIOS Basic Input/Output System Hệ thống vào/ra

CCFL Cold-Cathode Fluorescent Lamp Đèn huỳnh quang catốt lạnh

CD Compact Disc Đĩa CD (gọn nhẹ), dạng đĩa quang

CIDR Classless Inter-Domain Routing Lƣợc đồ địa Internet CISC Complex Instruction Set Computer

[Architecture]

Kiến trúc tập lệnh phức tạp CMOS Complementary Metal–Oxide–

Semiconductor,

Công nghệ bán dẫn kim loại bù, dùng để chế tạo vi mạch tích hợp

CMYK Hệ màu gồm màu sở: Cyan, Magenta,

Yellow, Black

CNTT Công nghệ thông tin

CPU Central Processing Unit Bộ xử lý trung tâm

CSDL Cơ sở liệu

CU Control Unit Đơn vị điều khiển, nằm CPU

(9)

Chữ viết tắt Từ tiếng Anh Nghĩa tiếng Việt DDR-

SDRAM

Double Data Rate SDRAM, SDRAM có tốc độ truyền liệu gấp đôi DIB Device-Independent Bitmap Dạng biểu diễn ảnh Bitmap mà không phụ

thuộc vào thiết bị lƣu trữ DNS

Domain Name System, Hệ thống tên miền Internet, cho phép thiết lập tƣơng ứng địa IP tên miền

DRAM Dynamic RAM RAM động, đƣợc dùng để chế tạo nhớ

chính

DVD Digital Video Disc, Digital Versatile Disc

Đĩa video số, đĩa đa số, dạng đĩa quang

EEPROM Electrically Erasable Programmable ROM

Bộ nhớ đọc lập trình xóa điện

ENIAC

Electronic Numerical Intergator and Computer

Máy tính tích hợp số điện tử, tên máy tính điện tử giới (năm 1946)

EOF

End Of File Tên ký tự đặc biệt đánh dấu kết thúc tệp tin

FSB Front Side Bus Tên bus bên CPU

GPL General Public License Một điều kiện áp dụng cho việc sử dụng phần mềm nguồn mở

HD (1) High Definition Độ rõ nét cao

HD (2) Hard Disk Đĩa cứng, ngầm hiểu dùng công nghệ từ tính Một dạng ổ cứng khác dùng cơng nghệ flash SSD – ổ cứng thể rắn

HQTCSDL Hệ quản trị sở liệu

HTML Hypertext Markup Language Ngôn ngữ đánh dấu siêu văn IDE (1)

Integrated Drive Electronics Một chuẩn kết nối khác máy tính với các loại ổ đĩa nêu IDE (2) Integrated Development

Environment

Môi trƣờng phát triển tích hợp

IP Internet Protocol Giao thức mạng Internet

ISP Internet Service Provider Nhà cung cấp dịch vụ Internet

KHKT Khoa học kỹ thuật

LAN/ MAN/ WAN/ VAN

Local/ Metropolitan/ Wide/ Vast Area Network

Mạng cục / đô thị / diện rộng / tồn cầu LCD Liquid Crystal Display Màn hình tinh thể lỏng

LED Light-Emitting Diode Điốt phát sáng

(10)

Chữ viết tắt Từ tiếng Anh Nghĩa tiếng Việt

MIPS Million Instructions per Second Số triệu lệnh giây MPEG Moving Picture Experts Group Một định dạng tệp video

MS-DOS Microsoft Disk Operating System Hệ điều hành hƣớng đĩa hãng Microsoft

NAT Network Address Translation Biên dịch địa mạng NCP Network Control Protocol Giao thức điều khiển mạng NIC Network Interface Card Cạc giao diện mạng

ODBMS Object BDMS Hệ quản trị sở liệu hƣớng đối tƣợng

OS Operating System Hệ điều hành

PC Personal Computer Máy tính cá nhân

RAM Random Access Memory Bộ nhớ truy nhập ngẫu nhiên RDBMS Relational BDMS Hệ quản trị sở liệu quan hệ

RGB Hệ màu gồm màu sở: Red, Green,

Blue RISC Reduced Instruction Set Computer

[Architecture],

Kiến trúc tập lệnh tập lệnh rút gọn

ROM Read Only Memory Bộ nhớ cho phép đọc

SATA

Serial ATA Một chuẩn gắn kết nối tiếp, để nối ổ đĩa cứng ổ đĩa quang với bo mạch chủ SDRAM Synchronous DRAM RAM động làm việc đƣợc đồng

xung đồng hồ

SQL Structured Query Language Ngơn ngữ truy vấn có cấu trúc

SRAM Static RAM RAM tĩnh, đƣợc dùng để chế tạo nhớ

cache

SSD Solid State Drive Ổ cứng thể rắn, dùng công nghệ flash TCP/IP Transmission Control Protocol/

Internet Protocol

Giao thức điều khiển truyền liệu/giao thức Internet

USB Universal Serial Bus Bus nối tiếp đa năng, chuẩn kết nối thiết bị ngoại vi với máy tính

VGA Video Graphics Array

Tên cạc đồ họa video cổng kết nối máy tính với hình máy chiếu (projector)

VXL Vi xử lý

XML

eXtensible Markup Language,

(11)

Chương

GIỚI THIỆU CHUNG

Chương giới thiệu kiến thức tảng Tin học Mục 1.1 nêu những khái niệm liệu, thông tin, tin học công nghệ thơng tin Mục 1.2 trình bày biểu diễn liệu máy tính, hệ thống số chuyển đổi hệ số Các mã hóa số dạng liệu thơng dụng trình bày mục 1.3 Cuối cùng, mục 1.4 giới thiệu những ứng dụng công nghệ thông tin lĩnh vực đời sống

1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN

Đối với chúng ta, q trình hình thành trí tuệ việc thu nhận xử lý liệu rời rạc để có thơng tin, kiểm nghiệm thơng tin để vận dụng vào mục đích cụ thể ta gọi tri thức Trí tuệ khả sử dụng tri thức cách khôn ngoan nhằm đạt đƣợc mục đích Một ví dụ cụ thể trình nhƣ sau:

- Dữ liệu: mƣa, nắng, râm, cao, thấp, vừa, bay, chuồn chuồn, trời

- Thông tin: thấy chuồn chuồn bay thấp thƣờng thấy lúc sau trời mƣa, bay cao vừa phải trời râm mát, cịn bay cao trời nắng

- Tri thức: chuồn chuồn bay thấp trời mƣa, bay cao trời nắng, bay vừa trời râm

- Trí tuệ: thấy chuồn chuồn bay thấp ta cất quần áo phơi Ví dụ đỉnh cao lợi dụng thời tiết thời Tam Quốc nhƣ Chu Du lợi dụng gió đánh hỏa cơng trận Xích Bích, Gia Cát Lƣợng lợi dụng mƣa tuyết phá trận xe thiết xa rợ Khƣơng

Trong lĩnh vực cơng nghệ thơng tin, máy tính trợ giúp ngƣời chủ yếu khâu đầu tiên, từ liệu đến thông tin Phần giới thiệu tới bạn đọc khái niệm liệu, thông tin, tin học công nghệ thông tin

1.1.1 Dữ liệu

Dữ liệu (Data) số kiện túy, rời rạc quan sát đo đếm đƣợc, khơng có ngữ cảnh hay diễn giải Dữ liệu sau đƣợc tổ chức lại xử lý cho thơng tin

Ví dụ: Với sách chữ, hình ảnh liệu cịn nội dung sách thông tin Để biết đƣợc nội dung phải đọc sách Việc đọc sách xử lý liệu

Trong thực tế liệu là:

- Văn bản: Sách, báo, truyện, công văn

- Các loại số liệu: Số liệu thống kê nhân sự, thời tiết, kho tàng - Âm thanh, hình ảnh: Tiếng nói, âm nhạc, phim ảnh, tranh vẽ 1.1.2 Thông tin

Thông tin (Information) khái niệm trừu tƣợng đƣợc thể qua thông báo, biểu , đem lại nhận thức chủ quan cho đối tƣợng nhận tin Thông tin liệu đƣợc xử lý xong, mang ý nghĩa rõ ràng

(12)

Ví dụ: Khi nói chuyện trực tiếp với nhau, thông tin đƣợc thể dƣới dạng âm đƣợc truyền tải qua môi trƣờng sóng âm Cịn trao đổi với qua điện thoại, thông tin đƣợc biểu diễn dƣới dạng âm nhƣng đƣợc truyền tải qua môi trƣờng sóng điện từ

Tuy nhiên, liệu thông tin lúc đồng với

Ví dụ: Một số kí hiệu hệ đếm La Mã mang ý nghĩa thông tin số nhƣng hệ thống chữ La-tinh lại mang ý nghĩa chữ

Cùng liệu nhƣng tùy thuộc vào đối tƣợng tiếp nhận liệu khác lại cho khối lƣợng chất lƣợng thơng tin khác

Ví dụ: Cùng tài liệu có sinh viên hiểu đƣợc 100% nhƣng có sinh viên hiểu đƣợc 50%, có sinh viên phát triển liên hệ đƣợc với vấn đề khác nhƣng có sinh viên lại khơng

Hình thức vật lý thơng tin đƣợc gọi tín hiệu Giữa thơng tin tín hiệu khơng phải lúc đồng với Cùng thông tin đƣợc biểu diễn nhiều tín hiệu khác ngƣợc lại tín hiệu biểu diễn nhiều dạng thơng tin khác

Ví dụ: Cùng thông tin dẫn giao thông nhƣng đƣợc biểu diễn dƣới tín hiệu khác nhƣ đèn tín hiệu giao thơng dẫn cảnh sát giao thông Hay tín hiệu gật đầu trƣờng hợp khác lại biểu diễn thông tin khác tùy thuộc vào câu hỏi

1.1.3 Tin học

Thông tin nằm liệu, xử lý thông tin bao gồm nhiều trình xử lý liệu để rút thơng tin hữu ích phục vụ ngƣời Khi xã hội phát triển khối lƣợng thông tin, liệu ngày nhiều ngƣời xử lý thông tin cách thủ công đƣợc mà cần tới hỗ trợ máy móc để xử lý thông tin cách tự động Trƣớc yêu cầu ngƣời, ngành khoa học đời, Tin học

Tin học (Informatics) ngành khoa học chuyên nghiên cứu phương pháp, công nghệ kỹ thuật xử lý thông tin cách tự động

Hay nói cách khác: Tin học ngành khoa học chuyên nghiên cứu khả lƣu trữ, truyền tải xử lý thông tin Điều đƣợc thể rõ qua trình hình thành phát triển ngành tin học Trƣớc đây, thiết bị lƣu trữ chƣa đa dạng có dung lƣợng nhỏ với dung lƣợng tính theo Megabyte, Gigabyte đƣợc thay dần thiết bị lƣu trữ đa dạng, gọn nhẹ nhƣng có dung lƣợng lƣu trữ lớn nhiều, tính theo Terabyte; Đƣờng truyền thơng tin có tốc độ thấp dần đƣợc thay đƣờng truyền tốc độ cao, không dây; Những vi xử lý có tốc độ thấp dần đƣợc thay vi xử lý tốc độ cao, đa xử lý

Sản phẩm mà tin học phát minh để giúp ngƣời xử lý thông tin tự động máy vi tính hay máy tính (computer)

(13)

Khoa học máy tính ngành nghiên cứu sở lý thuyết thông tin tính tốn thực ứng dụng chúng hệ thống máy tính Khoa học máy tính gồm nhiều ngành hẹp; số ngành tập trung vào ứng dụng thực tiễn cụ thể chẳng hạn nhƣ đồ họa máy tính, số ngành khác lại tập trung nghiên cứu đến tính chất tốn tính tốn nhƣ lý thuyết độ phức tạp tính tốn Ngồi cịn có ngành khác nghiên cứu vấn đề việc thực thi phƣơng pháp tính tốn Ví dụ, ngành lý thuyết ngơn ngữ lập trình nghiên cứu phƣơng thức mơ tả cách tính tốn khác nhau, ngành lập trình nghiên cứu cách sử dụng ngơn ngữ lập trình hệ thống phức tạp ngành tƣơng tác ngƣời-máy tập trung vào thách thức việc làm cho máy tính cơng việc tính tốn hữu ích dễ sử dụng ngƣời dùng (trích từ wikipedia)

1.1.4 Cơng nghệ thơng tin

Thuật ngữ Công nghệ thông tin (Information Technology) mang ý nghĩa khía cạnh kỹ thuật, cơng nghệ khía cạnh khoa học Ở Việt Nam, thuật ngữ đƣợc sử dụng rộng rãi, dễ gây nhầm lẫn “Công nghệ thông tin” mang nghĩa rộng “Khoa học máy tính”

Luật Cơng nghệ thơng tin Quốc hội nƣớc Cộng hịa XHCN Việt Nam ban hành ngày 29/6/2006 có đƣa khái niệm: “Công nghệ thông tin tập hợp phương pháp khoa học,

công nghệ công cụ kỹ thuật sản xuất, truyền đưa, thu thập, xử lý, lưu trữ trao đổi thông tin số”

Ở đây, thông tin số thông tin đƣợc tạo lập phƣơng pháp dùng tín hiệu số Trƣớc đây, muốn gửi thƣ ngƣời ta thƣờng dùng phƣơng pháp chuyển thƣ tay nhƣng đƣợc thay thƣ điện tử Với khối lƣợng lớn cơng văn giấy tờ quan, xí nghiệp, trƣờng học việc lƣu trữ số trở nên đơn giản gọn nhẹ

1.2 CÁC HỆ THỐNG SỐ VÀ CÁC PHÉP TỐN DÙNG TRONG MÁY TÍNH

Trong máy tính có sử dụng hệ thống số hệ số 10 (gọi tắt hệ 10), hệ số hệ số 16 Trong đó, hệ hệ cốt lõi đƣợc vi xử lý sử dụng để tính tốn, xử lý (ta xét kỹ mục 1.3) Trong mục giới thiệu nội dung hệ thống số chuyển đổi chúng, phép toán số học hệ phép toán logic

1.2.1 Các hệ thống số

a Hệ số 10 (Hệ thập phân - Decimal Numeral System)

Hệ 10 hệ đếm đƣợc sử dụng để đếm tính tốn đời sống hàng ngày Hệ 10 sử dụng 10 ký hiệu số 0, 1, 2, 3, 4, 5, 6, 7, 8, để biểu diễn số Các chƣơng trình máy tính thƣờng cho phép ngƣời dùng nhập vào số hệ 10, xuất kết hệ 10, nhƣng trình tính tốn trung gian bên số hệ

Khi làm việc với nhiều hệ thống số khác nhau, để phân biệt số viết hệ số với số viết hệ số khác ngƣời ta thƣờng viết kèm theo số có giá trị số hệ đếm

Ví dụ: 209210; 789,1210; 12A16; 101102

Một số hệ 10 biểu diễn dạng khai triển theo số 10 Ví dụ: 8623,5610 = 8103 + 6102 + 2101 + 3100 + 510-1 + 610-2

Trong đó:

(14)

- 10 số hệ

- Số mũ tƣơng ứng với vị trí chữ số thành phần: với chữ số phần nguyên nhỏ nhất, tăng dần phía trái (1, 2, ), giảm dần phía phải (-1, -2 )

Từ hệ số 10 ta tổng quát hóa cho hệ số a (a 2) Số hệ a có chữ số bi,

Na = bnbn-1…b1b0,b-1b-2…b-m biểu diễn theo số a nhƣ sau:

Na = bnan + bn-1an-1 + … + b1a1 + b0a0 + b-1a-1+ b-2a-2 + … + b-ma-m (1.1)

Giá trị tổng vế phải công thức (1.1) đƣợc gọi giá trị số Na Công thức

(1.1) đƣợc sử dụng để chuyển đổi số hệ a sang hệ 10

b Hệ số (Hệ nhị phân - Binary Numeral System)

- Hệ hay hệ nhị phân sử dụng ký hiệu số để biểu diễn số Đây hệ số sở máy tính Máy tính lƣu trữ xử lý liệu dạng số nhị phân

- Có thể biểu diễn số hệ thành tổng hệ số nhân theo quy tắc nêu phần trên:

Ví dụ: 100112 = 124 + 023 + 022 + 121 + 120 = 1910 c Hệ số 16 (Hexadecimal Numeral System)

- Hệ 16 sử dụng 16 ký hiệu để biểu diễn số: 10 ký hiệu số từ 0, , để biểu diễn giá trị từ đến ký hiệu chữ A, B, C, D, E, F để biểu diễn giá trị từ 10 đến 15

- Hệ 16 đƣợc dùng để đánh địa ô nhớ, địa vật lý máy tính mạng (địa MAC), địa cổng vào-ra máy tính Các địa hiển thị cho ngƣời dùng dạng số hệ 16 mà hệ lý làm cho địa ngắn gọn hơn, dễ nhớ, dễ sử dụng

- Có thể biểu diễn số hệ 16 thành tổng hệ số nhân với lũy thừa số Ví dụ: 12A16 = 1162 + 2161 + A160 = 29810

1.2.2 Chuyển đổi hệ số

a Chuyển từ hệ a sang hệ 10

Quy tắc: Muốn chuyển số hệ a (2 16) sang hệ 10 ta đem triển khai số hệ a

ra thành tổng hệ số nhân với lũy thừa số, ta đƣợc biểu thức hệ 10 Tính giá trị biểu thức ta đƣợc số tƣơng ứng hệ 10

Ví dụ:

1101012 = 125 + 124 + 023 + 122 + 021 + 120 = 32 + 16 + + = 5310

10F16 = 1162 + 0161 + F160 = 256 + 15160 = 256 + 15 = 27110 b Chuyển từ hệ 10 sang hệ a

Ta xét trƣờng hợp chuyển số nguyên hệ 10 sang hệ a

(15)

Ví dụ 1: Đổi số 3410 sang hệ 2, ta thực phép chia nhƣ sau:

Kết 3410 = 1000102

Ví dụ 2: Đổi số 17210 sang hệ 16

Kết 17210 = AC16 (10 ứng với A, 12 ứng với C) c Chuyển từ hệ sang hệ 16

Bảng 1.1 Mƣời sáu số hệ số

Hệ 10 Hệ Hệ 16

0 0000

1 0001

2 0010

3 0011

4 0100

5 0101

6 0110

7 0111

8 1000

9 1001

10 1010 A

11 1011 B

12 1100 C

13 1101 D

14 1110 E

15 1111 F

Nhận xét: Từ bảng ta thấy hệ 16 dùng đến chữ số lớn hệ phải dùng đến

4 chữ số Vì 16 = 24, chữ số hệ 16 tƣơng đƣơng với chữ số hệ

Quy tắc: Để chuyển số từ hệ sang hệ 16 ta nhóm thành nhóm chữ số hệ từ

phải qua trái, sau chuyển nhóm chữ số hệ thành chữ số hệ 16 34

dư 17

2

2 2

0

172 dư 12

16

10 16

(16)

+ Ví dụ: 110 1100 10112 = ?16

0110 1100 1011 => 6CB16 d Chuyển từ hệ 16 sang hệ

Quy tắc: chuyển chữ số hệ 16 thành chữ số hệ

Ví dụ: 9C0A16 = ?2 = 1001 1100 0000 10102

1.2.3 Các phép toán số học hệ

a Phép cộng

Bảng cộng hai bit:

A B Tổng

(Sum, S)

Số nhớ (Carry, C)

0 0

0 1

1

1 1

Cách thức thực phép cộng hai số hệ thủ công: Thực cộng nhƣ hệ 10, cộng cột bit từ phải qua trái, có nhớ sang cột bit cao

Ví dụ:

C 1 A 1 B 0 1

A+B 1 1

Trong máy tính, phép cộng hai bit đƣợc thực mạch cộng nhƣ sau:

A S

B C

b Phép trừ

Trong kỹ thuật máy tính, để tận dụng mạch cộng có sẵn ngƣời ta thực phép trừ thơng qua phép cộng phép lấy số đối: cộng số bị trừ với số đối số trừ

A - B = A + (-B)

Vấn đề đặt phải có cách biểu diễn số âm hệ máy tính để phép tính tốn cho kết Cách biểu diễn số nguyên số thực (dƣơng, âm) đƣợc trình bày mục 1.3

c Phép nhân phép chia

(17)

1.2.4 Các phép toán logic

Ngồi việc hỗ trợ phép tốn số học, máy tính phải hỗ trợ phép tốn logic nhƣ NOT, AND, OR cần thiết chúng Ta hay phải làm việc với phép toán logic bảng tính Excel hay lập trình Ví dụ với ngơn ngữ lập trình Pascal, để kiểm tra một biến x có nằm khoảng [7,8) hay khơng, viết dịng “Điểm B”:

If (x>=7) and (x<8) then Writeln(“Diem B”);

Giá trị logic biểu diễn hai trạng thái đối lập đúng/sai, có/khơng Trong đại số logic giá trị đƣợc gọi TRUE, giá trị sai đƣợc gọi FALSE Các phép toán logic tác động giá trị logic TRUE, FALSE gồm có:

a Phép tốn NOT (phủ định hay đảo)

Bảng chân lý:

X NOT X

FALSE TRUE TRUE FALSE

b Phép toán AND (và)

Bảng chân lý:

X Y X AND Y

FALSE FALSE FALSE

FALSE TRUE FALSE

TRUE FALSE FALSE

TRUE TRUE TRUE

Nhận xét: Phép toán AND cho kết “đúng” hai toán hạng “đúng” c Toán tử OR (hoặc)

Bảng chân lý:

X Y X OR Y

FALSE FALSE FALSE

FALSE TRUE TRUE

TRUE FALSE TRUE

TRUE TRUE TRUE

Nhận xét: Phép toán OR cho kết “sai” hai toán hạng “sai” d Toán tử XOR (eXclusive OR, loại trừ)

(18)

X Y X XOR Y FALSE FALSE FALSE

FALSE TRUE TRUE

TRUE FALSE TRUE

TRUE TRUE FALSE

Nhận xét: Phép toán XOR cho kết “đúng” hai toán hạng khác nhau, cho kết

“sai” hai toán hạng giống

e Biểu thức logic thứ tự ưu tiên phép toán

- Biểu thức logic kết hợp giá trị logic phép toán logic để tạo giá trị logic Mỗi biểu thức logic có kết giá trị (TRUE) sai (FALSE)

- Nếu biểu thức logic có chứa nhiều phép tốn logic phép tốn logic đƣợc thực theo thứ tự ƣu tiên sau: NOT  AND  OR, XOR (OR XOR mức ƣu tiên) Các phép toán mức ƣu tiên đƣợc thực từ trái qua phải

Ví dụ:

(Các SV có hộ Hà Nội) AND NOT (Các SV dân tộc Kinh)

Trong ví dụ cần ƣu tiên thực phép NOT trƣớc thực phép AND 1.3 BIỂU DIỄN VÀ MÃ HĨA THƠNG TIN

1.3.1 Biểu diễn thơng tin máy tính đơn vị thông tin

a Biểu diễn thơng tin máy tính

Nhƣ đề cập mục 1.1, liệu thực tồn nhiều dạng khác nhau: dạng số (số nguyên, số thực) phi số (chữ viết, âm thanh, hình ảnh) Tuy nhiên, máy tính xử lý đƣợc liệu dạng số nhị phân (hệ số 2) Do vậy, liệu thực dạng muốn đƣa vào máy tính để lƣu trữ, xử lý, hay truyền tải cần phải đƣợc mã hóa (số hóa thành số nhị phân) Sau xử lý, liệu kết đƣợc khôi phục lại dạng dễ hiểu, dễ cảm nhận ngƣời

Sở dĩ máy tính dùng đƣợc số nhị phân để biểu diễn thơng tin linh kiện vật liệu điện tử dùng để chế tạo nhớ máy tính (flip-flop, tụ điện) có hai trạng thái đối lập (ví dụ nhƣ có điện khơng có điện), tƣơng ứng đƣợc biểu diễn

b Các đơn vị thông tin

Trong khoa học máy tính, chữ số nhị phân đƣợc gọi bit (viết tắt từ tiếng Anh BInary digiT) Mỗi ô nhớ máy tính lƣu trữ đƣợc bit Bản thân nhớ cịn đƣợc gọi bit Các bit đƣợc đánh số thứ tự

Một nhóm bit bit thứ 8i (i ≥ 0, nguyên) đƣợc gọi byte Các byte đƣợc đánh địa Byte gồm bit từ đến 7, byte gồm bit từ đến 15 Một đơn vị hay đƣợc sử dụng word (từ nhớ) Một word gồm 2, 4, hay byte tùy thuộc vào vi xử lý (CPU) cụ thể xử lý lần đƣợc byte

Các đơn vị bội byte hay đƣợc sử dụng cách quy đổi nhƣ sau: Kilobyte (1 KB) = 210 byte = 1024 byte

(19)

1 Gigabyte (1 GB) = 210 MB = 220 KB = 230 byte

1 Terabyte (1 TB) = 210 GB = 220 MB = 230 KB = 240 byte 1.3.2 Khái niệm mã hóa

Mã hóa thơng tin máy tính thực chất số hóa liệu thành chuỗi số nhị phân (hình 1.1) theo quy ƣớc chung để máy tính lƣu trữ, xử lý trao đổi thơng tin với

Hình 1.1 Sơ đồ số hóa liệu

Trong máy tính ngƣời ta dùng số nhị phân có độ dài (số bit) cố định để biểu diễn thông tin Các số nhị phân đƣợc gọi từ mã Với độ dài từ mã n, ta biểu diễn đƣợc 2n thơng tin khác

Ví dụ:

- Nếu dùng byte (8 bit) để biểu diễn số ngun khơng dấu ta biểu diễn đƣợc 28 = 256 số có giá trị từ đến 255 nhƣ sau:

Từ mã Số nguyên

0000 0000 0000 0001 0000 0010

… …

1111 1111 255

- Nếu dùng byte để biểu diễn ký tự (chữ cái, chữ số thập phân, dấu chấm câu, ký hiệu phép tốn ) biểu diễn đƣợc 28 = 256 ký tự khác

Cách mã hóa loại liệu đƣợc tuân theo chuẩn chung để máy tính “hiểu” đƣợc trao đổi, xử lý thơng tin

- Các ký tự: mã hóa theo bảng mã ASCII Unicode - Các số nguyên: mã hóa theo số chuẩn quy ƣớc - Các số thực: mã hóa theo số dấu phẩy động

- Dữ liệu ảnh, âm thanh, phim: mã hóa rời rạc thành ma trận số thực biểu diễn cƣờng độ sáng, tần số âm

Câu hỏi đặt máy tính phân biệt đƣợc chuỗi số nhị phân ứng với liệu dạng số, chuỗi ứng với dạng ký tự Ví dụ với chuỗi bit 0100 0001, máy tính cần hiểu biểu diễn số 6510, cần hiểu biểu diễn ký tự „A‟? Để thực

(20)

Các bit cao

báo kiểu cấu trúc liệu thành phần chƣơng trình để hệ điều hành ghi nhớ vào vùng nhớ thích hợp có địa kích thƣớc xác định Ví dụ, với file ảnh thơng tin đƣợc chƣơng trình tạo ảnh số lƣu đầu file Với ngôn ngữ lập trình, ngƣời lập trình khai báo hằng, biến qua câu lệnh Ta lấy ví dụ ngơn ngữ Pascal nhƣ sau:

Var ch: char; {biến ch có kiểu ký tự}

st: string; {biến st có kiểu chuỗi ký tự}

i: byte; {biến i có kiểu số nguyên không dấu bit} j: shortint; {biến j có kiểu số nguyên có dấu bit} k1: word; {biến k1 có kiểu số ngun khơng dấu 16 bit} k2: integer; {biến k2 có kiểu số nguyên có dấu 16 bit} m: longint; {biến m có kiểu số nguyên có dấu 32 bit}

r: real; {biến r có kiểu số thực byte}

t: double; {biến t có kiểu số thực byte}

Các mục trình bày việc mã hóa loại liệu thông dụng gồm: ký tự, số nguyên, số thực, ảnh tĩnh, âm phim ảnh

1.3.3 Mã hóa tập ký tự

Về nguyên tắc, quốc gia tự thiết kế bảng mã riêng để biểu diễn ký tự nƣớc Nếu làm nhƣ máy tính chí phận máy tính khơng hiểu kết nối với Bởi vậy, nƣớc phải quy định dùng chung bảng mã để biểu diễn ký tự, bảng mã đƣợc gọi bảng mã chuẩn Trong thực tế có nhiều bảng mã chuẩn nhƣng đƣợc sử dụng phổ biến máy tính bảng mã ASCII (America Standard Code for Information Interchange) bảng mã Unicode

Bảng mã ASCII có 256 từ mã bit, biểu diễn 256 ký tự khác Bảng mã ASCII đƣợc chia thành phần tiêu chuẩn (gồm từ mã có giá trị hệ 10 từ đến 127) phần mở rộng (có mã từ 128 đến 255) Các máy tính giới có bảng mã ASCII tiêu chuẩn giống nhau, phần mở rộng khác đƣợc dùng để biểu diễn ký tự riêng nƣớc

Bảng 1.2 Bảng mã ASCII tiêu chuẩn

`

Ví dụ: ký tự „A‟ đƣợc mã hóa thành 0100 0001 (= 6510) Khi ta ấn Shift+A bàn

phím, xung điện truyền đến xử lý máy tính có dạng tƣơng ứng là:

c

bi

t

th

(21)

1 0 0 0

Tại chu kỳ có mức điện thấp, nhớ tƣơng ứng đƣợc ghi bit 0; ô nhớ tƣơng ứng với chu kỳ có mức điện cao đƣợc ghi bit Máy tính xử lý chuỗi nhị phân “vẽ” lên hình ký tự „A‟

Do bảng mã ASCII mở rộng nƣớc giới khác nên gửi văn từ nƣớc sang nƣớc khác văn khơng hiển thị Bởi vậy, giới lại thống dùng chung bảng mã biểu diễn đƣợc tất ký tự nƣớc, bảng mã đƣợc gọi bảng mã Unicode Bảng mã Unicode có 65536 (= 216) từ mã 16 bit 128 từ mã đầu

tiên Unicode mã hóa giống với ASCII 1.3.4 Mã hóa số nguyên số thực

Khi ta nhập vào số hệ 10, máy tính phải tính tốn hệ Số nguyên số thực đƣợc biểu diễn máy tính theo chuẩn khác

a Số nguyên

Máy tính dùng bit, 16 bit 32 bit để biểu diễn số nguyên, dùng nhiều bit biểu diễn đƣợc số nguyên lớn Với 32 bit, máy tính biểu diễn đƣợc số nguyên đoạn [-2.147.483.648, 2.147.483.647] Muốn biểu diễn, tính tốn đƣợc với số ngun vƣợt ngồi khoảng này, ta phải dùng cách biểu diễn số thực

Có loại số nguyên biểu diễn máy tính:

- Số ngun khơng dấu: số nguyên lớn

- Số nguyên có dấu: gồm số số nguyên âm, số nguyên dƣơng

Sau đây, ta xét cách mã hóa với số ngun khơng dấu có dấu bit Số nguyên 16 bit 32 bit đƣợc suy tƣơng tự

Số nguyên không dấu bit

Với số khơng dấu, máy tính dùng bit để biểu diễn độ lớn, biểu diễn đƣợc 28 =

256 số nguyên Dải biểu diễn 0000 0000  1111 1111 (hay  25510)

Số mã hóa Số nguyên 0000 0000

0000 0001 0000 0010

… …

1111 1111 255 Cách biểu diễn:

+ Đổi số hệ 10 sang hệ

+ Thêm vào bên trái số nhị phân bit cho đủ bit

Với số 3410 ví dụ trên, ta tính đƣợc 3410 = 1000102 Vậy số 3410 đƣợc biểu

(22)

Số nguyên có dấu bit

Với số ngun có dấu, máy tính dùng bit để biểu diễn dấu, bit lại biểu diễn độ lớn Bit dấu thể số dƣơng, thể số âm Dải biểu diễn số nguyên có dấu bit 1000 0000  0111 1111 (hay -12810 +12710)

Bit dấu

Với nửa dƣơng, dải biểu diễn từ 0000 0000  0111 1111 Số mã hóa Số nguyên

0000 0000 0000 0001 0000 0010

… …

0111 1111 127

Với nửa âm, dải biểu diễn từ 1000 0000  1111 1111 Số mã hóa Số nguyên 1000 0000 -128 1000 0001 -127 1000 0010 -126

… …

1111 1111 -1

Mỗi số nguyên âm đƣợc biểu diễn số bù biểu diễn số nguyên dƣơng tƣơng ứng không đơn giản thay bit từ thành Cách tìm biểu diễn bit số nguyên âm đƣợc máy tính thực qua bƣớc:

- Bƣớc 1: Tìm biểu diễn bit số nguyên dƣơng tƣơng ứng

- Bƣớc 2: Tìm số bù số vừa tìm đƣợc cách đảo tất bit (dùng tốn tử NOT)

- Bƣớc 3: Tìm số bù cách lấy số bù cộng thêm Ví dụ: Để tìm biểu diễn số nguyên -3410:

- Bƣớc 1: Tìm đƣợc biểu diễn bit +3410 0010 0010

- Bƣớc 2: Tìm đƣợc số bù 1101 1101 - Bƣớc 3: Cộng vào số bù

Số bù 1: 1101 1101

+

Số bù 2: 1101 1110

(23)

Lƣu ý cách lấy bù có tính chất chiều Tìm số bù biểu diễn số nguyên âm ta đƣợc biểu diễn số nguyên dƣơng tƣơng ứng

Cách biểu diễn giúp cho việc tính tốn máy tính cho kết xác Ví dụ: Phép cộng số đối phải cho kết Ta kiểm nghiệm với phép cộng +3410

với -3410 đƣợc thực máy tính

+3410: 0 0

-3410: + 1 1 1

Tổng: 0 0 0 0

Kết lấy bit 0000 0000, 010 Số nhớ tràn ngồi bit khơng đƣợc tính vào

tổng cuối

b Số thực

Các số thực đƣợc biểu diễn số dấu phẩy động (floating point number) theo chuẩn IEEE 754 Một số thực đƣợc viết theo nhiều cách với vị trí dấu phẩy khác (nên gọi “dấu phẩy động”) Ví dụ với số 580,0410:

580,9410 = 5,8094 x 102 = 58,094 x 101 = 5809,4 x 10-1 = 58094,0 x 10-2

Để biểu diễn số phẩy động, số phải đƣợc phân tích dƣới dạng mũ: X = ± mx x 10±Px

Trong đó: mx phần định trị

±Px phần mũ

Ta thấy, số đƣợc phân tích thành nhiều số dạng mũ khác nhau, nhiên ràng buộc cho phần định trị số khoảng 10-1 thì việc phân tích luôn

duy đƣợc gọi dạng chuẩn

Bit dấu Phần mũ Phần định trị

Chuẩn IEEE 754 sử dụng dạng 32 bit, 44 bit, 64 bit 80 bit Ví dụ với dạng 32 bit, bit biểu diễn dấu, bit cho phần mũ, 23 bit lại cho phần định trị; dải biểu diễn (xấp xỉ) từ -10-38 1038

1.3.5 Mã hóa liệu logic

Dữ liệu logic loại liệu nhận hai giá trị TRUE/FALSE, 1/0 Do đó, việc mã hóa liệu logic ngƣời ta thƣờng dùng byte

1.3.6 Mã hóa hình ảnh tĩnh

Kích thƣớc hình ảnh đáng kể, ngƣời ta cần có phƣơng pháp mã hóa để giảm kích thƣớc ảnh Có nhiều kiểu mã hóa ảnh ảnh bitmap ảnh vector hai kiểu thông dụng

Ảnh bitmap

(24)

Hình 1.2 Ví dụ dạng số hóa ảnh bitmap

Một điểm ảnh đƣợc mã hóa tùy thuộc vào chất lƣợng ảnh:

- Ảnh đen trắng: Sử dụng bit để mã hóa điểm: giá trị cho điểm ảnh màu đen cho điểm ảnh màu trắng

- Ảnh 256 mức xám: Mỗi điểm đƣợc thể byte (8 bit)

- Ảnh màu: Thƣờng sử dụng hệ màu RGB, gồm phối trộn màu đỏ (Red), xanh (Green) xanh dƣơng (Blue) theo tỷ lệ khác để tạo hàng triệu màu Vì màu đƣợc biểu biễn biểu thức:

x = aR + bG + cB

Trong a, b, c lƣợng màu Thơng thƣờng ảnh đẹp có lƣợng màu với giá trị từ đến 255 Và nhƣ thế, ảnh màu thuộc loại đƣợc thể ma trận tƣơng ứng cho loại màu Mỗi phần tử mảng có giá trị bit Chính cần có 24 bit để mã hóa cho điểm ảnh màu

Ảnh vector

Ảnh Vector đƣợc tạo đoạn thẳng đƣờng cong đƣợc định nghĩa đối tƣợng tốn học gọi Vector Hình Vector mơ tả hình ảnh dựa thuộc tính hình học hình ảnh

Hình 1.3 Ảnh vector

(25)

1.3.7 Mã hóa âm phim ảnh

Các tín hiệu âm phim ảnh tín hiệu dạng tƣơng tự (Analog), tần số (cao độ) thời gian (trƣờng độ) số nên mã hóa đƣợc

Việc số hóa tín hiệu thực qua bƣớc: lấy mẫu, lƣợng tử mã hóa - Lấy mẫu: Từ tín hiệu liên tục ban đầu rời rạc hóa để thu đƣợc tập số đo biên độ

theo thời gian (hình 1.4a)

- Lƣợng hóa: Lấy tƣơng ứng giá trị biên độ với giá trị thang đo (hình 1.4b) - Mã hóa: Mỗi giá trị sau đƣợc mã hóa thành giá trị nhị phân đặt vào

các tệp tin Ví dụ: 011001100110111110101110110010… (hình 1.4c)

a) b) c)

Hình 1.4 Số hóa tín hiệu tƣơng tự

Nhƣ vậy, âm hay phim ảnh nghe hay xem từ máy tính thực chất chuỗi âm thanh, hình ảnh rời rạc nhau, nhƣng khoảng rời rạc nhỏ khiến có cảm giác âm thanh, hình ảnh liên tục Khoảng cách (tần số) lấy mẫu nhỏ âm thanh, hình ảnh “liên tục”, nhiên kích thƣớc liệu cần lƣu trữ, xử lý tăng lên đáng kể

Ngoài tần số lấy mẫu, dung lƣợng tệp tin dạng phụ thuộc vào dải giá trị biên độ Ví dụ hình 1.4, giá trị biên độ đƣợc lƣợng hóa thành giá trị nguyên đoạn [0,7], gồm giá trị Tập giá trị cần bit để mã hóa (vì = 23) Nhƣng tập giá trị biên

độ cần mở rộng thành [0,8], ta phải cần đến bit để mã hóa Nhƣ vậy, dung lƣợng lƣu trữ cho mẫu tăng thêm bit Với số lƣợng hàng triệu mẫu cho file âm dung lƣợng tăng thêm đáng lƣu ý

1.4 ỨNG DỤNG CỦA CÔNG NGHỆ THÔNG TIN

Công nghệ thông tin đƣợc ứng dụng tất lĩnh vực hoạt động ngƣời mà cần xử lý thông tin tự động

1.4.1 Các toán khoa học kỹ thuật

(26)

Ngày nay, nhiều toán khoa học kỹ thuật, ngƣời ta muốn kết đƣa khơng phải dƣới dạng số liệu mà cịn thể minh hoạ cho lời giải Vì kể từ máy tính đƣợc trang bị hình có khả thể đồ hoạ xử lý hình học vấn đề đƣợc quan tâm nhiều toán khoa học kỹ thuật Với máy tính nhƣ ngƣời ta làm việc theo kiểu tƣơng tác với kiện mơ máy tính nhƣ sửa chữa thiết kế, điều khiển nhóm đối tƣợng phức tạp thơng qua hình ảnh mơ hình

Cùng với phát triển mình, CNTT đƣợc áp dụng hầu hết mặt đời sống xã hội Tuy nhiên toán khoa học kỹ thuật có chỗ đứng định, sở, tảng cho phát triển lĩnh vực khác đời siêu máy tính trở thành cơng cụ hữu ích hỗ trợ giải toán khoa học kỹ thuật

1.4.2 Các toán quản lý

Trƣớc đây, CNTT chƣa phổ biến, hoạt động văn thƣ hành quan chủ yếu thao tác thủ công phụ thuộc nhiều vào góp mặt ngƣời Các thao tác thủ cơng đơn giản quy trình dễ thực thao tác Do đó, với nhân viên có chút kinh nghiệm hiểu biết nghiệp vụ thực đƣợc Tuy nhiên, nhƣợc điểm lại q lớn: tốn thời gian, cơng sức, không cập nhật thƣờng xuyên, rủi ro mát thông tin, giấy tờ lƣu trữ, gây lãng phí khơng nhỏ kết thơng tin lƣu trữ

Ngày nay, với phát triển không ngừng CNTT đƣa ngƣời sang kỷ nguyên mới, kỷ nguyên công nghệ, kỷ nguyên máy móc thay phần hoạt động ngƣời Với việc ứng dụng CNTT vào đời sống xã hội đem lại nhiều lợi ích cho quan, tổ chức, làm giảm chi phí, thời gian, cơng sức, tăng khả lƣu trữ

Các hoạt động quản lý đa dạng xuất nhiều xã hội, đâu có tổ chức có nhu cầu quản lý Khác với toán khoa học kỹ thuật, toán quản lý có quy trình xử lý đơn giản nhƣng khối lƣợng thơng tin lƣu trữ lại lớn Một tốn quản lý thƣờng có cơng việc sau:

- Tạo sở liệu (CSDL): Tập hợp liệu, thông tin cần đƣợc tổ chức lƣu trữ hệ thống cần quản lý quản lý cách thống máy tính

- Duy trì sở liệu: Cập nhật liệu thƣờng xuyên để đảm bảo liệu phản ánh kịp thời hoạt động hệ thống quản lý

- Sử dụng sở liệu: Có hai hình thức sử dụng tra cứu thống kê

Kiểu sử dụng dạng tra cứu nhằm tìm thơng tin vốn có CSDL theo tiêu chuẩn Ví dụ lập danh sách sinh viên có học bổng, lập danh sách cán nghỉ hƣu Việc tra cứu liệu thƣờng đƣợc thực thông qua chƣơng trình chƣơng trình truy cập trực tiếp vào CSDL xử lý theo yêu cầu tra cứu Do đó, hoạt động tra cứu thơng thƣờng trích liệu có sẵn sở liệu

Kiểu sử dụng liệu dạng thống kê thƣờng thiên tính đếm để rút đặc trƣng thống kê nhƣ tính tổng có điều kiện, lấy trung bình, tính giá trị lớn hay nhỏ Ví dụ, sau cập nhật kết kỳ thi phải đánh giá chất lƣợng sinh viên thông qua thống kê điểm xuất sắc, giỏi, khá, trung bình, yếu,

(27)

mềm quản lý thƣờng phải đƣợc xây dựng sở hoạt động hỗ trợ định, không đơn giản tra cứu hay thống kê

Quản lý lĩnh vực sử dụng tin học nhiều Ngƣời ta ƣớc tính 85% đầu tƣ tin học dành cho quản lý Những hệ thống nhƣ quản lý ngân hàng, kế tốn xí nghiệp, quản lý bán hàng kho tàng, quản lý nhân ứng dụng lĩnh vực quản lý

1.4.3 Tự động hóa

Trƣớc đây, CNTT chƣa phát triển, kỹ thuật tự động hóa đơn giản chủ yếu theo kiểu điện cơ, cịn hạn chế việc đáp ứng trình điều khiển phức tạp

Ngày nay, với việc ứng dụng CNTT cho đời loại hình điều khiển có tính thích nghi, hệ hỗ trợ định Ví dụ: ứng dụng tự động hóa nhà máy sản xuất ô tô, máy bay không ngƣời lái, robot

Mức độ tự động hố: có mức độ

Tự động hố phần: có phân chia việc xử lý thông tin ngƣời máy tính

Nhƣợc điểm: Thƣờng xảy mâu thuẫn kết nối phần nhỏ

Tự động hố tồn bộ: tồn hệ thơng tin đƣợc xử lý máy tính, ngƣời có

vai trị phụ

Ƣu điểm: Xử lý thơng tin tổng thể tập trung, điều khiển chung nằm khối nên hiệu Dữ liệu tập trung nơi có nên giảm đƣợc chi phí tránh đƣợc sai lệch

Nhƣợc điểm: Khó xây dựng

Các hệ thống nhúng ví dụ phổ biến tự động hóa sở máy tính trở nên phổ biến đến mức ngƣời ta để ý đến có mặt

1.4.4 Cơng tác văn phịng

Cơng tác văn phịng cơng tác thƣờng gặp quan, tổ chức, đoàn thể Do đó, ứng dụng CNTT vào hoạt động văn phòng đƣợc ý từ sớm lĩnh vực ứng dụng phổ biến CNTT

Việc ứng dụng CNTT giảm tải đƣợc nhiều thời gian, công sức nhân lực thay đổi hồn tồn mặt hoạt động cơng tác văn phịng Các hoạt động cơng tác văn phòng:

- Lƣu trữ văn bản, tài liệu - Xử lý lập kế hoạch

- Nhận lƣu chuyển văn bản, tài liệu - Tạo gửi văn bản, tài liệu

Với đời phần mềm văn phòng điện tử đánh dấu thay đổi việc ứng dụng CNTT vào quan, tổ chức, xí nghiệp

1.4.5 Giáo dục

(28)

Ngƣời học có nhiều hội tiếp cận với kiến thức nhân loại mà khơng phải gói gọn nội dung học mình, tiếp cận đƣợc với phƣơng pháp dạy học tiên tiến giới, có nhiều hội giao lƣu học hỏi, tăng tính chủ động sáng tạo

Với ngƣời dạy, có nhiều phƣơng pháp hỗ trợ việc bổ sung kiến thức việc truyền tải giảng đến ngƣời học phong phú sinh động Tạo đƣợc mối liên kết chặt chẽ nhà trƣờng gia đình Thơng qua có cách đánh giá xác đến ngƣời học

Với ngƣời quản lý, ứng dụng CNTT mang lại nhiều lợi ích việc quản lý giáo dục, quản lý ngƣời dạy, ngƣời học, nội dung chƣơng trình dạy học, có đánh giá khách quan

Việc đời hệ thống thƣ viện điện tử, giảng điện tử, sổ liên lạc điện tử, website sở giáo dục minh chứng mạnh mẽ CNTT lan tỏa ngành giáo dục nƣớc nhà giới

1.4.6 Thƣơng mại điện tử

CNTT phát triển kéo theo phát triển nhiều ngành nghề thƣơng mại điện tử không nằm ngồi xu Có thể kể đến số hoạt động thƣơng mại điện tử điển hình nhƣ:

- Quảng cáo mạng

- Mua bán toán qua mạng - Thƣơng thảo hợp đồng qua mạng

Cùng với đời website bán hàng, website quảng cáo, website công ty Tuy nhiên, với phát triển thƣơng mại điện tử phải đối diện với nhiều thách thức lớn nhƣ vấn đề pháp lý, vấn đề bảo mật an toàn thông tin

CÂU HỎI VÀ BÀI TẬP

1 Nêu khái niệm: Dữ liệu, Thông tin, Tin học, Công nghệ thông tin? Thông tin số gì?

3 Đơn vị đo dung lƣợng thơng tin?

4 So sánh bảng mã ASCII bảng mã UNICODE? Mã hóa liệu kiểu số?

6 Mã hóa liệu phi số?

(29)

Chương

CẤU TRÚC MÁY TÍNH

Các loại máy tính máy tính để bàn, máy tính xách tay, máy tính bảng hay điện thoại di động có cấu trúc chung gồm khối chức năng: xử lý trung tâm, nhớ, hệ thống vào-ra và liên kết hệ thống Chương giới thiệu số vấn đề cấu trúc máy tính gồm khối nêu Mục 2.1 giới thiệu sơ lược lịch sử đời q trình phát triển máy tính điện tử Mục 2.2 trình bày chức năng, sơ đồ cấu trúc chung nguyên lý hoạt động máy tính Mục cuối 2.3 giới thiệu chức cấu trúc thành phần máy tính

2.1 GIỚI THIỆU

Máy tính điện tử (từ sau gọi tắt máy tính) đời năm 1946, có tên ENIAC (Electronic Numerical Intergator and Computer), sản phẩm dự án thuộc Bộ Quốc phòng Hoa Kỳ phục vụ mục đích quân ENIAC đƣợc thiết kế John Mauchly John Presper Eckert Đại học Pennsylvania Chiếc máy tính nặng 30 tấn, kích thƣớc 140m2, thực

hiện đƣợc 5.000 phép cộng/giây, xử lý theo số thập phân, nhớ lƣu trữ liệu lập trình cách thiết lập vị trí chuyển mạch cáp nối

(30)

Năm 1952, máy tính von Neumann đời Học viện Nghiên cứu tiên tiến Princeton Chiếc máy tính đƣợc xây dựng theo ý tƣởng “chƣơng trình đƣợc lƣu trữ”, xử lý theo số nhị phân Những nguyên lý von Neumann (phần 2.2.3) trở thành mơ hình máy tính ngày

Năm 1980, hãng IBM cho đời máy tính cá nhân đầu tiên, sử dụng vi xử lý bit 8085 Intel

Với 70 năm phát triển, máy tính trải qua hệ: dùng đèn điện tử (1943-1956), dùng transistor (1957-1965), dùng vi mạch tích hợp (1966-1980) dùng siêu vi mạch tích hợp (1981- nay) Ngày nay, máy tính cá nhân, máy tính bảng, điện thoại thơng minh có kích thƣớc nhỏ gọn, cấu hình mạnh mẽ Tất có cấu trúc chung sử dụng nguyên lý đƣợc đề von Neumann

Trong phần giới thiệu chức máy tính, nguyên lý hoạt động sơ đồ cấu trúc chung máy tính Phần 2.3 giới thiệu cấu tạo đặc tính kỹ thuật thành phần máy tính gồm CPU, nhớ thiết bị ngoại vi

2.2 CHỨC NĂNG VÀ SƠ ĐỒ CẤU TRÚC CỦA MÁY TÍNH 2.2.1 Chức máy tính:

Máy tính có chức sau:

- Nhận thông tin vào (input) từ ngƣời sử dụng từ máy tính khác thơng qua thiết bị vào;

- Xử lý thông tin nhận theo dãy lệnh nhớ sẵn bên trong;

- Đƣa thông tin sau xử lý (output) tới ngƣời sử dụng tới máy tính khác thơng qua thiết bị ra;

- Lƣu trữ thơng tin dạng số hóa 2.2.2 Sơ đồ cấu trúc chung máy tính

Hình 2.2 Sơ đồ cấu trúc máy tính

Các khối chức năng:

Bộ xử lý trung tâm (CPU):  Chức

- Điều khiển hoạt động máy tính; Bộ

nhớ

chính Các thiết bị

(31)

 Nguyên tắc hoạt động

- CPU hoạt động theo chƣơng trình nằm nhớ

 Các thành phần

- Đơn vị điều khiển (Control Unit);

- Đơn vị số học logic (Arithmetic and Logic Unit); - Tập ghi (Registers)

Bộ nhớ:

 Chức năng: Lƣu trữ chƣơng trình liệu

 Các thao tác với nhớ - Đọc (Read);

- Ghi (Write)

 Các thành phần

- Bộ nhớ (Internal Memory); - Bộ nhớ (External Memory)

Hệ thống vào-ra:

 Chức năng: Trao đổi thơng tin máy tính với giới bên

 Các thao tác - Vào liệu (Input); - Ra liệu (Output)

 Các thành phần

- Các thiết bị ngoại vi (Peripheral Devices) ; - Các môđun vào-ra (IO Modules)

2.2.3 Nguyên lý hoạt động máy tính

Từ đời đến nay, máy tính hoạt động theo nguyên lý đƣợc đề xuất năm 1946 nhà khoa học lỗi lạc ngƣời Mỹ gốc Hungary John von Neumann (1903-1957)

a Nguyên lý Von Neumann

- Nguyên lý điều khiển chƣơng trình: máy tính hoạt động theo chƣơng trình lƣu trữ sẵn nhớ Ngun lý đảm bảo cho máy tính có khả tự điều khiển khơng cần có can thiệp ngƣời sử dụng q trình xử lý thơng tin

- Nguyên lý truy cập theo địa chỉ: chƣơng trình, liệu trƣớc, sau xử lý đƣợc đƣa vào nhớ vùng nhớ đƣợc đánh địa Việc truy cập liệu gián tiếp thơng qua địa nhớ Nguyên lý đảm bảo tính mềm dẻo xử lý thơng tin: ngƣời lập trình cần viết yêu cầu cách tổng quát theo vị trí đối tƣợng mà khơng cần biết giá trị cụ thể chúng

b Cấu trúc lệnh trình thực lệnh

Để xử lý thơng tin tự động, máy tính cần đƣợc cài đặt sẵn tập lệnh, thƣờng vào nhớ ROM Mỗi lệnh máy chuỗi số nhị phân, yêu cầu CPU thực thao tác tốn hạng Các lệnh phải đầy đủ thông tin sau:

(32)

- Nơi đặt liệu lệnh nơi đặt kết xử lý: nhớ ghi CPU

Cấu trúc chung lệnh máy nhƣ sau:

Mã thao tác Địa tốn hạng Ví dụ:

Hình 2.3 Một lệnh cộng tập lệnh MIPS32

Một chƣơng trình máy tính dãy lệnh Do chƣơng trình nằm nhớ nên lệnh có địa chỉ, địa byte lệnh

Quá trình thực chƣơng trình thƣờng trình thực liên tiếp lệnh Để quản lý thứ tự thực lệnh, vi xử lý có ghi gọi Bộ đếm chƣơng trình (Program Counter – PC) để ghi địa lệnh thực Giá trị khởi tạo PC địa lệnh chƣơng trình

Máy tính điện tử đƣợc điều khiển lệnh chƣơng trình Chu lệnh bao gồm bƣớc sau:

- Nhận lệnh (Fetch Instruction): Bộ điều khiển CPU gửi nội dung PC vào Bộ giải mã địa để đọc byte lệnh lên ghi lệnh Nếu khơng có lệnh nhảy (ví dụ lệnh goto Pascal) PC tăng lên đơn vị để điều khiển chuẩn bị đọc byte tiếp theo, trƣờng hợp ngƣợc lại PC đƣợc nạp vào địa lệnh nhảy đến

- Giải mã lệnh (Decode Instruction): Bộ điều khiển vào mã lệnh để biết lệnh dài byte để đọc nốt thơng tin địa lệnh hồn thành việc đọc lệnh PC tiếp tục tăng theo số lƣợng byte đọc vào

- Nhận liệu (Fetch Data): Nhận liệu từ nhớ cổng vào-ra

- Xử lý liệu (Process Data): Thực phép toán số học hay phép toán logic với liệu

- Ghi liệu (Write Data): Ghi liệu nhớ hay cổng vào-ra Sau quay lại chu kỳ mới, nhận lệnh

2.3 CÁC THÀNH PHẦN CƠ BẢN CỦA MÁY TÍNH

Nhƣ đề cập phần 2.2.2, hệ thống máy tính gồm khối chức năng: xử lý trung tâm, nhớ, thiết bị vào-ra liên kết hệ thống Phần đề cập sâu đến cấu tạo đặc tính kỹ thuật thiết bị khối chức máy tính cá nhân Ngƣời sử dụng thƣờng quen thuộc với thiết bị ngoại vi phổ biến nhƣ bàn phím, chuột, hình, máy in; nhƣng bên hộp máy có thiết bị gì? Trƣớc đề cập thiết bị cụ thể, giới thiệu số thiết bị thƣờng có hộp máy hình 2.4:

Mã lệnh Đ.chỉ Đ.chỉ Giá trị trung gian

(33)

Hình 2.4 Các thành phần phổ biến bên hộp máy tính cá nhân

2.3.1 Bộ xử lý trung tâm

Bộ xử lý trung tâm (CPU: Central Processing Unit), hay vi xử lý (microprocessor, processor) mạch xử lý liệu theo chƣơng trình đƣợc thiết lập trƣớc Nó mạch tích hợp phức tạp gồm hàng triệu transitor bảng mạch nhỏ Đây thành phần quan trọng nhất, đƣợc xem nhƣ não thƣờng đắt máy tính Hai nhà sản xuất CPU lớn Intel AMD (Advanced Micro Devices)

Những chức CPU:

- Nhận lệnh, giải mã lệnh điều khiển khối khác thực lệnh; - Thực phép tính số học, logic phép tính khác;

- Sinh tín hiệu địa để truy nhập nhớ

Một vi xử lý gồm khối là: Khối điều khiển, khối số học logic, ghi (hình 2.5)

bus điều khiển bus liệu bus địa

Hình 2.5 Sơ đồ khối CPU

Quạt hệ thống Ổ đĩa mềm

Hộp máy

Tản nhiệt cho CPU

Ổ đĩa cứng Nguồn điện

Ổ đĩa quang

Bo mạch chủ

Bộ vi xử lý

Đơn vị điều khiển

(CU)

Đơn vị số học logic

(ALU)

Tập ghi

(RF) bus bên

(34)

Khối điều khiển (CU: control unit): khối có chức điều khiển hoạt động

máy tính theo chƣơng trình định sẵn

Khối số học logic (ALU: arithmetic and logic unit): gồm mạch chức để thực

hiện phép toán sở nhƣ phép toán số học, phép toán logic, phép tạo mã

Các ghi (registers): đƣợc dùng nhƣ nhớ nhanh, tƣơng tác trực tiếp

với mạch xử lý CPU Có ghi ghi địa lệnh thực hiện, có ghi ghi lệnh thực hiện, có ghi ghi liệu, có ghi ghi kết xử lý

Những yếu tố ảnh hƣởng đến hiệu vi xử lý bao gồm: tốc độ đồng hồ, tốc độ bus, kích thƣớc từ nhớ, dung lƣợng nhớ cache, tập lệnh, số lƣợng lõi, kỹ thuật xử lý

Đồng hồ vi xử lý (clock): thiết bị thiết lập bƣớc thực lệnh Mạch xung

nhịp đồng hồ dùng để đồng thao tác xử lý CPU theo khoảng thời gian không đổi Khoảng thời gian chờ hai xung gọi chu kỳ xung nhịp Xung nhịp hệ thống tạo xung tín hiệu chuẩn thời gian gọi tốc độ xung nhịp – tốc độ đồng hồ tính triệu tỷ đơn vị giây (MHz/GHz) Tuy nhiên, cần hiểu tốc độ đồng hồ không số lệnh mà vi xử lý thực giây Trong nhiều máy tính, chu kỳ có vài lệnh, nhƣng lệnh khác cần nhiều chu kỳ

Bạn nghĩ máy tính có vi xử lý 1,6 GHz thực chậm máy tính có vi xử lý 2.3 GHz Điều so sánh vi xử lý họ chip Ví dụ, vi xử lý 1.87 GHz i7 840QM nhanh vi xử lý 1.6 GHz i7 720QM Bạn ngạc nhiên vi xử lý i7 1.6 GHz nhanh vi xử lý i5 2.4 GHz i7 có nhiều lõi i5

Bộ vi xử lý nhiều lõi (multi-core processor): Một vi xử lý có nhiều đơn

vị xử lý, đƣợc gọi xử lý nhiều lõi Nhiều lõi thƣờng có hiệu nhanh Bộ vi xử lý i5 2.4 GHz có lõi, hiệu tƣơng đƣơng 4.8 GHz Còn vi xử lý i7 1.6 GHz có lõi, hiệu tƣơng đƣơng 6.4 GHz

Tốc độ bus (FSB: front side bus): đƣờng truyền liệu đến khỏi vi xử lý Bus

tốc độ cao giúp chuyển liệu nhanh, giúp CPU hoạt động với công suất lớn Tốc độ bus đƣợc đo megahertz Megahertz (MHz) có nghĩa triệu chu kỳ/giây Các máy tính ngày có tốc độ bus từ 1000-1600 MHz

Dung lượng cache: CPU cache nhớ đệm tốc độ cao, cho phép vi xử lý truy

cập liệu nhanh từ nhớ RAM Dung lƣợng cache lớn làm tăng hiệu máy tính CPU cache đƣợc chia thành 2-3 mức Cache L1 (mức 1) có tốc độ nhanh nhất; cache L2, L3 có tốc độ chậm chút nhƣng nhanh tốc độ truy nhập nhớ (RAM) hay đĩa Dung lƣợng cache thƣờng đƣợc đo megabytes (MB)

Kích thước từ nhớ: Là số bit mà vi xử lý thực đƣợc lần Kích thƣớc từ

nhớ đƣợc dựa kích thƣớc ghi khối số học logic (ALU) mạch dẫn đến ghi Ví dụ, vi xử lý 64-bit có ghi 64-bit xử lý lần 64 bit Kích thƣớc từ nhớ lớn giúp cho vi xử lý có khả xử lý nhiều liệu chu kỳ - yếu tố làm tăng hiệu máy tính Các máy tính cá nhân ngày thƣờng có vi xử lý 32-bit 64-bit

Tập lệnh: Khi nhà thiết kế chip phát triển tập lệnh cho vi xử lý (VXL), họ

(35)

cần nhiều lệnh đơn giản để hoàn thành tác vụ so với VXL CISC Đa số VXL máy tính cá nhân sử dụng công nghệ CISC Nhiều VXL thiết bị cầm tay nhƣ iPod, Droid, BlackBerry ARM (advanced RISC machine)

Các kỹ thuật xử lý:

- Serial processing (xử lý tuần tự): VXL phải hoàn thành tất bƣớc chu kỳ lệnh trƣớc bắt đầu thực lệnh

- Pipelining (kỹ thuật đƣờng ống lệnh): công nghệ giúp cho VXL bắt đầu thực lệnh trƣớc hồn thành lệnh trƣớc

- Parallel processing (xử lý song song): cơng nghệ giúp cho VXL thực nhiều lệnh lúc

Minh họa cho kỹ thuật đƣợc thể hình 2.6

Hình 2.6 Các kỹ thuật xử lý lệnh CPU

So sánh hiệu tổng quát vi xử lý: Nhiều phịng thí nghiệm chạy loạt

các thí nghiệm để đánh giá tốc độ tổng quát VXL Các kết đƣợc gọi benchmark (điểm chuẩn) dùng để so sánh với VXL khác Những kết thí nghiệm benchmark thƣờng đƣợc đƣa lên Web đƣợc xuất tạp chí máy tính

Hình 2.7 Một báo cáo điểm đánh giá Windows Experience Index

Trong đường ống lệnh, lệnh bắt đầu xử lý trước

lệnh trước kết thúc

Trong xử lý song song, nhiều lệnh xử lý

cùng thời điểm Trong xử lý tuần tự, lệnh

được xử lý thời điểm

Subscore đánh giá hiệu

(36)

Bộ nhớ mạng Bộ nhớ mạng Bộ nhớ mạng Bộ nhớ mạng B nhớ Bộ

nhớ

ngoài ộ

mạng

2.3.2 Bộ nhớ

Hệ thống nhớ (hình 2.8) máy tính gồm nhiều mức nhớ để sử dụng ƣu điểm, khắc phục nhƣợc điểm loại nhớ

Dung lượng tăng dần, tốc độ giảm dần, giá thành/1 bit giảm dần

Hình 2.8 Sơ đồ hệ thống nhớ

Các ghi đƣợc đề cập nói Bộ vi xử lý Trong phần xem xét mức nhớ lại

a Bộ nhớ

Khái niệm:

Bộ nhớ (memory) nhớ có thời gian truy cập nhỏ, đƣợc dùng để nạp hệ điều hành, ghi chƣơng trình liệu thời gian xử lý Bộ nhớ gồm mức nhớ mà CPU truy cập trực tiếp Bộ nhớ gồm loại: cache, RAM ROM Trong cache RAM nhớ đọc ghi liệu, bị thông tin nguồn ni; cịn ROM nhớ cho phép đọc, liệu khơng bị xóa nguồn

Cấu tạo:

Bộ nhớ đƣợc cấu tạo từ phần tử vật lý có trạng thái đối lập Một trạng thái dùng để thể bit 0, trạng thái thể bit Có nhiều kỹ thuật chế tạo phần tử có trạng thái nhƣ dùng từ tính, dùng mạch bán dẫn Ngày nay, ngƣời ta dùng nhớ bán dẫn mạch bán dẫn điều khiển đƣợc có trạng thái đóng/mở để thể bit

Nhờ tiến công nghệ vi điện tử, nhớ bán dẫn đƣợc chế tạo vi mạch tích hợp (vài cm2) có dung lƣợng vài gigabyte (GB)

Tổ chức:

Ta hình dung nhớ nhƣ dãy liên tiếp byte nhớ đƣợc đánh số thứ tự - địa byte nhớ Địa đƣợc đánh số lần lƣợt từ 0, 1, Mỗi byte gồm bit, bit đƣợc thiết lập Byte đơn vị thông tin thuận lợi cho xử lý liệu chứa vừa đủ ký tự mã hóa theo bảng mã ASCII hay số nguyên nhỏ 256 (= 28-1) Để thể

các liệu dài nhƣ ký tự mã hóa theo bảng mã Unicode cần byte, số nguyên lớn cần byte, số thực cần 4, 10 byte liền

Bộ vi xử lý

CPU Tập ghi Bộ nhớ Cache L2 Bộ

(37)

Nội dung Địa

00101011 0000

11010101 0001

00001010 0010

01011000 0011

11111011 0100

00001000 0101

11101010 0110

00000000 0111

10011101 1000

00101011 1001

11101011 1010

00101000 1011

11111111 1100

10101010 1101

00101011 1110

01010101 1111

Hình 2.9 Hình ảnh địa hóa nhớ

Nhƣ vậy, byte nhớ có đặc trƣng:

- Địa chỉ: thứ tự vị trí byte nhớ Bộ nhớ Địa byte nhớ cố định

- Nội dung: giá trị số dạng mã nhị phân, đƣợc lƣu trữ trạng thái vật lý byte nhớ Nội dung byte nhớ thay đổi

Do byte nhớ có địa riêng nên truy cập tới liệu byte nhớ không phụ thuộc vào byte nhớ khác

Đọc/ghi với nhớ trong:

Khi đọc nhớ, nội dung chứa nhớ khơng thay đổi Q trình đọc thông tin từ nhớ diễn nhƣ sau:

- Đầu tiên CPU gửi địa vùng nhớ thông qua bus địa tới mạch gọi giải mã địa

- Tiếp theo, CPU gửi tín hiệu điều khiển qua bus điều khiển tới kích hoạt giải mã địa

- Bộ giải mã địa mở mạch điện thực chức chép liệu vùng nhớ đƣa bus liệu, CPU ghi nhận liệu vào ghi

Quá trình ghi tƣơng tự nhƣng xảy theo chiều ngƣợc lại, liệu từ CPU đến nhớ Khi ghi vào nhớ nội dung có nhớ bị xóa để lƣu nội dung

Do chế địa hóa giá thành cao nên nhớ thƣờng có dung lƣợng khơng lớn lắm, từ vài megabyte (cache) đến vài gigabyte (RAM)

Các loại nhớ trong:

(38)

Bộ nhớ

Truyền theo từ nhớ

Truyền theo block nhớ

Hình 2.10 Cache đệm CPU nhớ

Khi CPU cần đọc liệu, tìm liệu cache trƣớc, khơng thấy tìm nhớ đƣa liệu vào cache để tăng tốc độ xử lý liệu lệnh

Cache đƣợc làm từ RAM tĩnh (SRAM, Static Random Access Memory – nhớ truy cập ngẫu nhiên tĩnh), bit đƣợc lƣu trữ Flip-Flop, có cấu trúc phức tạp giá thành cao

RAM (Random Access Memory)

Thực chất, RAM cách gọi tắt phổ biến RAM động (DRAM, Dynamic RAM), bit đƣợc lƣu trữ tụ điện, có cấu trúc đơn giản hơn, tốc độ chậm giá thành thấp so với SRAM Khi tụ điện đƣợc tích điện, biểu diễn bit Ngƣợc lại, tụ điện xả hết biểu diễn bit

Tƣơng tự nhƣ cache, RAM “phịng đợi” cho CPU Nó đƣợc dùng để nạp vào hệ điều hành (đặt nhớ ngoài, thƣờng đĩa cứng) khởi động máy tính, để chứa lệnh chƣơng trình ứng dụng, để lƣu trữ liệu tạm thời chờ đƣợc CPU đọc vào mức nhớ phía ghi lên mức nhớ ngồi

Các máy tính cá nhân ngày thƣờng có 2-8 GB RAM Để đạt mức hiệu tốt, máy tính cài hệ điều hành Windows nên có 1GB RAM Các ứng dụng/trò chơi đồ họa, video để chạy tốt cần tối thiểu 2GB RAM Lƣợng RAM mà máy tính cần phụ thuộc vào phần mềm đƣợc sử dụng Dung lƣợng RAM yêu cầu thƣờng đƣợc ghi nhãn gói phần mềm

Các hệ điều hành ngày có khả phân phối tốt không gian RAM cho nhiều chƣơng trình thời điểm Trong trƣờng hợp chƣơng trình vƣợt q khơng gian cấp cho nó, hệ điều hành dùng vùng đĩa cứng, gọi nhớ ảo, để chứa phần chƣơng trình tệp liệu đến chúng đƣợc cần đến Bằng cách đổi liệu RAM nhớ ảo, máy tính tạo dung lƣợng nhớ gần nhƣ khơng giới hạn Tuy nhiên, tốc độ truy cập đĩa cứng nhỏ nhiều so với RAM nên phụ thuộc nhiều vào nhớ ảo hiệu máy tính bị giảm đáng kể

Đa số máy tính cá nhân ngày sử dụng SDRAM (synchronous DRAM – RAM động làm việc đƣợc đồng xung đồng hồ), có tốc độ cao tƣơng đối rẻ SDRAM đƣợc phân lớp tiếp thành DDR (Double Data Rate), DDR2 (2 kênh truyền liệu), DDR3

(39)

Hình 2.11 DDR3-SDRAM

ROM (Read Only Memory)

ROM loại nhớ có nội dung cố định, cho phép ngƣời dùng/máy tính đọc liệu nhƣng không cho phép ghi vào Dữ liệu thƣờng đƣợc ghi vào ROM lúc chế tạo, tập lệnh cốt lõi để khởi động máy tính nhƣ cách truy cập đĩa cứng, tìm hệ điều hành nạp vào RAM Tập lệnh đƣợc gọi BIOS (Basic Input/Output System)

EEPROM (Electrically Erasable Programmable ROM): nhớ ghi chƣơng trình theo byte xóa đƣợc điện EEPROM thay công nghệ CMOS dùng pin nhỏ cấp nguồn gắn bo mạch chủ Loại nhớ đƣợc dùng để lƣu trữ thơng tin hệ thống mà bị thay đổi nhƣ thời gian, dung lƣợng RAM, dung lƣợng đĩa cứng Khi ngƣời dùng thay đổi cấu hình máy tính – ví dụ nhƣ lắp thêm RAM – liệu EEPROM phải đƣợc cập nhật Một số hệ điều hành nhận biết thực cập nhật tự động Ngƣời dùng tự thay đổi thiết lập EEPROM cách chạy chƣơng trình cài đặt nhƣ hình 2.12

(40)

b Bộ nhớ

RAM dùng cho việc ghi liệu xử lý, không giữ đƣợc liệu khơng cịn nguồn ni Vì vậy, liệu cần lƣu giữ lâu dài, để RAM đƣợc Mặt khác, tốc độ truy nhập RAM nhanh, nhƣng dung lƣợng nhỏ, khơng thể lƣu trữ lƣợng thơng tin lớn Vì vậy, để lƣu trữ thơng tin lâu dài với khối lƣợng lớn, ta phải sử dụng nhớ

Bộ nhớ (storage devices) gồm loại nhớ mà CPU truy cập trực tiếp, thơng tin lƣu trữ khơng bị xóa nguồn, có dung lƣợng lớn nhớ nhƣng tốc độ truy cập thấp Bộ nhớ gồm loại đĩa từ tính (đĩa cứng từ, đĩa mềm), đĩa quang (CD, DVD, Bluray), nhớ flash (các loại thẻ nhớ, nhớ usb, ổ cứng thể rắn)

Đặc điểm nhớ ngồi thơng tin không đƣợc định vị địa giống nhƣ nhớ mà đƣợc tổ chức theo khối logic gọi tệp (file) Do CPU khơng thể làm việc trực tiếp với liệu nhớ Trƣớc sử dụng, liệu file đƣợc chuyển dần vào nhớ để CPU xử lý

Bộ vi xử lý làm việc với liệu đƣợc mã hóa thành bit Khi liệu đƣợc lƣu trữ, bit phải đƣợc chuyển thành dạng tín hiệu hay dấu hiệu lâu dài, nhƣng thay đổi đƣợc cần thiết Dễ nhận thấy liệu đƣợc ghi dạng số 0/1 theo nghĩa đen Thay vào đó, bit phải đƣợc chuyển thành dạng thể đƣợc bề mặt phƣơng tiện lƣu trữ Có cơng nghệ đƣợc dùng để chế tạo nhớ ngồi là: từ tính, quang, thể rắn

Đĩa cứng từ (Magnetic Hard Disk)

Đĩa cứng từ (hay gọi tắt đĩa cứng) thƣờng đĩa hợp kim nhơm đƣờng kính 3,5”, có phủ vật liệu từ tính mặt (hình 2.13) Các đĩa từ lƣu thơng tin cách từ hóa hạt nhỏ bề mặt đĩa Các hạt trì hƣớng từ chúng hƣớng bị thay đổi (hình 2.14) Vì vậy, thơng tin đĩa từ đƣợc lƣu trữ lâu dài nhƣng thay đổi đƣợc xóa đƣợc Tính chất cung cấp linh hoạt việc sửa đổi liệu, sử dụng lại vùng nhớ chứa liệu không cần thiết

Các đĩa

Trục quay

Đầu đọc-ghi

(41)

Hình 2.14 Từ hóa hạt bề mặt đĩa từ

Đĩa cứng gồm nhiều đĩa đƣợc xếp thành chồng, đồng trục Mỗi mặt đĩa đƣợc chia thành đƣờng tròn đồng tâm gọi đƣờng ghi (track) Các đƣờng ghi lại đƣợc chia thành cung (sector) Dữ liệu đƣợc định vị đĩa theo địa chỉ, đƣợc xác định thông qua số mặt đĩa, số đƣờng ghi số cung (hình 2.15)

Hình 2.15 Cấu tạo đĩa cứng

Dữ liệu đƣợc đọc/ghi mặt đĩa nhờ đầu từ (còn đƣợc gọi đầu đọc/ghi) Mỗi mặt đĩa có đầu từ riêng Chúng đƣợc gắn kết thành khối di chuyển đồng thời Đầu từ dịch chuyển theo phƣơng bán kính, đĩa quay trịn Nhờ kết hợp đó, đầu từ tiếp xúc với vùng thông tin đƣờng ghi Mặc dù tất đầu từ đặt vào mặt đĩa tƣơng ứng nhƣng đọc/ghi mặt đĩa đầu từ tƣơng ứng đƣợc kích hoạt

Một đĩa cứng có dung lƣợng từ 40 GB đến TB, thời gian truy cập 6-11 ms, tốc độ quay 5.400-7.200 vòng/phút, tốc độ chuyển liệu trung bình khoảng 57.000 KB/s

Hướng dịng điện Nam châm điện

Mặt đĩa

Các hạt có tổ chức (biểu diễn liệu)

Khi đĩa quay, đầu đọc-ghi ghi liệu cách từ hóa, đặt hạt có tổ chức

(42)

Đĩa quang

Đĩa quang gồm loại đĩa CD (compact disc), DVD (digital video disc, digital versatile disc) BD (bluray disc) Các đĩa quang thƣờng có đƣờng kính 4,75”, làm polycarbonate, có 1-2 lớp ghi liệu, có phủ lớp phim nhơm có tính phản xạ lớp bảo vệ (hình 2.16)

Hình 2.16 Các lớp đĩa quang

Ổ đĩa quang có trục quay để quay tròn đĩa qua đầu đọc/ghi tia laze

Hình 2.17 Bên ổ đĩa quang

Thấu kính laze chiếu chùm sáng vào mặt đĩa

Trục quay tròn đĩa Bộ phận đặt đường

(43)

Để ghi liệu lên đĩa quang chúng cần đƣợc đốt tia laze cƣờng độ mạnh để tạo vùng lõm (trong tiếng Anh gọi pit) vùng (land) lớp polycarbonate (hình 2.18) Việc địi hỏi phải có ổ đĩa có chức ghi

Hình 2.18 Các vùng pitch land đĩa quang

Để đọc liệu từ đĩa quang dùng ổ đĩa với tia laze có cƣờng độ yếu Khi đọc, đầu đọc chiếu tia laze lên đĩa phân tích tín hiệu phản hồi để nhận biết pit land Lƣu ý thân pit land không biểu diễn bit “0” hay “1” Tại điểm chuyển đổi từ pit thành land ngƣợc lại tia laze bị hấp thụ bị tán xạ, cảm biến không nhận đƣợc tia phản xạ, máy tính đọc thành bit “1” Tại điểm khác (trên pit land) cảm biến nhận đƣợc tia phản xạ, máy tính đọc thành bit “0” (hình 2.19)

Hình 2.19 Nguyên tắc đọc liệu đĩa quang

(44)

Bảng 2.1 Dung lƣợng tốc độ loại đĩa quang

Loại đĩa quang Dung lƣợng/lớp Tốc độ ghi sở (1X) Tốc độ lớn

CD 700 MB 150 KB/s 52X ~ 78000 KB/s

DVD 4,7 GB 1352.5 KB/s 24X ~ 32500 KB/s

BD 25 GB 4394.5 KB/s 16X ~ 70000 KB/s

Bộ nhớ bán dẫn dùng công nghệ flash

Loại nhớ đƣợc gọi nhớ thể rắn, bao gồm loại thẻ nhớ (memory cards), nhớ usb (usb flash drives, memory sticks) ổ cứng thể rắn (SSD, solid-state drives) (hình 2.20) Các nhớ gọn, dùng trực tiếp với máy tính với thiết bị số cầm tay nhƣ máy ảnh, máy quay phim, điện thoại di động, máy nghe nhạc

Hình 2.20 Các loại nhớ thể rắn

Loại nhớ dùng mạng lƣới mạch bán dẫn với cơng nghệ flash, liệu bị xóa ghi lại Mỗi lƣới có transistor đóng vai trị cổng giữ bit Khi cổng mở, dịng điện qua tƣơng ứng với bit Ngƣợc lại, cổng đóng, tƣơng ứng với bit (hình 2.21)

Hình 2.21 Các cổng giữ bit 0/1 ô mạch bán dẫn

(45)

2.3.3 Thiết bị vào/ra

Các thiết bị vào/ra (Input/Output Devices) dùng để trao đổi liệu máy tính mơi trƣờng bên ngồi Cụ thể hơn, thiết bị vào có chức chuyển liệu từ bên vào nhớ trong, thiết bị dùng để chuyển thông tin từ nhớ môi trƣờng bên

a Thiết bị vào

Các thiết bị vào bao gồm bàn phím, chuột, tay chơi game, máy quét ảnh, máy ảnh số, microphone, bút hình cảm ứng, thiết bị đọc thẻ, đọc mã vạch Chúng ta đề cập kỹ đến thiết bị vào bàn phím chuột

Bàn phím (Keyboard)

Là thiết bị dùng để đƣa vào máy lệnh điều khiển, liệu Các bàn phím thƣờng đƣợc thiết kế tƣơng tự nhƣ máy đánh chữ (hình 2.22), ƣu điểm tránh mắc kẹt khí phím Thiết kế đƣợc gọi QWERTY (theo phím chữ liên tục hàng bên trái)

Hình 2.22 Một bàn phím máy tính

Bàn phím có khoảng 104 phím, đƣợc chia thành nhóm sau: - Nhóm phím chữ: gồm phím chữ cái, chữ số, dấu

- Nhóm phím chức năng: để thực nhanh số yêu cầu Thƣờng phần mềm tự quy định thao tác tƣơng ứng với chúng Bàn phím máy tính cá nhân thƣờng để sẵn 12 phím chức F1, F2,… , F12

- Nhóm phím điều khiển: xác định số chức đặc biệt nhƣ thiết lập chế độ khác bàn phím, khỏi chƣơng trình Nhóm gồm phím: Esc (Escape), Caps Lock, Shift, Ctrl (Control), Alt (Alternate), Insert, Delete, Print Screen, Scroll Lock, Pause/Break, Num Lock

- Nhóm phím điều khiển trỏ hình: gồm phím mũi tên lên, xuống, trái, phải, Home, End, Page Up, Page Down, Tab, Back space

(46)

Con chuột (Mouse)

Là thiết bị định điểm làm việc hình phổ biến nhất, hoạt động theo nguyên lý phát chuyển động theo hai hƣớng so với bề mặt bên dƣới Chuyển động chuột bề mặt đƣợc phiên dịch thành chuyển động trỏ hình giao diện đồ họa Dạng phổ biến chuột gồm nút bấm nút cuộn (hình 2.23) Thơng thƣờng, nút bên trái dùng cho thao tác lựa chọn, đặt vị trí trỏ hình, nút bên phải để menu ngữ cảnh gồm lệnh đƣợc thực với đối tƣợng vị trí trỏ

Hình 2.23 Con chuột máy tính

Chuột bi: loại sử dụng chế học Một viên bi hình cầu dƣới chuột,

chuột di chuyển truyền chuyển động vào trụ đặt vng góc (hình 2.24) Mỗi trụ đƣợc gắn với thiết bị đếm xung mà số lƣợng xung tỷ lệ với góc quay Các xung truyền vào máy tính đƣợc dùng để tính vị trí dịch chuyển trỏ hình Loại chuột có nhƣợc điểm dễ bị kẹt bẩn

(47)

Chuột quang: loại chuột chụp ảnh liên tiếp bề mặt bên dƣới chuột (khoảng 1.000 ảnh

mỗi giây), so sánh để phát chuyển dịch Chuột quang thƣờng dùng đi-ốt phát quang phát laze hồng ngoại để chiếu sáng bề mặt bên dƣới (hình 2.25) Ƣu điểm chuột quang độ phân giải đạt đƣợc cao nên cho kết xác hơn, hoạt động tốt nhiều loại bề mặt khác (chuột laze chí hoạt động bề mặt kính), khơng bị kẹt bẩn giống nhƣ chuột bi

Hình 2.25 Cấu tạo bên chuột quang

Chú thích: DSP (Digtal Signal Processor): Bộ xử lý tín hiệu số; LED (Light-Emitting Diode): Đi-ốt phát quang;

Các máy tính xách tay thƣờng có bàn cảm ứng Ngƣời sử dụng dùng thay chuột cách di ngón tay lên mặt bàn cảm ứng để điều khiển trỏ di chuyển

b Thiết bị

Các thiết bị bao gồm hình, máy in, máy chiếu, máy vẽ, loa máy tính Chúng ta tìm hiểu kỹ loại thiết bị thơng dụng hình máy in

Màn hình (Display Monitor)

Màn hình thiết bị hiển thị chữ hay ảnh cách tạo lƣới điểm ảnh (pixel) nhỏ có màu sắc khác Các yếu tố ảnh hƣởng đến chất lƣợng hình ảnh bao gồm: kích thƣớc hình, khoảng cách điểm ảnh (dot pitch), độ rộng góc nhìn, tốc độ đáp ứng, độ phân giải độ sâu màu sắc

Dot pitch thƣớc đo độ sắc nét ảnh Thơng số nhỏ ảnh sắc nét Các hình ngày có khoảng cách điểm ảnh khoảng 0,26-0,23mm

Gương

Thấu kính

Nút trái

Ánh sáng

(48)

Độ rộng góc nhìn đƣợc xác định góc lớn mà ngƣời sử dụng nhìn rõ ảnh hình Độ rộng từ 1700 trở lên cho phép bạn nhìn hình từ vị trí khác mà khơng

làm giảm chất lƣợng hình ảnh

Tốc độ đáp ứng khoảng thời gian cần thiết để điểm ảnh thay đổi từ đen thành trắng đổi lại thành đen Màn hình có tốc độ đáp ứng nhanh hiển thị hình ảnh đối tƣợng chuyển động sắc nét với độ bóng mờ tối thiểu Tốc độ đƣợc đo mili giây (ms) Với máy chuyên chơi game tốc độ đáp ứng lý tƣởng 5ms nhỏ

Độ sâu màu sắc (hoặc độ sâu bit) số màu mà hình hiển thị Các hình ngày hiển thị hàng triệu màu Khi đƣợc thiết lập độ sâu 24-bit màu, hình bạn hiển thị 16 triệu màu (224)

Độ phân giải thƣớc đo khả thể tinh tế hình, đƣợc xác định số lƣợng điểm ảnh theo chiều ngang chiều dọc mà hình hiển thị Độ phân giải chuẩn theo tỷ lệ 4:3 Màn hình rộng tỷ lệ 16:9 Các hình máy tính cá nhân ngày thƣờng có độ phân giải đạt chuẩn HD (high definition) 1280 x 720 (720p), chí đạt full HD 1920 x 1080 (1080p), cao Thực ra, hai tính Độ sâu màu sắc Độ phân giải không phụ thuộc vào hình mà cịn phụ thuộc vào thiết bị điều khiển hình (video card)

Trƣớc đây, loại hình phổ biến đèn tia âm cực (đèn CRT) – loại đèn dùng cho tivi Các điểm ảnh đƣợc tạo súng bắn điện tử đèn hình có phủ vật liệu phát quang Loại hình nặng, có độ dầy lớn, chiếm nhiều diện tích

Ngày nay, dùng phổ biến loại hình mỏng, nhẹ, dùng công nghệ tinh thể lỏng (LCD – liquid crystal display) plasma Màn hình tinh thể lỏng hiển thị hình ảnh cách lọc ánh sáng qua lớp tinh thể lỏng Nguồn sáng dùng đèn huỳnh quang catốt lạnh (CCFL) dùng điốt phát sáng (LED)

Hình 2.26 Màn hình CRT (trái) LCD (phải)

Máy in (Printer)

(49)

Máy in kim (Dot matrix printer) loại đời đầu tiên, với đời máy tính cá nhân Loại sử dụng kim in bố trí dạng ma trận, ảnh hay chữ đƣợc tạo chấm kim in đập vào băng mực làm băng mực in lên giấy, chữ đƣợc thể qua tổ hợp điểm tách từ ma trận điểm (hình 2.27) Mặc dù chất lƣợng hình ảnh in khơng mịn nhƣ loại máy in khác nhƣng có cơng việc cần in in nhiều liên bắt buộc phải in theo nguyên tắc va đập (nhƣ in hóa đơn) nên loại máy in phổ biến quầy toán ngân hàng

Đầu in gồm

ma trận kim Các ký tự tạo chấm đầu kim in

Hình 2.27 Bên máy in kim

Máy in phun (ink jet printer, hình 2.28) tạo điểm giấy cách phun tia mực siêu nhỏ Công nghệ phổ biến dùng tinh thể áp điện để làm bơm mực Một tinh thể áp điện co hay giãn tùy thuộc vào điệp áp đặt vào hai mặt đối diện tinh thể Một nguyên lý khác đƣợc dùng đầu in có ống phun mực nhỏ li ti Khi ống bị nóng mực bị sơi tạo thành bong bóng siêu nhỏ bắn vào giấy Đa số máy in phun dùng hệ màu CMYK – dùng màu xanh cẩm thạch, đỏ tím vàng, đen (Cyan, Magenta, Yellow, Black) phối trộn với để tạo thành hàng nghìn màu cho in Loại máy in có ƣu điểm chất lƣợng in tốt, nhƣng tốn nhiều mực giá hộp mực cao

Hình 2.28 Bên máy in phun màu

Máy in laze (laser printer, hình 2.29) loại máy in dùng kỹ thuật laze để tạo trang ảnh hạt mực siêu nhỏ trống tĩnh điện Khi trống áp vào giấy in hạt mực dính trở lại giấy đƣợc nung nóng chảy thấm vào giấy Vì cơng nghệ laze phức tạp

Hộp mực đen

(50)

hơn công nghệ phun mực nên giá máy in laze cao Ƣu điểm loại máy in chất lƣợng ảnh cao, tốn mực nên đƣợc dùng rộng rãi

Hình 2.29 Máy in laze

Ngồi thiết bị vào-ra kể có số thiết bị vừa thiết bị vào vừa thiết bị nhƣ hình cảm ứng, modem, ổ đọc ghi đĩa

2.3.4 Liên kết hệ thống

Các thiết bị máy tính đƣợc liên kết với thông qua đƣờng bus, khe cắm mở rộng loại cổng kết nối (hình 2.30) Các thành phần thƣờng đƣợc thiết kế bo mạch chủ (hình 2.31)

Hình 2.30 Liên kết thành phần hệ thống

Bus tuyến đƣờng để thông tin (dữ liệu, lệnh, địa chỉ) chạy Chúng đƣờng mạch bo mạch chủ (ví dụ nối CPU RAM) loại cáp mở rộng (ví dụ cáp nối ổ đĩa cứng với bo mạch chủ)

(51)

Hình 2.31 Các thành phần kết nối hệ thống bo mạch chủ

Các cổng (port) gồm nhiều loại, đƣợc dùng để kết nối máy tính với thiết bị vào-ra Một số loại cổng phổ biến là: PS/2 kết nối chuột bàn phím, VGA kết nối hình, LPT kết nối máy in, RJ45 kết nối modem, USB kết nối nhiều thiết bị giao tiếp qua chuẩn USB, cổng âm thanh, cổng đọc thẻ nhớ

CÂU HỎI VÀ BÀI TẬP

1 Nêu chức Bộ xử lý trung tâm (CPU) Những yếu tố ảnh hƣởng đến hiệu CPU?

2 Cho biết khác cách thức lƣu trữ liệu nhớ nhớ ngoài?

3 Kể tên nêu đặc điểm cấu tạo, lƣu trữ loại nhớ trong? So sánh tốc độ truy nhập liệu nhớ

4 Kể tên nêu đặc điểm cấu tạo, lƣu trữ loại nhớ ngoài?

5 Cho biết tên đặc điểm cấu tạo hoạt động số loại thiết bị vào điển hình? Cho biết tên đặc điểm cấu tạo hoạt động số loại thiết bị điển hình?

(52)

Chương

PHẦN MỀM MÁY TÍNH VÀ HỆ ĐIỀU HÀNH

Máy tính khơng thể hoạt động khơng đƣợc cài đặt hệ điều hành phần mềm ứng dụng Chƣơng giới thiệu vấn đề hệ điều hành phần mềm máy tính

Phần 3.1 trình bày khái niệm phần mềm, quy trình sản xuất phần mềm phân loại phần mềm Phần 3.2 trình bày lịch sử hình thành phát triển hệ điều hành, vai trò hoạt động hệ điều hành máy tính Bên cạnh giới thiệu số loại hệ điều hành điển hình cài đặt máy tính cá nhân thiết bị di động Phần cuối chƣơng giới thiệu vấn đề liên quan tới tệp thƣ mục

3.1 PHẦN MỀM MÁY TÍNH 3.1.1 Khái niệm phần mềm

Phần mềm, hay cịn gọi chƣơng trình, một tập hợp câu lệnh thị (Instruction) đƣợc viết nhiều ngơn ngữ lập trình theo trật tự xác định, kết hợp với liệu hay tài liệu liên quan nhằm tự động thực số nhiệm vụ hay chức giải vấn đề cụ thể

Phần mềm thực chức cách gửi thị trực tiếp đến phần cứng máy tính (Computer hardware) cách cung cấp liệu để phục vụ chƣơng trình hay phần mềm khác

Thơng thƣờng, ngƣời dùng tƣơng tác với phần mềm thông qua giao diện Ngày giao diện phần mềm thƣờng giao diện đồ họa, ngƣời dùng tƣơng tác với phần mềm thơng qua đoạn văn bản, hình ảnh biểu tƣợng

Phần mềm ứng dụng Các biểu tƣợng

(53)

3.1.2 Phân loại phần mềm

Có hai loại phần mềm bản: phần mềm hệ thống phần mềm ứng dụng, hình 3.1 minh họa giao diện hệ điều hành phần mềm ứng dụng soạn thảo văn

a) Phần mềm hệ thống

Phần mềm hệ thống chƣơng trình điều khiển trì hoạt động máy tính thiết bị liên quan Phần mềm hệ thống hỗ trợ giao tiếp ngƣời dùng, phần mềm ứng dụng phần cứng máy tính Có kiểu phần mềm hệ thống: hệ điều hành chƣơng trình tiện ích

Hệ điều hành tập chƣơng trình phối hợp tất hoạt động thiết bị phần cứng Nó phƣơng tiện cho ngƣời dùng để giao tiếp với máy tính phần mềm khác Những dịng hệ điều hành phổ biến Microsoft Windows, số phiên Windows XP đƣợc thể hình 3.1, hay Mac OS, hệ điều hành Apple

Chương trình tiện ích cho phép ngƣời dùng thực công việc liên quan tới việc bảo trì máy tính, thiết bị chƣơng trình đƣợc cài đặt máy Hầu hết hệ điều hành bao gồm nhiều chƣơng trình tiện ích nhƣ: quản lý ổ đĩa, máy in thiết bị khác Ngƣời dùng mua chƣơng trình tiện ích cho phép thực chức quản lý máy tính bổ sung

Hình 3.2 Chƣơng trình tiện ích Disk Defragmenter giúp chống phân mảnh ổ cứng

b) Phần mềm ứng dụng

(54)

Có phần mềm ứng dụng đƣợc thiết kế dựa yêu cầu chung nhiều ngƣời, không theo yêu cầu đặt hàng riêng Chúng đƣợc viết hoàn chỉnh thƣờng kèm theo phƣơng tiện để cài đặt lên máy cách tự động Ngƣời mua cần mua về, thiết lập chế độ làm việc thích hợp sử dụng đƣợc Những phần mềm nhƣ gọi phần

mềm đóng gói

Phần mềm đóng gói có nhiều loại khác giúp ngƣời dùng thực cơng việc đa dạng Ví dụ nhƣ phần mềm quản lý thông tin cá nhân, nhắc việc, quản lý dự án, phần mềm kế toán, quản lý hồ sơ tài liệu, trợ giúp thiết kế (hình 3.3), chỉnh sửa hình ảnh, âm thanh, video phần mềm đa phƣơng tiện khác Bên cạnh có loại phần mềm giúp ngƣời dùng tạo trang Web cá nhân cách đơn giản, phần mềm quản lý tài cá nhân, pháp lý, thuế, phần mềm mang tính giáo dục, hệ thống tài liệu tham khảo giải trí (ví dụ phần mềm trị chơi mơ phỏng)

Hình 3.3 Các phần mềm hỗ trợ thiết kế

Các phần mềm đóng gói thƣờng có sẵn cửa hàng bán sản phẩm máy tính tải trực tuyến nhiều trang Web khác

Phần mềm phát triển ứng dụng phần mềm để tạo phần mềm khác Đây

các phần mềm mà chuyên gia tin học thƣờng sử dụng để phát triển phần mềm Đối với ngƣời làm việc lĩnh vực tin học phần mềm ứng dụng dành cho ngƣời dùng cuối, sản phẩm mục tiêu họ Để hỗ trợ cho việc làm sản phẩm phần mềm, họ lại dùng phần mềm khác gọi phần mềm hỗ trợ phát triển

Ngày thiết bị điện tử dân dụng trở nên thông minh nhờ công nghệ vi xử lý Các phần mềm điều khiển thiết bị đƣợc ghi ROM Tivi, ô tô, điện thoại di động, lị vi sóng sử dụng hệ vi xử lý Phần mềm đƣợc ghi vào ROM dùng hệ vi xử lý gắn liền với thiết bị gọi phần mềm nhúng Ngày nay, phần mềm nhúng chiếm tỷ trọng lớn thị trƣờng phần mềm nói chung

(55)

3.1.3 Quy trình phát triển phần mềm

Phát triển phần mềm bao gồm bốn hoạt động bản: đặc tả, phát triển (thiết kế thực thi), kiểm thử cài đặt bảo trì phần mềm Các hoạt động đƣợc tổ chức cách khác tùy theo tiến trình phát triển đƣợc lựa chọn

Ở mơ hình thác nƣớc, hoạt động đƣợc tổ chức cách tuần tự, đó, với mơ hình phát triển tiến hóa, hoạt động lại đƣợc tổ chức cách xen kẽ Các hoạt động đƣợc thực nhƣ phụ thuộc vào kiểu phần mềm, tình hình nhân cấu trúc tổ chức

a) Đặc tả phần mềm

Đặc tả phần mềm tiến trình để hiểu xác định dịch vụ cần có hệ thống nhƣ xác định ràng buộc việc phát triển chức hệ thống Đây giai đoạn quan trọng tiến trình phần mềm, lỗi giai đoạn không tránh khỏi việc dẫn đến sai lầm giai đoạn

Tiến trình sinh tài liệu yêu cầu, đặc tả hệ thống Các yêu cầu thƣờng đƣợc trình bày hai mức độ chi tiết khác tài liệu Khách hàng ngƣời dùng cuối cần mô tả yêu cầu mức cao, ngƣời phát triển hệ thống lại cần đặc tả hệ thống chi tiết

b) Thiết kế thực thi phần mềm

Giai đoạn liên quan tới việc chuyển yêu cầu phần mềm thành hệ thống thực thi đƣợc Thơng thƣờng liên quan đến việc thiết kế lập trình

Thiết kế phần mềm việc mô tả cấu trúc phần mềm đƣợc thực thi, liệu hệ

thống, giao diện giao tiếp thành phần đôi khi, thuật tốn đƣợc sử dụng Ngƣời làm thiết kế đƣa đƣợc thiết kế hồn chỉnh, mà thơng thƣờng phải đƣợc chỉnh sửa lặp lặp lại nhiều lần

Tiến trình thiết kế liên quan tới việc phát triển vài mơ hình hệ thống mức độ trừu tƣợng khác Khi thiết kế đƣợc phân tích, lỗi điểm thiếu sót giai đoạn trƣớc đƣợc bộc lộ, điều giúp cho việc chỉnh sửa thiết kế trƣớc

Thực thi phần mềm giai đoạn lập trình viên dùng ngơn ngữ lập trình để viết

lệnh (mã nguồn) thực để tạo hệ thống dựa đặc tả thiết kế chi tiết Để đảm bảo chƣơng trình đƣợc xây dựng thỏa mãn yêu cầu đặc tả thiết kế, kỹ sƣ lập trình đồng thời tiến hành thử nghiệm phần chƣơng trình tạo Phần thử nghiệm giai đoạn đƣợc gọi kiểm thử đơn vị Ngƣời viết mã nguồn chạy thử chƣơng trình với liệu giả định để xem chƣơng trình có cho kết mong đợi Giai đoạn đƣợc gọi kiểm thử hộp trắng Bên cạnh đó, ngƣời ta tiến hành thử nghiệm đơn vị độc lập Công việc thành viên khác nhóm đảm nhiệm để đảm bảo tính “độc lập”, đƣợc tiến hành dựa kế hoạch kiểm thử ngƣời viết mã nguồn soạn

c) Kiểm thử phần mềm

Kiểm thử phần mềm trình vận hành chƣơng trình để tìm lỗi, mục tiêu ngƣời

(56)

Tuy nhiên, để đảm bảo phần mềm phát triển theo đặc tả đáp ứng tốt yêu cầu ngƣời dùng ngồi hoạt động kiểm thử phần mềm, suốt tiến trình phát triển phần mềm ngƣời ta cần phải tiến hành hoạt động xác minh thẩm định phần mềm

Xác minh kiểm tra xem sản phẩm có với đặc tả hay không, tức trọng

vào việc phát lỗi phần mềm qua giai đoạn phát triển

Thẩm định kiểm tra xem sản phẩn có đáp ứng đƣợc u cầu ngƣời dùng hay khơng, tức

là trọng vào việc phát khác biệt sản phẩm làm với mà ngƣời dùng mong đợi

Xác minh thẩm định tĩnh việc kiểm tra phần mềm mà khơng thực chƣơng trình (xét duyệt u cầu, xét duyệt thiết kế, tra mã nguồn, sử dụng biến đổi hình thức để kiểm tra tính chƣơng trình)

Xác minh thẩm định động việc kiểm tra thơng qua việc thực chƣơng trình, đƣợc tiến hành sau xây dựng đƣợc chƣơng trình (mã nguồn) Đây kỹ thuật kiểm tra đƣợc áp dụng phổ biến nhất, đƣợc gọi kiểm thử phần mềm

d) Cài đặt bảo trì phần mềm

Trong giai đoạn này, hệ thống vừa phát triển đƣợc cài đặt triển khai cho ngƣời dùng sử dụng đƣợc Trƣớc ngƣời dùng thật bắt tay vào sử dụng hệ thống, nhóm phát triển cần tạo tập liệu cần thiết huấn luyện cho ngƣời dùng sử dụng chƣơng trình để đảm bảo hệ thống đƣợc sử dụng hữu hiệu

Bảo trì phần mềm việc điều chỉnh lỗi chƣa đƣợc phát giai đoạn

trƣớc chu kỳ sống phần mềm, nâng cấp tính sử dụng an toàn vận hành phần mềm Bảo trì phần mềm chiếm đến 65%-75% cơng sức chu kỳ sống phần mềm Nhiệm vụ giai đoạn bảo trì phần mềm giữ cho phần mềm đƣợc cập nhật môi trƣờng thay đổi yêu cầu ngƣời sử dụng thay đổi

3.1.4 Phần mềm mã nguồn đóng mã nguồn mở

a) Phần mềm mã nguồn đóng

Phần mềm mã nguồn đóng phần mềm mà mã nguồn không đƣợc công bố Muốn sử dụng hợp pháp phần mềm nguồn đóng, ngƣời dùng cần đƣợc cho phép ngƣời giữ quyền phần mềm, thƣờng tổ chức hay cá nhân phát triển phần mềm Phần mềm nguồn đóng thƣờng có phí, nhiên số phiên giản lƣợc chức miễn phí Ví dụ phần mềm mã nguồn đóng có phí hệ điều hành Microsoft Windows, phần mềm ứng dụng văn phòng Microsoft Office, phần mềm gõ tiếng Việt Vietkey, hệ quản trị sở liệu SQL Server, môi trƣờng phát triển phần mềm Microsoft Visual Studio Phần mềm nghe nhạc JetAudio ví dụ phần mềm nguồn đóng miễn phí phiên giản lƣợc (jetAudio Basic) có phí phiên đầy đủ (jetAudio Plus VX) Trình duyệt web Google Chrome ví dụ cho phần mềm mã nguồn đóng miễn phí

(57)

Hầu hết cơng ty phát triển mã nguồn đóng cố gắng dùng công nghệ để hạn chế ngƣời dùng thay đổi chép phần mềm cách bất hợp pháp Ngay với phần mềm miễn phí mã nguồn khơng đƣợc cơng khai tác giả khơng muốn ngƣời khác thay đổi mã nguồn nhƣ lợi dụng để biến thành sản phẩm riêng (giống nhƣ hình thức đạo văn)

b) Phần mềm mã nguồn mở

Phần mềm mã nguồn mở (open-source software) hiểu theo nghĩa rộng khái niệm chung đƣợc sử dụng cho tất phần mềm mà mã nguồn đƣợc cơng bố rộng rãi, công khai cho phép ngƣời tiếp tục phát triển phần mềm Những phần mềm nguồn mở ngày phát triển chất lƣợng số lƣợng Hệ điều hành Linux, trình duyệt web Mozilla Firefox, phần mềm ứng dụng văn phòng Open Office, phần mềm gõ tiếng Việt Unikey, phần mềm máy chủ web Apache, hệ quản trị sở liệu MySQL, ngơn ngữ lập trình Perl ví dụ điển hình phần mềm mã nguồn mở

Mã nguồn mở khơng có nghĩa chúng đƣợc chép, sửa chữa thoải mái hay sử dụng vào mục đích đƣợc Mã nguồn mở đƣợc cơng bố dƣới nhiều điều kiện khác nhau, số cho phép phát triển, sử dụng bán tùy ý miễn giữ nguyên dòng nguồn gốc sản phẩm, số bắt buộc tất sản phẩm làm từ phải open-source, số khác địi hỏi phải cơng bố trọn vẹn mã nguồn, số khác không cho phép sử dụng vào mục đích thƣơng mại, số khác lại khơng có ràng buộc đáng kể

Qua ta thấy khái niệm open source chuẩn xác mà muốn nói đến tính pháp lý việc sử dụng phần mềm mã nguồn mở, phải xem xét đến điều kiện sử dụng đƣợc công bố Một điều kiện hay đƣợc áp dụng GPL: GNU General Public License (http://www.fsf.org/licenses/gpl.html) tổ chức Free Software Foundation

GPL có đặc điểm phân biệt, là:

- Tác giả gốc giữ quyền phần mềm nhƣng cho phép ngƣời dùng nhiều quyền khác, có quyền tìm hiểu, phát triển, công bố nhƣ quyền khai thác thƣơng mại sản phẩm

- Tác giả sử dụng luật quyền để bảo đảm quyền khơng bị vi phạm tất ngƣời, phần mềm có sử dụng mã nguồn

Đặc biệt điểm thứ hai thƣờng đƣợc gọi hiệu ứng virus (viral effect) biến tất phần mềm có dùng mã nguồn GPL biến thành phần mềm GPL Trên thực tế điều có ý nghĩa: tác giả sử dụng dù phần nhỏ mã nguồn GPL chƣơng trình phải cơng bố chƣơng trình dƣới điều kiện GPL Điều kiện quy định: phần mềm GPL phải công bố mã nguồn rộng rãi cơng khai phải tạo điều kiện cho ngƣời truy cập đƣợc mã nguồn (ví dụ qua web qua việc bán CD giá rẻ); giữ ngun dịng thích nguồn gốc tác giả, quyền họ nhƣ điều kiện đƣợc áp dụng phần mềm (trong tệp tin có tên LICENSE); cấm việc bán mã nguồn nhƣng cho phép kinh doanh chƣơng trình đƣợc tạo từ mã nguồn dịch vụ hỗ trợ liên quan

3.2 HỆ ĐIỀU HÀNH

3.2.1 Khái niệm hệ điều hành

(58)

điều hành hệ thống đứng ngƣời máy tính, giúp ngƣời thực cơng việc xử lý họ (thơng qua chƣơng trình ứng dụng) cách hiệu Hoạt động máy tính khơng thể tách rời khỏi hệ điều hành Hệ điều hành có chức sau:

- Quản lý điều phối thiết bị máy để phục vụ cho cơng việc xử lý Hình 3.4 minh họa cách thức ngƣời dùng tiến hành in văn dƣới điều khiển hệ điều hành

Hình 3.4 Tiến trình in văn từ máy tính

- Quản lý thơng tin nhớ ngồi: Các thơng tin nhớ đƣợc tổ chức thành đơn vị lƣu trữ gọi file (tệp tin) Phân hệ thực chức quản lý thông tin nhớ gọi phân hệ quản lý file (file management system) Các ứng dụng nhƣ tìm file, khai thác thông tin file, lƣu trữ file vào nhớ ngồi phải thơng qua hệ quản lý file Chức giải phóng chƣơng trình ứng dụng khỏi công việc phức tạp tỉ mỉ

- Quản lý tiến trình (process management) Về bản, tiến trình chƣơng trình thực máy tính Ngồi chƣơng trình ngƣời dùng cịn có tiến trình hệ thống nhƣ quản lý thông tin giao tiếp với thiết bị ngoại vi, điều phối tài nguyên Thực chất quản lý tiến trình lập lịch thực tiến trình phù hợp với yêu cầu tài nguyên tiến trình

- Cung cấp mơi trƣờng giao tiếp với ngƣời sử dụng cung cấp tiện ích Mỗi hệ điều hành thƣờng cung cấp ngôn ngữ giao tiếp với ngƣời sử dụng Trƣớc đây, ngôn ngữ giao tiếp thƣờng lệnh mà ngƣời sử dụng phải gõ trực tiếp từ bàn phím Ngày nay, hệ điều hành thƣờng cung cấp môi trƣờng đồ họa để ngƣời dùng giao tiếp với máy, theo ngƣời dùng sử dụng chuột để công việc thể qua biểu tƣợng gõ lệnh

Hệ điều hành phải đƣợc khởi động trƣớc máy tính làm việc với chƣơng trình khác Hệ điều hành phải thƣờng trực máy ngừng hoạt động

3.2.2 Lịch sử phát triển phân loại hệ điều hành

a) Thế hệ (1945 – 1955)

Vào khoảng thập niên 1940, Howard Aiken Havard John von Neumann Princeton, thành cơng việc xây dựng máy tính dùng ống chân không Những máy lớn với 10.000 ống chân không nhƣng chậm nhiều so với máy rẻ ngày

Mỗi máy đƣợc nhóm thực tất từ thiết kế, xây dựng lập trình, thao tác đến Phần mềm văn

truyền tín hiệu cho hệ điều hành tài liệu cần đƣợc chuyển tới máy in

4 Thiết bị điều khiển máy in điều khiển việc in tài liệu Ngƣời dùng thực

lệnh in từ ứng dụng (ví dụ: từ phần

(59)

các chức Ngôn ngữ lập trình chƣa đƣợc biết đến hệ điều hành chƣa nghe đến

Vào đầu thập niên 1950, phiếu đục lỗ đời viết chƣơng trình phiếu thay cho dùng bảng điều khiển Khơng có phân biệt chƣơng trình ngƣời sử dụng chƣơng trình điều khiển

b) Thế hệ (1955 – 1965)

Sự đời thiết bị bán dẫn vào thập niên 1950 làm thay đổi tranh tổng thể Máy tính trở nên đủ tin cậy hơn, đƣợc sản xuất cung cấp cho khách hàng Lần có phân chia rõ ràng ngƣời thiết kế, ngƣời xây dựng, ngƣời vận hành, ngƣời lập trình ngƣời bảo trì

Để thực cơng việc (một chƣơng trình hay tập hợp chƣơng trình), lập trình viên trƣớc hết viết chƣơng trình giấy (bằng hợp ngữ hay FORTRAN) sau đục lỗ phiếu cuối đƣa phiếu vào máy Sau thực xong xuất kết máy in

Hệ thống xử lý theo lơ đời, lƣu yêu cầu cần thực lên băng từ hệ thống đọc thi hành lần lƣợt Sau đó, ghi kết lên băng từ xuất cuối ngƣời sử dụng đem băng từ xuất in

Hệ thống xử lý theo lô hoạt động dƣới điều khiển chƣơng trình đặc biệt tiền thân hệ điều hành sau Ngơn ngữ lập trình sử dụng giai đoạn chủ yếu FORTRAN hợp ngữ

c) Thế hệ (1965 – 1980)

Trong giai đoạn này, máy tính đƣợc sử dụng rộng rãi khoa học nhƣ thƣơng mại Máy IBM 360 máy tính sử dụng mạch tích hợp, từ kích thƣớc giá hệ thống máy giảm đáng kể máy tính phổ biến Các thiết bị ngoại vi dành cho máy tính xuất ngày nhiều thao tác điều khiển bắt đầu phức tạp

Hệ điều hành đời nhằm điều phối, kiểm soát hoạt động giải yêu cầu tranh chấp thiết bị Chƣơng trình hệ điều hành dài triệu dòng hợp ngữ hàng ngàn lập trình viên thực

Một cải tiến quan trọng hệ máy tính thứ chế độ đa chương trình (multi- program) Trong hệ máy tính thứ 2, chƣơng trình sử dụng thiết bị xuất nhập liệu CPU phải chờ cơng việc xuất nhập kết thúc tiếp tục công việc xử lý Chế độ đa chƣơng trình nhằm song song hóa thiết bị ngoại vi để tận dụng thời gian CPU Trong chế độ này, nhiều chƣơng trình đƣợc nạp vào nhớ Trong chƣơng trình sử dụng CPU chƣơng trình thứ hai đọc liệu từ đĩa, cịn chƣơng trình thứ ba sử dụng máy in Vai trò hệ điều hành chế độ xử lý đa chƣơng trình điều phối tài nguyên hệ thống cách hợp lý phục vụ cho chƣơng trình để giảm thời gian “chết” thiết bị Việc phân phối nhớ cho chƣơng trình đƣợc nạp vào nhớ việc điều phối “tài nguyên”

(60)

Một phát minh quan trọng khác lần đƣợc đƣa vào hệ điều hành máy tính hệ thứ chế phân chia thời gian (time sharing) Chế độ thƣờng áp dụng với máy tính có nhiều ngƣời sử dụng thông qua trạm cuối Mỗi trạm cuối thƣờng có hình bàn phím, ngƣời sử dụng giao tiếp trực tiếp với máy tính qua hệ điều hành Tốc độ làm việc ngƣời chậm so với khả máy Trong chế độ phân chia thời gian, hệ điều hành lần lƣợt cấp CPU cho ngƣời sử dụng khoảng thời gian định

Hệ điều hành phân chia thời gian kiểu phát triển cao hệ điều hành đa chƣơng trình Điểm việc xử lý chƣơng trình ln phiên khơng đợi xử lý xong chƣơng trình chuyển đến chƣơng trình khác Tính giúp cho nhiều nhiệm vụ thực thi đƣợc thời điểm Chính lý mà hệ điều hành có chế phân chia thời gian cịn gọn hệ điều hành đa nhiệm (multi-task)

Bên cạnh đó, có số phiên hệ điều hành cho phép nhiều ngƣời đồng thời sử dụng hệ thống, ngƣời ta gọi hệ điều hành nhiều người sử dụng Trong chế độ này, nhiều ngƣời dùng phần mềm máy tính phải nạp phần mềm vào máy tính nhiều chạy động thời, phục vụ ngƣời dùng khơng ngƣời đóng ứng dụng mà hồn tồn khơng biết ngƣời dùng

Trong thời kỳ hệ máy tính hệ ngƣời ta đƣa vào hệ điều hành chế độ vận hành gọi nhớ ảo Để máy tính chạy đƣợc chƣơng trình có kích thƣớc lớn nhớ trong, ngƣời ta tổ chức chế phân trang Mỗi trang nhớ có độ dài nhƣ nhau, chƣơng trình làm việc đƣợc hệ điều hành cấp cho số trang nhớ Nhƣ vậy, phần chƣơng trình chạy có mặt nhớ trong, phần cịn lại chƣơng trình nằm đĩa từ Khi cần sử dụng đến lệnh nằm đĩa hệ điều hành tổ chức hoán chuyển phần nằm nhớ lên đĩa nạp phần chƣơng trình cần thiết từ đĩa vào trang dành cho chƣơng trình

d) Thế hệ (1980 - nay)

Phù hợp với hai khuynh hƣớng xây dựng máy tính nhỏ - máy tính cá nhân xây dựng máy tính lớn hệ điều hành đƣợc phát triển theo hai khuynh hƣớng khác

Với máy vi tính, hệ điều hành có hƣớng phát triển ƣu tiên mới, tính thân thiện đối tƣợng sử dụng thƣờng ngƣời không chuyên nghiệp Một số hệ điều hành tiếng thời kỳ DOS, WINDOWS dòng máy PC, MAC OS dòng máy Macintosh

Đối với dịng máy tính lớn nhƣ mini mainframe hệ điều hành chủ đạo UNIX, đƣợc kế thừa từ MULTICS UNIX đƣợc thiết kế hệ điều hành đa nhiệm nhiều ngƣời dùng với chế phân chia thời gian Do quan niệm có nhiều ngƣời dùng nên có chế kiểm sốt thẩm quyền nghiêm ngặt để đảm bảo an toàn cho chƣơng trình chạy máy tính

Hệ thống tệp tin UNIX đƣợc phân cấp theo thƣ mục có thuộc tính để kiểm sốt thẩm quyền: quyền đọc, quyền sửa, quyền thực cho thân ngƣời tạo tệp tin, nhóm ngƣời sử dụng cho ngƣời khác UNIX cung cấp nhiều tiện ích dƣới dạng lệnh, bao gồm lệnh thao tác với tệp tin thƣ mục, phƣơng tiện để lọc, phƣơng tiện để lập trình, hệ soạn thảo văn bản, lệnh để quản trị hệ thống

(61)

trên PC, SCO UNIX gần LINUX, hệ điều hành nguồn mở, tạo điều kiện để ngƣời quan tâm tham gia phát triển UNIX Ngoài giao diện truyền thống UNIX, ngƣời ta sử dụng giao diện đồ họa X-WINDOWS

Do khuôn khổ giáo trình tin học đại cƣơng, không giới thiệu thêm hệ điều hành khác nhƣ hệ điều hành song song, hay mơi trƣờng mạng máy tính nhƣ hệ điều hành mạng, hệ điều hành phân tán

3.2.3 Một số hệ điều hành điển hình

a) Hệ điều hành cho máy tính

Hệ điều hành MS-DOS

Hệ điều hành hƣớng đĩa MS-DOS (Microsoft Disk Operating System) hệ điều hành hãng phần mềm Microsoft Đây hệ điều hành có giao diện dòng lệnh (command-line interface) đƣợc thiết kế cho máy tính cá nhân (PC - Personal Computer) MS-DOS phổ biến suốt thập niên 1980 đầu thập niên 1990, Windows 95 đời

Phiên DOS đời vào tháng năm 1981, với tên thức PC DOS 1.0 Tên gọi MS-DOS đƣợc biết đến kể từ tháng năm 1982 (MS-DOS 1.25) Sau đó, Microsoft lần lƣợt cho đời phiên MS-DOS song song với PC-DOS

MS-DOS 5.0 đời vào tháng năm 1991 bao gồm nhiều tính nhƣ quản lý nhớ (MEMMAKER.EXE), trình soạn thảo văn (MS-DOS Editor), ngơn ngữ lập trình QBASIC trở nên phổ biển thời trƣớc MS-DOS 6.22 đời vào tháng năm 1994 MS-DOS 6.22 phiên DOS cuối đƣợc chạy nhƣ hệ điều hành độc lập Sau Windows 95 đời vào năm 1995, phiên MS-DOS đƣợc phát hành kèm với Windows, chẳng hạn nhƣ MS-DOS 7.0 (8/1995) Windows 95 khởi động MS-DOS 8.0 kèm với Windows ME Đây phiên cuối hệ điều hành

Hình 3.5 Giao diện làm việc hệ điều hành MS-DOS

(62)

Điều khác hẳn với Windows, vốn hệ điều hành đa nhiệm - ngƣời dùng thi hành nhiều ứng dụng lúc Mặc dù vậy, sau ngƣời ta thiết kế số ứng dụng chạy thƣờng trú cho MS-DOS Các ứng dụng chạy ứng dụng khác, khiến ngƣời sử dụng thực nhiều thao tác lúc Ở Việt Nam, phần mềm chạy thƣờng trú MS-DOS phổ biến chƣơng trình hỗ trợ gõ tiếng Việt, VietRes

Một số môi trƣờng làm việc đa nhiệm nhƣ Deskmate hay Desqview đƣợc thiết kế để chạy DOS Những phiên Windows phải khởi động từ dấu nhắc DOS Tuy nhiên, ngày nay, MS-DOS trở nên phổ biến Nó cịn tồn phiên Windows sau (2000, XP) dƣới dạng ứng dụng cho phép ngƣời dùng kích hoạt chế độ dòng lệnh thƣờng đƣợc dùng để thực tác vụ liên quan mật thiết đến hệ thống mà giao diện đồ họa Windows không làm đƣợc

Hệ điều hành Microsoft Windows

Microsoft Windows tên dòng phần mềm hệ điều hành độc quyền hãng Microsoft Lần Microsoft giới thiệu môi trƣờng điều hành mang tên Windows (Cửa sổ) vào tháng 11 năm 1985 với tính thêm vào Hệ điều hành MS-DOS giao diện đồ hoạ - đƣợc quan tâm cao vào thời điểm đó, đồng thời để cạnh tranh với hãngApple Computer

Windows khởi đầu đƣợc phát triển cho máy tính tƣơng thích với IBM (dựa vào kiến trúc x86 Intel) ngày hầu hết phiên Windows đƣợc tạo cho kiến trúc (tuy nhiên Windows NT đƣợc viết nhƣ hệ thống xuyên cấu trúc cho xử lý Intel MIPS) sau xuất cấu trúc PowerPC DEC Alpha Sự phổ biến Windows khiến xử lý Intel trở nên phổ biến ngƣợc lại

Hình 3.6 Giao diện hệ điều hành Windows

(63)

hiện hình máy tính Mỗi cửa sổ làm việc hiển thị tài liệu chƣơng trình khác nhau, cung cấp mơ hình trực quan thể khả đa nhiệm hệ điều hành (hình 3.6)

Hệ điều hành MAC OS

Mac OS tên viết tắt hệ điều hành Macintosh hệ điều hành đƣợc thiết kế riêng cho dịng máy tính Macintosh hãng Apple Computer Mặc dù hệ điều hành Mac đƣợc phát triển vài năm trƣớc Windows đời, hai hệ điều hành có nhiều khu vực làm việc hình chữ nhật để phản ánh khả xử lý đa nhiệm Cả Windows Mac OS cung cấp dịch vụ mạng Tính độc đáo máy tính để bàn Mac chúng bao gồm biểu tƣợng Apple, Dock trình đơn ứng dụng cố định phía hình Hình 3.7 minh hoạ số tính hệ điều hành dùng cho máy tính để bàn Mac

Hình 3.7 Giao diện làm việc hệ điều hành Mac OS

Mac OS hệ điều hành có nhiều nét tƣơng đồng với Microsoft Windows Tuy nhiên, có số điểm vƣợt trội so với hệ điều hành Windows nhƣ: độc lập độ phân giải, có phần mềm nghe nhìn Quick Time, có hệ thống lƣu liệu Time Machine, tiện ích tìm kiếm liệu máy tính 200 tiện ích Là hệ điều hành mang tính cách mạng bảo mật cao từ trƣớc đến nay, không cần phần mềm bảo vệ riêng, bị virus cơng Windows bị hàng loạt lỗi bảo mật nguy hiểm

Nhƣợc điểm lớn Mac OS đòi hỏi tƣơng đồng phần cứng phần mềm ứng dụng Trong năm 90, Apple cho phép hãng sản xuất khác liên minh PowerPC sử dụng hệ điều hành Mac OS, nhƣng việc chấm dứt vào khoảng năm 1998 Mac OS trở mã nguồn đóng

(64)

Mac OS X vào máy ảo Windows (sử dụng vài phần mềm máy ảo nhƣ VMWare, VirtualBox), hai cài song song (dual-boot) với Windows Cả cách dùng đĩa cài đặt gốc Mac OS X Apple sản xuất, mà phải dùng phiên đƣợc tùy chỉnh cộng đồng OSX86 tƣơng thích với máy khơng thuộc Apple (có thể kể đến nhƣ Leo4all, iPC, Hazard, Kalyway, JaS ) tự thêm driver vào đĩa cài đặt gốc để việc cài đặt sử dụng diễn suôn sẻ

Hệ điều hành UNIX LINUX

Hệ điều hành UNIX đƣợc phát triển năm 1969 AT&T Bell Labs Ƣu điểm bật UNIX độ tin cậy cao môi trƣờng đa ngƣời dùng, nhiều phiên UNIX đƣợc cài đặt hệ thống máy tính lớn (mainframes) máy vi tính (microcomputers)

Phiên Linux Linus Torvalds viết vào năm 1991, lúc ơng cịn sinh viên Đại học Helsinki Phần Lan Ông làm việc cách hăng say vòng năm liên tục cho đời phiên Linux 1.0 vào năm 1994 Bộ phận chủ yếu đƣợc phát triển tung thị trƣờng dƣới quyền GNU General Public License Do mà tải xem mã nguồn Linux

Linux đƣợc lấy cảm hứng dựa dẫn xuất UNIX gọi Minix, đƣợc tạo Andrew Tanenbaum Linux thƣờng đƣợc sử dụng nhƣ hệ điều hành cho máy chủ, khơng phổ biến cho ứng dụng máy tính để bàn nhƣ Windows hay Mac OS

Linux độc đáo đƣợc phân phối với mã nguồn theo điều khoản mã nguồn mở GPL (General Public License), cho phép tất ngƣời tự sửa đổi để tạo cho riêng mình, cho ngƣời khác với mục đích thƣơng mại Chính sách cấp phép khuyến khích lập trình viên phát triển tiện ích, phần mềm cải tiến Linux Linux đƣợc phân phối chủ yếu web

Linux chia sẻ số tính kỹ thuật với UNIX, chẳng hạn nhƣ khả đa nhiệm đa ngƣời dùng, an toàn đáng tin cậy Hệ điều hành Android, Symbian Chromium cho thiết bị cầm tay đƣợc xây dựng dựa Linux

Tuy nhiên, Linux khơng có đƣợc giao diện thân thiện ngƣời dùng nhƣ hệ điều hành Windows Mac Các hệ thống phần mềm chạy Linux hạn chế chủ yếu hƣớng tới đối tƣợng khách hàng doanh nghiệp kỹ thuật viên

(65)

Hình 3.8 Giao diện đồ họa phiên Ubuntu

b) Hệ điều hành cho thiết bị di động

Có loại hệ điều hành thống trị thiết bị cầm tay, là: iOS, Symbian, BlackBerry OS, Android OS, Windows Phone HP webOS (nhƣ hình 3.9)

Hình 3.9 Sáu loại hệ điều hành điển hình cho thiết bị cầm tay

(66)

của Apple nhƣ iPod touch, iPad Apple TV Ngày 31/5/2011, App Store Apple chứa khoảng 500.000 ứng dụng iOS đƣợc tải tổng cộng khoảng 15 tỷ lần Trong quý năm 2010, có khoảng 26% điện thoại thông minh chạy hệ điều hành iOS, sau hệ điều hành Android Google Symbian Nokia, giao diện ngƣời dùng iOS dựa sở thao tác tay Ngƣời dùng tƣơng tác với hệ điều hành thông qua nhiều động tác tay hình cảm ứng thiết bị Apple

Symbian hệ điều hành đƣợc viết sử dụng cho số điện thoại di động Symbian đƣợc sử dụng nhiều điện thoại cao cấp Nokia Hãng thành công với hệ điều hành có thời giúp Symbian trở thành hệ điều hành dành cho thiết bị di động phổ biến giới Tuy nhiên kể từ tháng 9/2012, Symbian vào giai đoạn thối trào khơng cạnh tranh với hệ điều hành tân tiến nhƣ iOS, Android Số ngƣời dùng ngày khiến thị phần Symbian thu hẹp trở nên khiêm tốn so với tảng khác Đến ngày 25/1/2013, tập đồn Nokia thức khai tử tảng Symbian, thiết bị cuối chạy Symbian Nokia 808 pureview

BlackBerry OS tảng phần mềm tƣ hữu Research In Motion phát triển cho dòng sản phẩm cầm tay BlackBerry BlackBerry OS cung cấp khả đa nhiệm đƣợc thiết kế cho thiết bị sử dụng phƣơng pháp nhập đặc biệt, thƣờng trackball hình cảm ứng Hệ điều hành đƣợc hỗ trợ MIDP 1.0 WAP 1.2 Các phiên trƣớc cho phép đồng hóa khơng dây thƣ điện tử lịch với Microsoft Exchange Server với Lotus Domino Phiên OS hỗ trợ MIDP 2.0, có khả kích hoạt khơng dây hồn tồn đồng thƣ điện tử, lịch, cơng việc, ghi danh bạ với Exchange khả hỗ trợ Novell GroupWise, Lotus Notes kết hợp với BlackBerry Enterprise Server

Các cập nhật cho BlackBerry OS có nhà mạng cung cấp thông qua dịch vụ BlackBerry OTASL

Android hệ điều hành dựa tảng Linux đƣợc thiết kế dành cho thiết bị di động có hình cảm ứng nhƣ điện thoại thơng minh máy tính bảng Ban đầu, Android đƣợc phát triển Tổng cơng ty Android, với hỗ trợ tài từ Google sau đƣợc Google mua lại vào năm 2005

Android có mã nguồn mở Google phát hành mã nguồn theo Giấy phép Apache Chính mã nguồn mở với giấy phép khơng có nhiều ràng buộc cho phép nhà phát triển thiết bị, mạng di động lập trình viên nhiệt huyết đƣợc điều chỉnh phân phối Android cách tự Ngồi ra, Android cịn có cộng đồng lập trình viên đơng đảo chun viết ứng dụng để mở rộng chức thiết bị, loại ngơn ngữ lập trình Java có sửa đổi

Những yếu tố giúp Android trở thành tảng điện thoại thông minh phổ biến giới Mặc dù đƣợc thiết kế để chạy điện thoại máy tính bảng, Android xuất TV, máy chơi game thiết bị điện tử khác Bản chất mở Android khích lệ đội ngũ đơng đảo lập trình viên ngƣời đam mê sử dụng mã nguồn mở để tạo dự án cộng đồng quản lý Những dự án bổ sung tính cao cấp cho ngƣời dùng thích tìm tịi đƣa Android vào thiết bị ban đầu chạy hệ điều hành khác

Windows Phone hệ dòng điện thoại chạy hệ điều hành Microsoft Windows Mobile Windows Phone đƣợc phát triển dựa phần lõi Windows CE giống Zune HD, phiên trƣớc lại dựa Windows CE

(67)

cấu hình phần cứng khắt khe đối tác sản xuất Ngoài ra, Windows Phone hỗ trợ Outlook Office

HP WebOS hệ điều hành di động dựa hạt nhân Linux, ban đầu đƣợc phát triển Palm, mà sau đƣợc mua lại Hewlett-Packard Nói theo cách dễ hiểu nhất, WebOS hệ điều hành ảo chạy trình duyệt Web Đến nay, LG Electronics mua lại hệ điều hành nhằm phát triển dịng tivi thơng minh hãng Nếu nhƣ Android hay iOS, ngƣời dùng chạy đƣợc ứng dụng hình, việc chuyển qua chuyển lại ứng dụng phải thông qua danh sách ứng dụng chạy đƣợc gọi lên thao tác WebOS ứng dụng chạy đƣợc quản lý dƣới dạng cửa sổ Hoặc hệ thống hiển thị thông báo từ email, tin nhắn thông báo từ ứng dụng WebOS đƣợc đánh giá tốt hẳn so với hệ điều hành khác nhƣ iOS hay Windows Phone

3.2.4 Quản lý liệu nhớ

Dữ liệu nhớ ngồi mà Windows nói riêng hệ điều hành nói chung quản lý tệp thƣ mục

a) Khái niệm tệp tin

Tệp, hay tệp tin (file) tập hợp thơng tin có liên quan đến ngƣời dùng tạo máy tính thiết bị số hóa khác (ảnh, video), đƣợc lƣu trữ máy Các thông tin giá trị số, hay nhiều chuỗi ký tự, ký hiệu giống khác Tệp tin đƣợc đặt tên lƣu trữ thiết bị lƣu trữ khác nhƣ đĩa cứng, đĩa CD, USB

Tên tệp tin gồm hai phần, phần tên phần mở rộng, đƣợc cách dấu chấm (.) Phần tên thơng thƣờng ngƣời dùng đặt, phần mở rộng thƣờng đƣợc quy định phần mềm tạo tệp, ban đầu phần tên bao gồm tám ký tự phần mở rộng từ đến ba ký tự, tên tệp có độ dài tùy ý tùy thuộc vào hệ thống tệp tin hệ điều hành, số trƣờng hợp đặt tên có dấu tiếng Việt

Một tệp tin luôn kết thúc ký tự đặc biệt (hay dấu kết thúc) có mã ASCII 255 hệ thập phân Ký tự thƣờng đƣợc ký hiệu EOF (từ chữ End Of File)

Một tệp tin khơng chứa thơng tin ngoại trừ tên dấu kết thúc Tuy nhiên, điều khơng mâu thuẫn với định nghĩa thân tên tệp tin chứa thông tin Những tệp tin gọi tệp tin rỗng hay tệp tin trống

Độ dài (kích thƣớc) tệp tin phụ thuộc vào khả máy tính, khả hệ điều hành nhƣ vào phần mềm ứng dụng dùng nó, đơn vị nhỏ dùng để đo độ dài tệp tin byte, độ dài tệp tin không bao gồm độ dài tên tệp tin dấu kết thúc

b) Khái niệm thư mục

Để tổ chức quản lý tốt tệp tin đĩa ngƣời ta lƣu tệp tin thành nhóm lƣu chỗ riêng gọi thƣ mục Nói cách khác, thƣ mục dạng tệp tin đặc biệt có cơng dụng nhƣ ngăn chứa, đƣợc dùng việc quản lý xếp tệp tin Thƣ mục chứa tệp tin thƣ mục bên trong, thƣ mục chứa thêm tệp tin thƣ mục khác tạo thành thư mục đĩa Có thể tạo nhiều thƣ mục dùng để chứa tệp tin khác giúp phân loại chúng để thuận tiện việc tìm kiếm, sử dụng

(68)

Cũng giống nhƣ tệp tin, thƣ mục đƣợc đặt tên tùy ý nhƣng khơng cần phải có phần mở rộng, độ dài tên tùy thuộc vào hệ thống tệp tin hệ điều hành, số trƣờng hợp đặt tên có dấu tiếng Việt Bản thân thƣ mục chiếm dung lƣợng không đáng kể thiết bị lƣu trữ, nhƣng có chứa tệp tin bên có dung lƣợng tổng dung lƣợng tất tệp tin cộng dồn lại

CÂU HỎI VÀ BÀI TẬP Khái niệm phần mềm?

2 Có loại phần mềm? Đặc điểm để phân loại phần mềm ứng dụng phần mềm hệ thống gì?

3 Kể tên số loại phần mềm nhúng điển hình Kể tên số loại phần mềm tiện ích điển hình

5 Phần mềm nguồn mở gì? Hãy nêu điểm ƣu việt phần mềm nguồn mở Trình bày khái niệm chức hệ điều hành?

7 Hệ điều hành phát triển qua hệ? Thế hệ bắt đầu xuất hệ điều hành đa nhiệm? Ƣu điểm hệ điều hành đa nhiệm gì?

(69)

Chương

MẠNG MÁY TÍNH VÀ INTERNET

Chương giới thiệu sơ lược mạng máy tính, thành phần mạng máy tính, cách kết nối mạng cách phân loại mạng máy tính Từ giúp sinh viên có kiến thức tổng quan mạng máy tính, đồng thời sinh viên trang bị kiến thức mạng Internet, lịch sử dịch vụ Internet

4.1 MẠNG MÁY TÍNH

Ngày nay, nhu cầu sử dụng máy tính khơng ngừng đƣợc tăng lên số lƣợng ứng dụng, đặc biệt phát triển hệ thống mạng máy tính, kết nối máy tính lại với thông qua môi trƣờng truyền tin để chia sẻ tài nguyên mạng góp phần làm tăng hiệu ứng dụng tất lĩnh vực khoa học kỹ thuật, kinh tế, quân sự, văn hố Sự kết hợp máy tính với hệ thống truyền thông (communication), đặc biệt viễn thông (telecommunication) tạo chuyển biến có tính cách mạng vấn đề tổ chức khai thác sử dụng hệ thống máy tính Từ hình thành môi trƣờng trao đổi thông tin tập trung, phân tán, cho phép đồng thời nhiều ngƣời trao đổi thơng tin với cách nhanh chóng hiệu từ vị trí địa lý khác Các hệ thống nhƣ đƣợc gọi mạng máy tính (computer network) Nhƣ vậy, mạng máy tính tập hợp gồm nhiều máy tính

hoặc thiết bị xử lý thông tin kết nối với qua đường truyền vật lí theo kiến trúc mạng định có trao đổi liệu với Nhờ có mạng máy tính, thơng tin từ máy tính truyền sang máy tính khác

Ví dụ mạng:

- Mạng máy tính Học viện Nơng nghiệp Việt Nam - Mạng Công ty FPT

4.1.1 Các thành phần mạng máy tính Một mạng máy tính có thành phần sau: - Các máy tính (Computer): Đƣợc dùng

để xử lý, lƣu trữ trao đổi thơng tin Mỗi máy tính mạng máy tính nút mạng

Máy tính

- Cạc mạng (Network Interface Card, NIC): Là mạch cung cấp khả truyền thông mạng cho máy tính

(70)

- Đƣờng truyền vật lý: Là phƣơng tiện (media) truyền tải liệu, nơi liệu đƣợc truyền Ta chia đƣờng truyền thành hai loại hữu tuyến vô tuyến

- Các thiết bị kết nối mạng: Là thiết bị để liên kết máy tính mạng với nhƣ HUB, SWITCH, ROUTER

- Các thiết bị đầu cuối (terminal) nhƣ:

Máy photo, máy in, máy scan, camera máy tính

- Các phụ kiện mạng nhƣ giắc cắm, ổ cắm

- Hệ điều hành mạng phần mềm điều khiển hoạt động mạng

- Các ứng dụng mạng (ví dụ: email, tìm kiếm, www, hệ quản trị sở liệu ) - Kiến trúc mạng máy tính (network architecture) thể cách kết nối máy tính với qui ƣớc truyền liệu máy tính nhƣ Cách nối máy tính với gọi hình trạng (topology) mạng Tập qui ƣớc truyền thông gọi giao thức (protocol)

4.1.2 Mơ hình kết nối giao thức mạng

a) Mơ hình kết nối (Topo mạng)

Dựa theo kĩ thuật truyền tải thông tin, ngƣời ta chia mạng thành hai kiểu nối mạng chủ yếu điểm-điểm (point-to-point network) quảng bá (broadcast hay point-to-multipoint

network)

- Kiểu kết nối điểm-điểm

Dây cáp mạng Sóng vơ tuyến

Switch

Hub Router

Máy photo Máy in Máy scan Webcam

Giắc cắm mạng Ổ cắm mạng

(71)

Trong hệ thống mạng này, đƣờng truyền nối nút thành cặp nút có trách nhiệm lƣu trữ liệu tạm thời, sau chuyển tiếp liệu đến nút lân cận (nút đƣợc nối trực tiếp với nó) Nút lân cận chuyển tiếp liệu nhƣ liệu đến đích, cách thức làm việc nhƣ nên mạng kiểu đƣợc gọi mạng “Lƣu chuyển tiếp” (Store and Forward) Kiểu nối mạng điểm - điểm có ba dạng là: hình (star), chu trình (loop) hình (tree)

Topo mạng hình – Star Topo mạng chu trình – Loop Topo mạng hình – Tree

Hình 4.2 Các mạng có cấu trúc điểm – điểm

- Kiểu kết nối quảng bá

Trong hệ thống mạng quảng bá tồn kênh truyền vật lý, tất nút mạng truy cập chung kênh truyền vật lý Dữ liệu đƣợc gửi từ nút đƣợc tất nút lại tiếp nhận, cần địa đích liệu để nút vào kiểm tra liệu xem có phải gửi đến hay khơng Kiểu kết nối quảng bá có số dạng chính: bus vịng trịn

Topo mạng – Bus Topo mạng – Ring Vệ tinh

Hình 4.3 Các mạng có cấu trúc quảng bá

b) Giao thức mạng (Network protocol)

(72)

dụng cao quy tắc nhiều phức tạp Tập hợp tất quy tắc, quy ƣớc đƣợc gọi giao thức (protocol) mạng Các thành phần giao thức bao gồm:

- Cú pháp: Định dạng liệu, phƣơng thức mã hóa mức tín hiệu - Ngữ nghĩa: Thơng tin điều khiển, điều khiển lƣu lƣợng xử lý lỗi 4.1.3 Phân loại mạng máy tính

Có nhiều cách phân loại mạng khác tùy theo yếu tố đƣợc chọn để làm tiêu phân loại nhƣ theo khoảng cách địa lý, theo topo kết nối hay kiểu truyền thông mà mạng sử dụng

Cách 1: Phân loại mạng theo khoảng cách địa lý

Nếu lấy “khoảng cách địa lý” làm yếu tố mạng đƣợc phân chia thành mạng cục bộ, mạng đô thị, mạng diện rộng, mạng toàn cầu

- Mạng cục (LAN: Local Area Network): mạng đƣợc cài đặt phạm vi tƣơng đối nhỏ (ví dụ quan, công ty, trƣờng học )

- Mạng đô thị (MAN: Metropolitan Area Network): mạng đƣợc cài đặt phạm vi thành phố, trung tâm kinh tế, phạm vi địa lý hàng trăm km

- Mạng diện rộng (WAN: Wide Area Network): phạm vi hoạt động mạng vƣợt qua biên giới quốc gia, khu vực

- Mạng toàn cầu (VAN: Vast Area Network): phạm vi mạng trải rộng khắp lục địa

Khoảng cách địa lý có tính chất tƣơng đối, đặc biệt thời đại ngày Những tiến phát triển công nghệ truyền dẫn quản lý mạng khiến ranh giới khoảng cách địa lý mạng trở nên mờ nhạt Hiện tại, phân loại mạng theo khoảng cách địa lý ngƣời ta thƣờng đồng loại mạng thành loại sau:

- WAN mạng lớn diện rộng, hệ thống mạng truyền thơng trao đổi liệu phạm vi rộng lớn nhƣ quốc gia hay quốc tế

- LAN mạng cục đƣợc bố trí phạm vi hẹp nhƣ quan, bộ, ngành Một số mạng LAN nối lại với để tạo thành mạng LAN lớn

Cách 2: Phân loại mạng theo mối quan hệ máy mạng

- Mạng bình đẳng (peer-to-peer, cịn đƣợc gọi mạng ngang hàng): Các máy có quan hệ ngang hàng, máy yêu cầu máy khác phục vụ

(73)

4.2 INTERNET

4.2.1 Một số khái niệm

a) Internet

Internet hệ thống thông tin tồn cầu gồm mạng máy tính đƣợc liên kết với Hệ thống sử dụng giao thức truyền thông TCP/IP (Transmission Control Protocol/ Internet Protocol) để truyền liệu

Điểm khác với mạng máy tính thông thƣờng chỗ Internet không thuộc sở hữu khơng có mạng điều hành mạng nào, có ủy ban điều phối kĩ thuật (các tổ chức phi lợi nhuận, phi phủ - non profit, non govermental) quản lý việc cấp địa nghiên cứu sách nhƣ công nghệ Internet

Hệ thống Internet bao gồm hàng ngàn mạng máy tính doanh nghiệp, viện nghiên cứu trƣờng đại học, ngƣời dùng cá nhân phủ tồn cầu Chúng cung cấp khối lƣợng thông tin dịch vụ khổng lồ Internet, mạng Internet mang lại nhiều tiện ích hữu dụng cho ngƣời sử dụng, tiện ích phổ thơng Internet hệ thống World Wide Web (WWW), thƣ điện tử (email), trò chuyện trực tuyến (chat), máy tìm kiếm (search engine), dịch vụ thƣơng mại chuyển ngân dịch vụ y tế, giáo dục nhƣ hình thức đào tạo trực tuyến, chữa bệnh từ xa

- Lịch sử Internet

Nguồn gốc Internet ARPANET, dự án Quốc phòng Mỹ khởi đầu năm 1969 thực kết nối mạng Bộ Quốc phòng Mỹ với số sở nghiên cứu khoa học lớn Mỹ Giao thức truyền thơng lúc đƣợc dùng NCP (Network Control Protocol), đến năm 70, họ giao thức TCP/IP đƣợc Vincerf (đại học Stanford) Robert Kahn phát triển, đến năm 1983 họ giao thức hoàn toàn thay NCP ARPANET

Sau thời gian kế hoạch sử dụng ARPANET khơng thực đƣợc nhƣ mong muốn số lý kỹ thuật trị Do vậy, năm 1986 Hội đồng Khoa học Quốc gia Hoa kỳ (National Science Foundation - NSF) xây dựng mạng NSFNET, mạng riêng hoạt động nhanh nhiều để nối với trung tâm siêu tính tốn (tốc độ đƣờng truyền 1,5 Mb/s thay 560 Kb/s ARPANET) Sự xuất mạng NSFNET thúc đẩy tăng trƣởng Internet, xa lộ thông tin hình thành nhiều trƣờng đại học, viện nghiên cứu tham gia vào cộng đồng Internet Sau tổ chức phủ, giới kinh doanh vào ngày chiếm tỷ trọng đáng kể giới Internet Về mặt địa lý Internet nhanh chóng vƣợt khỏi nƣớc Mỹ trở thành mạng toàn cầu với vài chục triệu ngƣời dùng nhƣ nay, đến năm 1990 trình chuyển đổi sang Internet hoàn tất ARPANET ngừng hoạt động

(74)

b) Máy chủ máy khách

Máy chủ (server) máy tính hệ thống máy tính cung cấp tài nguyên

dịch vụ cho hệ thống mạng sử dụng Các máy chủ thƣờng có cấu hình mạnh (tốc độ xử lý nhanh, nhớ lƣu trữ lớn) máy chuyên dụng Dựa vào chức chia thành loại server nhƣ sau:

- File Server: phục vụ yêu cầu hệ thống tệp tin mạng - Print Server: phục vụ yêu cầu in ấn mạng

- Application Server: cho phép ứng dụng chạy server trả kết cho client

- Mail Server: cung cấp dịch vụ gửi nhận e-mail - Web Server: cung cấp dịch vụ web

- Database Server: cung cấp dịch vụ lƣu trữ, tìm kiếm thơng tin - Communication Server: quản lý kết nối từ xa

Máy khách (client) máy tính/hệ thống máy tính sử dụng tài nguyên dịch vụ

đƣợc cung cấp máy chủ

c) Địa IP tên miền Địa IP

Để tham gia Internet, thực thể truyền thơng (máy tính thiết bị mạng có hoạt động xử lý – host) cần đƣợc cấp địa gọi địa IP Nói cách đơn giản: IP địa máy tính tham gia vào mạng nhằm giúp cho máy tính chuyển thơng tin cho cách xác, tránh thất lạc Có thể coi địa IP mạng máy tính giống nhƣ địa nhà bạn để nhân viên bƣu điện đƣa thƣ cho bạn ngƣời khác Giao thức tầng mạng giao thức TCP/IP IPv4 (Internet-working protocol verision 4), IPv4 cung cấp truyền thông host-to-host hệ thống Internet, đƣợc thiết kế tốt, nhiên với phát triển nhanh chóng ứng dụng máy tính, IPv4 tiến tới giới hạn nó, cụ thể với nhu cầu địa IP tăng nhanh, không gian địa 32 bit phiên bị cạn kiệt Phiên IPv6 phiên Internet Nó đƣợc xây dựng sở giao thức IPv4 nhằm tận dụng ƣu điểm khắc phục hạn chế IPv4

Địa IPv4

Địa IP đƣợc sử dụng IPv4 có độ dài byte (32 bit), byte tách biệt dấu chấm (.) để dễ đọc địa chỉ, theo giá trị byte đƣợc viết thành số thập phân (một byte có giá trị nằm đoạn từ đến 255), ví dụ 192.168.10.1

(75)

Class

Bit NetID HostID

Bit 32 Trong đó:

Class bit: Bit nhận dạng lớp để phân biệt địa lớp NetID: Địa mạng

HostID: Địa máy mạng

Địa IP đƣợc chia thành lớp A, B, C, D, E Sự khác lớp địa khả tổ chức cấu trúc Hiện dùng hết lớp A, lớp B gần hết lớp C; lớp D, E tổ chức Internet để dành cho mục đích khác nên không cấp địa chỉ, nghiên cứu lớp địa đầu

Class A

HostID NetID

Class B

HostID NetID

Class C

HostID NetID

Hình 4.4 Cấu trúc địa IP lớp A-B-C

Qua cấu trúc lớp địa IP có nhận xét sau:

- Bit nhận dạng lớp bit đầu tiên: lớp A 0, lớp B 10, lớp C 110 - Lớp A có 127 địa mạng, mạng cho phép đánh địa cho 224 máy - Lớp B có 214 địa mạng, mạng cho phép đánh địa cho 216 máy - Lớp C có 221 địa mạng, mạng cho phép đánh địa cho 28 máy

Địa IPv6

Trƣớc tình hình cạn kiệt địa IPv4, có nhiều phƣơng pháp đƣợc đƣa để khắc phục tình trạng nhƣ NAT (Network Address Translation - biên dịch địa mạng), CIDR (Classless Inter-Domain Routing – lƣợc đồ địa Internet) nhƣng nguy cạn dần địa chƣa đƣợc khắc phục Việc triển khai phiên - phiên IPv6 với không gian địa lớn có nhiều ƣu điểm phiên cũ điều cần thiết Địa IPv6 đƣợc thiết kế với nhiều ƣu điểm nhƣ: không gian địa lớn, hỗ trợ tự cấu hình, tích hợp khả xác thực

1

Byte Byte Byte Byte

0

(76)

và bảo vệ an ninh, hỗ trợ tốt tính di động, khả mở rộng IPv6 sử dụng 128 bit để đánh địa chỉ, có chiều dài gấp bốn lần địa IPv4, tạo 3,4*1038 tổ hợp địa IP

và thƣờng đƣợc biểu diễn hệ hexadecimal (hệ 16)

Địa IPv6 có 128 bit, nên việc nhớ đƣợc địa khó khăn Do đó, để viết địa IPv6, ngƣời ta chia 128 bit thành nhóm, nhóm chiếm bytes, gồm số đƣợc viết dƣới hệ số 16 nhóm đƣợc ngăn cách dấu hai chấm

Ví dụ: FEDL:8435:7356:EADC:BA98:2010:3280:ABCD

Trƣờng hợp có nhiều số bit đầu nhóm, lƣợc bỏ số Ví dụ với địa 1088:0000:0000:0000:0008:0800:200C:463A, ta viết thay phải viết 0000, viết thay phải viết 0008, viết 800 thay phải viết 0800 Kết địa sau thu gọn:1088:0:0:0:8:800:200C:463A

Trƣờng hợp có nhiều nhóm liên tiếp, nhóm số lại thành dấu hai chấm "::" (chỉ thực lần), địa trên, ta viết lại nhƣ sau: 1088::8:800:200C:463A

 Tên miền (DNS – Domain Name System)

Mỗi máy tính mạng muốn liên lạc hay trao đổi thông tin, liệu cho cần phải biết rõ địa IP Nếu số lƣợng máy tính nhiều việc nhớ địa IP khó khăn Chính ngƣời ta sử dụng hệ thống đặt tên gọi tên miền (domain name) để đặt tên cho máy tính mạng Đối với ngƣời việc nhớ tên máy dù dễ dàng chúng có tính trực quan gợi nhớ địa IP Vì thế, ngƣời ta nghĩ cách ánh xạ địa IP thành tên máy tính, dịch vụ đánh tên miền DNS DNS cho phép ngƣời sử dụng truy nhập tới máy tính tên thay địa IP

Mỗi tên miền gồm nhiều trƣờng phân cách dấu chấm Theo quy ƣớc tên miền đƣợc đặt theo phân lớp mà trƣờng trƣờng địa lý (thƣờng theo cách viết tắt tên nƣớc) Ví dụ Việt Nam, th Thái Lan, fr Pháp, jp Nhật Các tên miền khơng có lớp địa lý đƣợc ngầm hiểu Mỹ

Trƣờng thứ hai thƣờng lớp lĩnh vực hoạt động: Tên miền Mô tả

.com Các tổ chức, công ty thƣơng mại org Các tổ chức phi lợi nhuận net Các trung tâm hỗ trợ mạng edu Các tổ chức giáo dục

.gov Các tổ chức thuộc phủ mil Các tổ chức quân

(77)

Ví dụ: Máy chủ Học viện Nơng nghiệp Việt Nam có tên miền vnua.edu.vn, có địa IP 220.221.107.132 Máy chủ Đại học Bách khoa Hà Nội có tên miền hust.edu.vn có địa IP 202.191.56.197

c) Trang web website

Trang web (web page): tài liệu HTML, lƣu trữ nội dung định dạng văn bản, hình ảnh, âm theo định dạng HTML (Hypertext Markup Language, ngôn ngữ đánh dấu siêu văn bản)

Website: tập hợp trang web liên kết với đƣợc quản lý cá nhân hay tổ chức đó, ví dụ nhƣ website Học viện Nông nghiệp Việt Nam

Về kích thƣớc: website có kích thƣớc lớn, gồm hàng trăm trang đó, ví dụ nhƣ website Học viện Nông nghiệp Việt Nam

Về nội dung: website chứa nhiều thơng tin dành cho nhiều ngƣời, cho nhiều mục đích nhu cầu khác Tuy nhiên, trang web phục vụ cho mục đích nhu cầu cụ thể

4.2.2 Kết nối Internet

Để kết nối đƣợc Internet ta cần:

- Máy tính có Modem (Dial-up, ADSL) card mạng

- Có thuê bao kết nối với Internet: qua mạng, qua đƣờng điện thoại, đƣờng thuê riêng bƣu điện Thông thƣờng kết nối qua điện thoại qua ADSL

- Có tài khoản Internet mạng hay nhà cung cấp dịch vụ Internet (Internet Service Provider, ISP), ví dụ nhƣ VNPT, FPT, Viettel

- Có phần mềm Internet thơng dụng nhƣ Web browser để xem trang web, ví dụ: IE, FireFox, Chrome, phần mềm để xem thƣ hay chat nhƣ Outlook, Messenger

4.3 MỘT SỐ DỊCH VỤ CƠ BẢN CỦA INTERNET 4.3.1 WWW (World Wide Web)

Đây khái niệm mà ngƣời dùng Internet quan tâm nhiều nay, từ viết tắt WWW hay gọi ngắn gọn Web Web công cụ, hay dịch vụ Internet Web đƣợc tạo năm 1989 Sir Tim Berners-Lee, làm việc CERN – Thụy Sỹ, hệ thống trang văn đƣợc liên kết với thông qua Internet

Khác với dịch vụ trƣớc Internet, Web chứa thơng tin bao gồm văn bản, hình ảnh, âm chí video đƣợc kết hợp với Web cho phép bạn truy cập vào ngõ ngách Internet, điểm chứa sở liệu gọi Website Nhờ có Web, nên dù khơng phải chun gia, bạn sử dụng Internet

(78)

browser để xem thông tin máy chủ WWW Tại máy chủ phải có phần mềm Web server, phần mềm thực nhận yêu cầu từ Web browser gửi lên thực u cầu

4.3.2 Tìm kiếm

Tìm kiếm thơng tin hoạt động phổ biến ngƣời sử dụng Internet So với thông tin đƣợc lƣu trữ phƣơng tiện khác, việc truy cập tìm kiếm thơng tin đƣợc lƣu trữ Internet dễ dàng Ngoài ra, kết tìm kiếm đạt đƣợc nhiều hơn, điểm mạnh nhƣng điểm yếu Internet có q nhiều kết tìm kiếm, ta phải tốn thời gian để lọc lại thông tin phù hợp

Trên Internet có nhiều trang Web cung cấp cơng cụ tìm kiếm (search engine) Mỗi cơng cụ tìm kiếm có điểm mạnh điểm yếu riêng, đó, tìm thơng tin ta nên bắt đầu công cụ quen thuộc Nếu kết tìm kiếm chƣa tốt, ta thực lại việc tìm kiếm với cơng cụ tìm kiếm khác

Có nhiều website đƣợc thiết kế chuyên để tìm kiếm thơng tin Internet, kể đến số trang tiếng sau:

http://www.google.com http://www.yahoo.com http://www.altavista.com http://www.msn.com http://www.hotbot.com http://www.lycos.com

Để sử dụng, bạn gõ địa trang tìm kiếm vào address trình duyệt nhấn Enter (tƣơng tự nhƣ bạn vào trang web thơng tin)

Tìm kiếm với http://www.google.com.vn

Trang tìm kiếm google đƣợc sử dụng phổ biến, hỗ trợ tính tìm kiếm tốt lựa chọn giao diện theo nhiều ngơn ngữ nhiều quốc gia Để thực tìm kiếm với trang google thực hiện: mở trình duyệt web, nhập địa http://www.google.com.vn

Hình 4.5 Giao diện cửa sổ trang web Google

(79)

Các phép tốn điều kiện tìm kiếm

Nhiều ngƣời cho sử dụng cơng cụ tìm kiếm (google, yahoo ), trang tìm kiếm tự động tìm tất trang web hiển thị tất thông tin mà bạn cần tìm, điều khơng Ở máy tìm kiếm (các trang có chức tìm kiếm) tìm kiếm danh sách website mà chúng lƣu trữ, website máy tìm đƣợc trƣớc website đăng ký với máy tìm kiếm Do vậy, kết mà bạn tìm đƣợc trang web tìm kiếm khác khác

- Khơng nên tìm kiếm theo từ đơn: thƣờng bạn nên sử dụng hai từ nhiều hơn, hay cụm từ ngắn Những từ bạn chọn làm từ khóa phải từ liên quan trực tiếp tới vấn đề bạn cần tìm

Ví dụ: Nếu bạn muốn tìm kiếm giảng mơn Tin học đại cƣơng cụm từ bạn cần

gõ “bài giảng tin học đại cƣơng”

Hình 4.6 Cửa sổ kết tìm kiếm: giảng tin học đại cƣơng

- Sử dụng dấu + “” để thu hẹp phạm vi tìm kiếm

Nhìn vào hình 4.6 thấy máy tìm tất trang có cụm “bài giảng tin học đại cƣơng” có số từ cụm từ nhƣ “tin học đại cƣơng”, “bài giảng” Nhƣ kết mà hồn tồn khơng mong đợi máy tìm kiếm khơng tự nhận biết sáu từ bạn gõ vào từ khóa

Để máy tìm kiếm tìm đƣợc xác cụm từ mong muốn, đặt cụm từ cặp dấu ngoặc kép (ở ví dụ là: “bài giảng tin học đại cƣơng”) Ngoài ra, để kết hợp từ khóa, sử dụng dấu + để tìm kiếm, cho nội dung trang tìm đƣợc vừa có từ khóa này, vừa có từ khóa

(80)

Hình 4.7 Cửa sổ kết tìm kiếm “tin học đại cƣơng”-“bài giảng”

Tìm kiếm nâng cao Google: Để thu hẹp kết web cho tìm kiếm phức tạp cách sử dụng trang Tìm kiếm nâng cao Ví dụ: muốn biết tình hình dịch sởi diễn Hà Nội 24 qua Hoặc tìm hình ảnh đen trắng New York

Thực tìm kiếm nâng cao với Google (hình 4.8) - Truy nhập vào trang Tìm kiếm nâng cao cách

- Truy cập trực tiếp vào www.google.com/advanced_search

- Nhấp vào biểu tƣợng bánh góc bên phải trang kết tìm kiếm > Tìm kiếm nâng cao

- Nhập cụm từ tìm kiếm bạn vào phần "Tìm trang có"

- Chọn lọc mà bạn muốn sử dụng phần "Sau đó, thu hẹp kết bạn bằng" Bạn sử dụng nhiều lọc (những lọc hộp tìm kiếm sử dụng tốn tử tìm kiếm)

- Nhấp vào Tìm kiếm nâng cao Bộ lọc sử dụng:

- Ngôn ngữ; - Vùng;

- Ngày cập nhật lần cuối; - Trang web miền;

- Nơi cụm từ tìm kiếm xuất trang; - Tìm kiếm an tồn;

- Cấp độ đọc; - Loại tệp;

(81)

Hình 4.8 Tìm kiếm nâng cao Google

(82)

Tìm kiếm hình ảnh

Tại trang chủ google, nhấn chọn mục hình ảnh gõ từ khóa tìm kiếm vào nhập, hình ảnh sau tìm thấy lƣu vào máy tính bạn

Hình 4.9 Tìm kiếm hình ảnh với google

4.3.3 Thƣ điện tử

Thƣ điện tử (Email) phƣơng tiện liên lạc vô tiện lợi thời đại công nghệ thông tin ngày Sử dụng Email ta trao đổi thơng tin với bạn bè, đồng nghiệp tồn cầu Ƣu điểm bật việc sử dụng Email nhanh, rẻ, lúc nơi

Phần giới thiệu số khái niệm sử dụng Email, cách tạo sử dụng Email Muốn sử dụng thƣ điện tử ngƣời dùng phải có máy tính nối kết Internet nối kết vào máy chủ cung cấp dịch vụ Email (Mail Server) Ngoài ra, để gửi nhận Email ngƣời sử dụng phải có tài khoản Email danh sách địa Email ngƣời nhận

Cấu trúc địa Email

Địa Email (Email Address) định danh Internet cho phép ngƣời sử dụng Internet nhận biết đƣợc xác ngƣời cần liên hệ, giao dịch, trao đổi thông tin lệnh gửi thông điệp, tài liệu, hình ảnh (Email message) tới định danh

Cấu trúc địa Email: <Tên tài khoản>@<Tên miền>

- Tên miền: Tên máy tính làm Server lƣu quản lý địa Email

- Tên tài khoản: Tên đƣợc đăng ký, để phân biệt với địa Email khác có tên miền

(83)

Cấu trúc Email

From: Phạm Quang Dũng <pqdung.hau1@gmail.com>

To: Thang Tran <tranhuythang@gmail.com>

Cc:

Ngo Cong Thang <ncthang@hua.edu.vn>, Hoang Thi Ha <htha@hua.edu.vn>, ptvan <ptvan@hua.edu.vn>, phan thi thu hong <ptthong@hua.edu.vn>, Hoang Nguyen <startnewday85@gmail.com>

Date: 14/06/2013 09:57 AM

Subject: Mẫu viết giảng tin đại cƣơng chung cho môn

Tôi xin gửi thầy cô template để sau viết giảng THĐC chung cho BM PQDung

[2] File: Baigiang THDC.pptx

Size: 105k

Content Type:application/vnd.openxmlformats -

officedocument.presentationml.presentation

Webmail

Webmail hệ thống cung cấp dịch vụ Email (nhận, gửi, lọc Email) thơng qua website mạng Internet Thơng thƣờng, hệ thống cung cấp địa Email miễn phí Để gửi nhận Email, ngƣời sử dụng Internet có cách dùng trình duyệt Web truy cập vào địa Website nhà cung cấp dịch vụ, sử dụng tài khoản đƣợc cung cấp để kiểm tra Email sử dụng dịch vụ Email thơng thƣờng khác Ví dụ nhà cung cấp dịch vụ Email: mail.vnua.edu.vn; www.hotmail.com; mail.yahoo.com; mail.google.com

Cách tạo sử dụng gmail

Phần giới thiệu với bạn dịch vụ thƣ điện tử miễn phí tốt phổ biến Google Để sử dụng gmail, ngƣời dùng phải đăng kí tài khoản với dịch vụ gmail Từ trình duyệt nhập vào địa https://mail.google.com Từ trang chủ gmail, kích vào “Tạo tài khoản” (hình 4.10)

Ph

ần

t

iêu

đ

Ph

ần

n

ội

d

u

(84)

Hình 4.10 Trang chủ gmail

(85)

Hình 4.11 Form điền thơng tin đăng kí tài khoản gmail

Kích vào “Bƣớc tiếp theo” (hình 4.12) để tiếp tục thực đăng kí Tại bƣớc này, ngƣời dùng cần nhập số điện thoại cá nhân để xác minh tài khoản

Hình 4.12 Xác minh tài khoản qua điện thoại

Kích vào “Tiếp tục” để tiếp tục thực việc đăng kí Bạn đợi Google gửi lại mã số xác minh tài khoản qua số điện thoại cung cấp bƣớc trƣớc, sau nhập mã xác minh Kết thúc bƣớc bạn hoàn tất trình đăng kí

Hình 4.13 Nhập mã xác minh qua tin nhắn SMS

Sử dụng gmail

Gõ địa https://mail.google.com từ trình duyệt web Tại mục đăng nhập: - Nhập tên ngƣời dùng (Username)

- Mật (Password) - Kích vào nút Đăng nhập

(86)

Hình 4.14 Kết sau đăng nhập

- Chọn Hộp thƣ đến để xem thƣ đến - Chọn Thƣ gửi để xem thƣ gửi - Soạn thảo email

Kích vào nút “Soạn” để soạn thảo email mới, xuất trang soạn thảo Nhập yêu cầu nhƣ hình 4.15

Kích vào “Gửi” để gửi thƣ sau hoàn thành thao tác soạn thảo

Hình 4.15 Cửa sổ soạn thƣ

4.3.4 Lƣu trữ liệu đám mây

(87)

tải xuống (download), đồng hóa (sync) liệu họ từ đâu có Internet, thơng qua nhiều thiết bị có khả kết nối Internet

Với dịch vụ lƣu trữ liệu đám mây, ta thấy:

Ưu điểm: Khơng cịn lệ thuộc vào thiết bị lƣu trữ vật lý nhƣ đĩa nhớ, CD

truy cập nơi có Internet Giảm thiểu rủi ro mát, hƣ hỏng liệu xảy sử dụng biện pháp lƣu trữ truyền thống, nhƣ: sử dụng ổ cứng, ổ cứng di động USB (thuật ngữ đƣợc dùng để ổ cứng hay nhớ di động, hay đƣợc gọi tắt ổ USB), hay đĩa CD, DVD

Nhược điểm: Phụ thuộc vào Internet nhà cung cấp dịch vụ lƣu trữ đám mây

Có hai đặc điểm quan trọng tạo nên khác biệt lƣu trữ liệu đám mây so với loại lƣu trữ khác:

- Với loại lƣu trữ khác, ngƣời dùng hồn tồn biết xác nơi lƣu trữ liệu nhƣ ổ USB hay ổ cứng, đĩa DVD Còn với lƣu trữ liệu đám mây ngƣời dùng khơng thể biết xác đƣợc địa thực máy dịch vụ

- Ngƣời dùng dịch vụ lƣu trữ liệu đám mây đồng hóa (sync) tất liệu nơi đâu có Internet

Hiện có nhiều nhà cung cấp dịch vụ lƣu trữ liệu đám mây với sách giá chế độ bảo mật khác Về giá, phần lớn cung cấp gói miễn phí bên cạnh dịch vụ có phí kèm nhƣ tăng dung lƣợng lƣu trữ, chƣơng trình truy cập liệu máy tính hay thiết bị cầm tay Về bảo mật, có nhiều dịch vụ không đảm bảo (hoặc không qui định rõ) chế độ bảo mật thông tin cho ngƣời dùng miễn phí Một câu hỏi đặt làm để chọn

được dịch vụ lưu trữ liệu đám mây phù hợp? Một số tiêu chí đƣợc gợi ý sau giúp

ngƣời dùng dễ dàng việc định lựa chọn mình: Dung lƣợng cho phép lƣu trữ miễn phí (Free Space); dung lƣợng tối đa cho phép tệp tin đƣợc tải lên (Max file size); băng thông giới hạn tải lên tải xuống tháng/ngày (Bandwidth limit/month/day); cho phép mã hóa liệu để đảm bảo tính an tồn (Encrypt)…

Một số dịch vụ lưu trữ liệu đám mây điển hình nay:

a) Mediafire

MediaFire trang web chia sẻ liệu miễn phí không giới hạn Tất thành viên đăng ký sử dụng đầy đủ chức MediaFire

(88)

b) Google Drive

Google Drive dịch vụ lƣu trữ trực tuyến đƣợc Google mắt vào đầu tháng năm 2012, cho phép ngƣời dùng dễ dàng tải lên, chia sẻ đồng hóa liệu lên dịch vụ Ngƣời dùng sử dụng Google Drive để lƣu trữ tất loại tệp, bao gồm tài liệu, trình bày, nhạc, ảnh video Ngƣời dùng mở nhiều loại tệp trình duyệt, bao gồm tệp PDF, tệp Microsoft Office, video có độ phân giải cao nhiều loại tệp hình ảnh

Google Drive tự động cập nhật nội dung, ngƣời dùng thực chỉnh sửa truy cập phiên từ nơi Google Drive cung cấp nhiều cách để xem, tìm xếp tệp; có tùy chọn tìm kiếm mạnh mẽ - chí khả tìm kiếm văn hình ảnh, giúp ngƣời dùng nhanh chóng tìm thấy nội dung tìm kiếm

Google Drive cho phép:

- Lƣu trữ miễn phí 15GB nội dung thƣ, tài liệu, hình ảnh, video - Dung lƣợng tối đa cho phép tệp tin đƣợc tải lên 1GB

- Truy cập thứ Google Drive từ nhiều thiết bị khác nhƣ: máy tính, điện thoại thơng minh máy tính bảng

- Đồng hóa tệp Khả đồng hóa cài sẵn Google Drive đảm bảo tệp, thƣ mục tài liệu Google giống tất thiết bị, cần kết nối web

- Ngừng gửi tệp đính kèm qua email Google Drive cho phép ngƣời dùng chọn lựa xác ngƣời - bạn bè, gia đình, đồng nghiệp - nhận đƣợc tệp cần chia sẻ

c) SkyDrive

SkyDrive dịch vụ lƣu trữ liệu trực tuyến miễn phí Microsoft Ứng dụng có sẵn cho hệ điều hành Windows Mac, Windows Phone iPhone

Về bản, dịch vụ hoạt động tƣơng tự nhƣ dịch vụ lƣu trữ liệu trực tuyến khác Ngƣời dùng Windows sau cài đặt ứng dụng vào máy tính cần đăng nhập vào tài khoản Windows Live họ để liên kết máy tính sử dụng với dịch vụ lƣu trữ trực tuyến

SkyDrive cho phép:

- Lƣu trữ miễn phí 7GB nội dung

- Dung lƣợng tối đa cho phép tệp tin đƣợc tải lên 2GB - Tạo thƣ mục riêng máy tính ngƣời dùng

- Đồng hóa hồn toàn tự động tất tệp tin thƣ mục đƣợc lƣu SkyDrive

- Lƣu tệp tin có SkyDrive ngƣời dùng thƣ mục SkyDrive máy tính nhƣ đƣợc lƣu đám mây

(89)

máy tính bật có danh sách máy tính đƣợc liên kết với tài khoản SkyDrive ngƣời dùng giao diện web, sau điền đoạn mã bí mật đƣợc hệ thống gửi đến tài khoản email ngƣời dùng; ngƣời dùng có tồn quyền xem tất tệp tin có máy tính vừa chọn giao diện web dịch vụ lƣu trữ liệu trực tuyến

d) Dropbox

Dropbox dịch vụ lƣu, lƣu trữ liệu trực tuyến với khả đồng theo thời gian thực tự động thực lƣu Phần mềm chạy tốt Windows, Mac, Linux, đồng thời sử dụng DropBox điện thoại nhƣ iPhone, Blackberry, Android, iPad

Dropbox cho phép:

- Lƣu trữ miễn phí 2GB liệu

- Dung lƣợng tối đa cho phép tệp tin đƣợc tải lên 300MB

- Không giới hạn băng thông tải khả làm việc nhiều tảng từ máy tính đến thiết bị di động

- Tự động đồng hóa tệp tin (tất tệp tin đƣợc lƣu trữ vào thƣ mục My Dropbox máy tính cá nhân đƣợc tự động đồng hóa với máy tính khác có cài đặt sẵn Dropbox)

- Chia sẻ tệp tin cách dễ dàng Ngƣời dùng đặt tệp tin/thƣ mục muốn chia sẻ vào Dropbox sau đó, gửi e-mail mời ngƣời muốn chia sẻ thƣ mục

- Sao lƣu trực tuyến tự động Bất kì tệp tin mà ngƣời dùng đặt vào thƣ mục Dropbox đƣợc tự động lƣu vào máy chủ

- Dropbox cho phép ngƣời dùng quay trở lại khứ để khôi phục liệu bị xóa bị thay đổi Dropbox giữ 30 ngày lịch sử lần thay đổi ngƣời dùng thực để ngƣời dùng hồn tác lại sai lầm chí lấy lại đƣợc tệp tin bị xóa

CÂU HỎI ƠN TẬP

1: Hãy trình bày khái niệm mạng máy tính, cách phân loại mạng máy tính

2: Dựa theo kĩ thuật truyền tải thơng tin có kiểu mơ hình kết nối? Trình bày mơ hình kết nối

3: Thế giao thức mạng máy tính?

4: Mục đích dịch vụ DNS – phân giải tên miền Cấu trúc tên miền? 5: Điều kiện để kết nối Internet gì?

6: Thế mạng Internet? Các dịch vụ Internet gì? 7: Hãy trình bày dịch vụ tìm kiếm Internet

8: Hãy trình bày cấu trúc địa email; cấu trúc email?

9: Thế dịch vụ lƣu trữ đám mây? Trình bày ƣu nhƣợc điểm dịch vụ này?

(90)

Chương CƠ SỞ DỮ LIỆU

Chương giới thiệu kiến thức liên quan đến sở liệu, hệ quản trị cơ sở liệu, ngơn ngữ truy vấn liệu SQL Từ đó, giúp sinh viên hiểu được: sở liệu gì, cần thiết việc tổ chức liệu dạng sở liệu, phần mềm dùng để tạo lập quản trị cở liệu, ngôn ngữ truy vấn liệu SQL

5.1 CƠ SỞ DỮ LIỆU

5.1.1 Khái niệm sở liệu

Cơ sở liệu (CSDL, thuật ngữ tiếng Anh database) tập hợp liệu có liên quan với chứa thơng tin tổ chức (nhƣ trƣờng đại học, ngân hàng, bệnh viện, công ty…) đƣợc lƣu trữ thiết bị nhớ thứ cấp (nhƣ băng từ, đĩa từ…) để đáp ứng nhu cầu khai thác thông tin nhiều ngƣời sử dụng với nhiều mục đích khác

Ví dụ 5.1: Bài toán Quản lý sinh viên đơn giản, ta dùng sở liệu lƣu trữ

thông tin sinh viên kết học tập họ bao gồm bảng (ví dụ đƣợc tạo phần mềm Microsoft Access) nhƣ sau:

Bảng KHOA:

(91)

Bảng SINHVIEN:

Bảng MONHOC:

Bảng KETQUA:

5.1.2 Các mức thể sở liệu

Vì nhóm ngƣời dùng có vai trị, nhu cầu hiểu khai thác thông tin khác nên để quản lý thông tin cách hiệu quả, hệ CSDL phải có mức thể khác Có mức thể CSDL mức vật lý, mức khái niệm, mức khung nhìn

a Mức vật lý

(92)

Monhoc

MaMH TenMH DVHT DieuKien

SinhVien

MaSV Hodem ten Ngaysinh Gioitinh Tinh MaLop

CSDL mức khái niệm

(logic)

b Mức khái niệm

Nhóm phát triển ứng dụng khơng cần hiểu chi tiết mức vật lý, nhƣng họ cần phải biết liệu đƣợc lƣu giữ CSDL, liệu có mối quan hệ nhƣ Mức hiểu CSDL nhƣ đƣợc gọi mức khái niệm

Lop

MaLop TenLop MaKhoa

Hình 5.1 Ví dụ mức khái niệm CSDL

c Mức khung nhìn

Mỗi nhóm ngƣời dùng cần biết phần thơng tin CSDL phù hợp với nghiệp vụ hay mục đích sử dụng Ví dụ, sinh viên thơng qua khung nhìn biết đƣợc thơng tin liên quan đến thân họ Ngƣời quản trị CSDL cần biết đƣợc tồn thơng tin CSDL Vì vậy, mức khung nhìn mức hiểu CSDL ngƣời dùng thơng qua khung nhìn

Ba mức hiểu CSDL nhƣ ba mức mơ tả làm việc với CSDL, phù hợp với nhu cầu khác ngƣời liên quan đến CSDL

Hình 5.2 Ba mức thể CSDL

CSDL mức vật lý K nhìn

USER

Khoa

MaKhoa TenKhoa SDT

Ketqua

MaSV MaMH Diem

USER K nhìn

(93)

5.1.3 Mơ hình liệu quan hệ

Mơ hình liệu (data model) tập khái niệm kí pháp dùng để mô tả liệu, các mối quan hệ liệu, ràng buộc liệu tổ chức

Hiện nay, có nhiều mơ hình liệu nhƣ: - Mơ hình liệu quan hệ (Relational Data Model) - Mơ hình liệu phân cấp (Hierarchical Data Model) - Mơ hình liệu mạng (Network Data Model)

- Mơ hình liệu thực thể - liên kết (Entity-Relationship Data Model) - Mơ hình liệu hƣớng đối tƣợng (Object Data Model)

Trong mơ hình mơ hình liệu quan hệ đƣợc sử dụng phổ biến Mơ hình đƣợc đề xuất E F Codd vào năm 1970 - 1972 Nó cung cấp cấu trúc liệu đơn giản quan hệ (bảng)

Cơ sở liệu đƣợc xây dựng mơ hình liệu quan hệ đƣợc gọi CSDL quan hệ Một CSDL quan hệ thông thƣờng chứa nhiều bảng Mỗi bảng chứa liệu tập thực thể, bao gồm hàng cột Mỗi hàng ghi (Record), cột trƣờng (Field)

a Một số khái niệm mơ hình liệu quan hệ

Quan hệ: Dữ liệu lƣu trữ CSDL đƣợc tổ chức thành bảng chiều Mỗi bảng

chiều đƣợc gọi quan hệ Dƣới ví dụ quan hệ:

Lược đồ (schema)

Hình 5.3 Ví dụ quan hệ SINHVIEN

Tên quan hệ tập thuộc tính đƣợc gọi lƣợc đồ quan hệ Ta biểu diễn lƣợc đồ cho quan hệ Tên quan hệ theo sau danh sách thuộc tính Vậy lƣợc đồ quan hệ SINHVIEN hình 5.3 là:

SINHVIEN(MaSV, HoDem, Ten, NgaySinh, GioiTinh, Tinh) Tên bảng ~

Tên quan hệ Tên thuộc tính ~ Trƣờng (Field)

Hàng ~ Bộ ~ Bản ghi

SINHVIEN MaSV HoDem Ten NgaySinh GioiTinh Tinh

521234 Lê Thị Lan 02/04/90 Nữ Hà Nội

521235 Nguyễn Văn Nam 23/06/90 Nam Thanh Hóa

(94)

Lƣợc đồ sở liệu quan hệ (relational database schema) tập lƣợc đồ quan hệ tốn

Ví dụ 5.2: Bài tốn quản lý sinh viên ví dụ 5.1 có lƣợc đồ CSDL bao gồm lƣợc đồ

quan hệ sau:

KHOA(MaKhoa, TenKhoa, SoDT) LOP(MaLop, TenLop, MaKhoa)

SINHVIEN(MaSV, HoDem, Ten, NgaySinh, GioiTinh, Tinh, MaLop) MONHOC(MaMH, TenMH, DVHT, Dieukien)

KETQUA(MaSV, MaMH, Diem)

Bộ (tuble)

Bộ dòng quan hệ, trừ dịng tiêu đề (tên thuộc tính) Bộ cịn có cách gọi khác ghi (record) Trong quan hệ không đƣợc trùng

Miền (domain)

Miền tập giá trị mà thuộc tính nhận

Ví dụ, miền thuộc tính Gioitinh (giới tính) ví dụ 5.2 gồm hai giá trị {Nam, Nữ}

Khóa (key, cịn gọi khóa chính)

Khóa quan hệ nhiều thuộc tính tối thiểu để xác định tính quan hệ

Ví dụ 5.3: Trong quan hệ SINHVIEN trên, dễ hiểu MaSV sinh viên

nhất, có mã sinh viên trùng Vậy MaSV đƣợc thiết lập khóa

Ví dụ 5.4: Trong quan hệ KETQUA(MaSV, MaMH, Diem) trên, sinh viên có

thể học nhiều mơn học nên để ghi điểm mơn sinh viên vào bảng có MaSV, khác MaMH Tƣơng tự, mơn học đƣợc học nhiều sinh viên, nên trùng MaMH, khác MaSV (xem bảng KETQUA trên) Nhƣng cặp MaSV, MaMH trùng để xác định điểm môn học sinh viên

Chú ý: Một quan hệ có nhiều khóa, khóa đƣợc gọi khóa dự

tuyển Thơng thƣờng có khóa dự tuyển đƣợc định làm khóa Việc lựa chọn khóa dự tuyển làm khóa tùy ý, nhƣng nên chọn khóa dự tuyển đặc trƣng cho gồm thuộc tính có thuộc tính làm khóa

Ví dụ 5.5: Lƣợc đồ quan hệ KHOA(MaKhoa, TenKhoa, SoDT) có hai khố ứng cử là:

K1= {MaKhoa}, K2 ={TenKhoa}, nhiên ta chọn MaKhoa làm khố đặc trƣng cho

Khoa giá trị thuộc tính ngắn, khơng có dấu khơng có khoảng trống

Khóa ngoại (foreign key)

(95)

Khoá ngoại dùng để biểu thị liên kết quan hệ quan hệ khác mơ hình quan hệ

Ví dụ 5.6: Xét lƣợc đồ CSDL ví dụ 5.2 Ta thấy, lƣợc đồ quan hệ LOP có

MaKhoa khố ngoại (vì khố lƣợc đồ quan hệ KHOA nhƣng khơng phải khố lƣợc đồ quan hệ LOP) Khi tạo mối quan hệ (Relationship) hợp lý trƣờng MaKhoa bảng KHOA với trƣờng MaKhoa bảng LOP ta truy vấn thơng tin liên quan quan hệ nhƣ lớp thuộc khoa nào, có tên khoa Những nội dung nhƣ đƣợc minh họa rõ ràng phần sau thực hành máy tính

Một ví dụ tƣơng tự lƣợc đồ quan hệ SINHVIEN có MaLop khố ngoại (vì khố lƣợc đồ quan hệ LOP nhƣng khơng phải khố lƣợc đồ quan hệ SINHVIEN)

Lƣu ý khóa ngoại khơng xác định tính liệu nhƣ khóa Với ví dụ này:

- Trong quan hệ LOP, thuộc tính MaKhoa trùng (tƣơng đƣơng khoa có nhiều lớp); nhƣng quan hệ KHOA thuộc tính MaKhoa phải

- Trong quan hệ SINHVIEN, thuộc tính MaLop trùng (tƣơng đƣơng lớp có nhiều sinh viên); nhƣng quan hệ LOP thuộc tính MaLop phải

5.1.4 Hệ sở liệu

Hệ CSDL (Database system) hệ thống gồm thành phần: - Cơ sở liệu

- Ngƣời sử dụng sở liệu: Là ngƣời truy nhập (hợp pháp) vào CSDL, có nghĩa bao gồm tất ngƣời sử dụng cuối, ngƣời viết chƣơng trình ứng dụng ngƣời điều khiển toàn hệ thống (còn gọi ngƣời quản trị CSDL)

- Hệ quản trị CSDL (Phần 5.2)

- Phần cứng: Bao gồm thiết bị nhớ thứ cấp đƣợc sử dụng để lƣu trữ CSDL 5.1.5 Lợi ích hệ sở liệu

Trƣớc hệ CSDL đời (khoảng đầu năm 60) giai đoạn tiền xử lý sở liệu: Dữ liệu đƣợc tổ chức xử lý tệp ghi băng từ Các ngơn ngữ lập trình nhƣ COBOL, BASIC đƣợc sử dụng để lập trình xử lý liệu Mỗi chƣơng trình ứng dụng có tệp liệu tƣơng ứng chƣơng trình ứng dụng cần đƣợc sửa đổi mở rộng thì tệp liệu tƣơng ứng phải thay đổi theo Cách tổ chức lƣu trữ nhƣ bị dư thừa

liệu, liệu không quán, khó khăn việc truy cập chia sẻ liệu, liệu không được bảo mật cao Việc sử dụng hệ CSDL để lƣu trữ liệu theo lý thuyết sở liệu

khắc phục đƣợc hạn chế cách lƣu trữ trên, cụ thể có ƣu điểm sau:

(96)

Nhiều chƣơng trình ứng dụng khác xử lý liệu nhƣ nhƣng lại không dùng chung liệu, dẫn đến dƣ thừa đáng kể liệu

- Tránh không quán lưu trữ liệu bảo đảm tính tồn vẹn

dữ liệu: Nếu thuộc tính đƣợc mơ tả nhiều tệp liệu khác ghi

bị lặp lại nhiều lần thực việc cập nhật, sửa đổi, bổ sung không sửa hết nội dung mục Nếu liệu nhiều sai sót cập nhật, bổ sung lớn Khả xuất mâu thuẫn, không quán thông tin nhiều, dẫn đến không quán liệu lƣu trữ Tất yếu kéo theo dị thƣờng thông tin, thừa, thiếu mâu thuẫn thông tin Nếu thuộc tính đối tƣợng đƣợc lƣu trữ lần CSDL đảm bảo đƣợc tính tồn vẹn qn liệu

- Có thể triển khai đồng thời nhiều ứng dụng CSDL: Điều có nghĩa CSDL triển khai đồng thời nhiều ứng dụng khác thiết bị đầu cuối khác

- Thống tiêu chuẩn, thủ tục biện pháp bảo vệ, an toàn liệu: Các CSDL đƣợc quản lý tập trung ngƣời hay nhóm ngƣời quản trị CSDL Ngƣời quản trị CSDL áp dụng thống tiêu chuẩn, quy định, thủ tục chung nhƣ quy định thống mẫu biểu báo cáo, thời gian bổ sung, cập nhật liệu Nhờ cơng việc bảo trì liệu trở nên dễ dàng Ngƣời quản trị CSDL bảo đảm việc truy nhập tới CSDL, kiểm tra, kiểm sốt quyền truy nhập ngƣời sử dụng, cho phép nhiều ngƣời truy nhập đồng thời mà đảm bảo tính đắn liệu Ngƣời quản trị CSDL cho phép ngƣời dùng hệ CSDL đƣợc phép truy cập phần CSDL, điều biện pháp giữ cho liệu CSDL đƣợc an tồn Ví dụ, hệ thống quản lý học tập theo tín mạng, sinh viên trƣờng nhìn thấy phần CSDL chứa thơng tin sinh viên thơng qua tài khoản họ đƣợc cấp khơng nhìn thấy thông tin sinh viên khác

Nhƣ vậy, việc tổ chức lƣu trữ liệu CSDL giúp ngƣời dùng quản lý liệu tốt thông qua hệ quản trị CSDL ta thực nhiệm vụ quan trọng nhƣ: tổng hợp, xếp, tìm kiếm, thêm, xóa, sửa khai thác liệu

5.2 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU 5.2.1 Khái niệm

Hệ quản trị sở liệu (HQTCSDL, thuật ngữ tiếng Anh Database Management System - DBMS) phần mềm thiết kế để thuận lợi việc tạo lập, lưu trữ khai thác thông tin CSDL

Nhƣ vậy, HQTCSDL cung cấp môi trƣờng thuận lợi, đơn giản hiệu để ngƣời sử dụng tạo lập, lƣu trữ thao tác CSDL mà khơng cần quan tâm nhiều đến thuật tốn chi tiết cách biểu diễn liệu nhớ

(97)

Hình 5.4 Giao diện thiết kế bảng HQTCSDL Microsoft Access

5.2.2 Phân loại hệ quản trị sở liệu

a Phân loại

Các hệ quản trị sở liệu đƣợc phân thành loại: XML DBMS, ODBMS RDBMS

 XML DBMS: Phù hợp cho liệu đƣợc định dạng XML (eXtensible Markup Language)

 ODBMS (object database management system): Phù hợp cho mơ hình CSDL hƣớng đối tƣợng

 RDBMS (relational database management system): Phù hợp cho mơ hình sở liệu quan hệ Ngày nay, HQTCSDL có tính thao tác liệu XML lớp đối tƣợng

Thông thƣờng, HQTCSDL đƣợc xây dựng để phục vụ cho mơ hình liệu định, nhƣng có số HQTCSDL phục vụ cho nhiều mơ hình liệu khác

b Một số hệ quản trị sở liệu phổ biến

(98)

- DB2 sản phẩm IBM thuộc dòng HQTCSDL quan hệ, phiên đời năm 1982 Đây HQTCSDL đƣợc dùng cho tất máy tính, từ máy tính cá nhân đến dịng máy tính lớn

- Microsoft SQL Server Microsoft Access sản phẩm Microsoft, thuộc loại HQTCSDL quan hệ

- MySQL HQTCSDL nguồn mở đa luồng, đa ngƣời dùng, đƣợc hãng MySQL sản xuất MySQL phổ biến với ứng dụng web làm việc với CSDL Linux/Mac/Windows

- SQLite hệ quản trị sở liệu có đặc điểm gọn, nhẹ, đơn giản Chƣơng trình gồm file có dung lƣợng chƣa đến 500kB, khơng cần cài đặt mà sử dụng CSDL đƣợc lƣu file nhất, chạy tốt platform Mac OS-X, Android, iOS

5.2.3 Chức hệ quản trị sở liệu

Một hệ quản trị sở liệu có chức sau đây:  Cung cấp môi trƣờng tạo lập CSDL

 Cung cấp môi trƣờng cập nhật khai thác liệu - Cập nhật: Thêm, xóa, sửa liệu

- Khai thác: Sắp xếp, tìm kiếm, kết xuất báo cáo  Cung cấp công cụ kiểm soát, điểu khiển CSDL

- Phát ngăn chặn truy cập không đƣợc phép - Duy trì tính qn liệu

- Tổ chức điều khiển truy nhập đồng thời

- Khơi phục CSDL có cố phần cứng hay phần mềm - Quản lý mô tả liệu

Nói chung HQTCSDL có chức trên, nhƣng HQTCSDL khác có chất lƣợng khả khác đáp ứng nhu cầu thực tế Các HQTCSDL phát triển theo hƣớng đáp ứng đòi hỏi ngày cao ngƣời dùng, chức chúng ngày đƣợc mở rộng

5.3 NGÔN NGỮ TRUY VẤN SQL

SQL (Structured Query Language – ngôn ngữ truy vấn có cấu trúc) ngơn ngữ truy vấn dựa đại số quan hệ đƣợc xác nhận mạnh, phổ dụng dễ sử dụng SQL đƣợc sử dụng hầu hết thao tác: truy vấn, thêm, xóa, sửa hệ quản trị CSDL quan hệ SQL đƣợc thiết lập nhƣ ngôn ngữ chuẩn sở liệu

Ngôn ngữ SQL gồm thành phần:

(99)

- Ngôn ngữ thao tác liệu (Data Manipulation Language - DML): Đây nhóm câu lệnh cho phép thao tác liệu quan hệ Nó dùng để tìm kiếm, trích rút, tổng hợp liệu từ quan hệ, đồng thời cho phép thêm, xóa, sửa liệu quan hệ

- Nhóm ngơn ngữ kiểm soát liệu (Data Control Language - DCL): Bao gồm câu lệnh đảm bảo tính an tồn toàn vẹn liệu, cấp phát quyền truy cập vào liệu

Trong nội dung giáo trình Tin học đại cƣơng chủ yếu giới thiệu nhóm ngơn ngữ thao tác liệu

Nhóm ngơn ngữ SQL thao tác liệu bao gồm câu lệnh cho phép thao tác liệu CSDL Nó dùng để thực truy vấn nhƣ: tìm kiếm, thêm, xóa, sửa ghi

- SELECT – trích liệu từ sở liệu

- INSERT – chèn liệu vào sở liệu - DELETE – xóa liệu từ sở liệu

- UPDATE – cập nhật liệu sở liệu 5.3.1 Câu lệnh truy vấn liệu

Loại câu lệnh cho phép ta tìm kiếm, trích rút liệu từ sở liệu Kết câu lệnh đƣợc hiển thị dƣới dạng bảng chiều

Cú pháp:

Giải thích:

- DISTINCT từ khố để đƣợc danh sách khơng có ghi trùng - Các thành phần mà ngƣời dùng phải điền cụ thể vào viết lệnh đƣợc viết cặp < >

- Các thành phần tùy chọn (những thành phần có không) đƣợc viết cặp [ ]

- Danh sách cột tên cột cần truy vấn bảng (chú ý tên cột xuất nhiều bảng phải rõ cột đƣợc tham chiếu qua bảng cú pháp: Tenbang.Tencot)

- SELECT *: dùng để hiển thị tất cột bảng

- Bảng 1, bảng tên bảng tên khung nhìn dùng để truy vấn liệu

SELECT [DISTINCT] <danh sách cột>| *| <biểu thức> FROM <bảng 1> [,bảng ]

[WHERE <điều kiện>]

(100)

- Mệnh đề WHERE dùng để định tiêu chuẩn chọn ghi - <điều kiện> biểu thức logic có kết trả TRUE FALSE - GROUP BY <tên cột> dùng để nhóm kết hiển thị theo loại giá trị cột

- Having tiêu chuẩn chọn nhóm, đƣợc đặt sau GROUP BY

- ORDER BY <danh sách tên cột> dùng để xếp kết vừa chọn theo cột (ASC tăng, DESC giảm)

Biểu thức <điều kiện> có tốn tử sau đƣợc dùng:

Bảng 5.1 Các toán tử SQL

Phép tốn Giải thích

= Bằng

<> Khác

> Lớn

< Nhỏ

>= Lớn

<= Nhỏ

[NOT] Like Phép tốn tìm mẫu kí tự

AND Và

OR Hoặc

BETWEEN <giá trị 1> AND <giá trị 2> Chọn tất trị khoảng giới hạn hai giá trị Các trị số, chuỗi kí tự, hay ngày tháng

<biểu thức> [NOT] IN (danh sách|câu truy vấn]) Kiểm tra giá trị biểu thức có tập danh sách giá trị không

[NOT] EXISTS (<câu truy vấn>) Kết trả TRUE câu truy vấn khác rỗng

<biểu thức><phép so sánh> SOME|ALL|ANY <câu truy vấn>

Kết trả TRUE phép so sánh thỏa mãn

Ví dụ 5.7: Sử dụng CSDL ví dụ 5.1 để thực yêu cầu sau:

Câu lệnh SQL hiển thị thông tin tất sinh viên, thông tin hiển thị cần: mã sinh viên, họ tên, ngày sinh, giới tính:

(101)

Để chạy thử câu lệnh SQL, ta mở CSDL toán đƣợc cài đặt HQTCSDL, sau gõ câu lệnh SQL chạy thử, hình hiển trị kết truy vấn

Hình 5.5 Giao diện soạn thảo câu lệnh SQL HQTCSDL Microsoft Access

(102)

Câu lệnh SQL hiển thị thông tin sinh viên nữ, thông tin hiển thị cần: mã sinh viên, họ tên, ngày sinh, giới tính

SELECT MaSV, HoDem, Ten, NgaySinh, GioiTinh FROM Sinhvien

WHERE Gioitinh=“Nữ”;

Chạy thử câu lệnh SQL HQTCSDL Microsoft Access:

(103)

Câu lệnh SQL hiển thị thông tin sinh viên khoa CNTT (có MaKhoa=“CNTT”) Thơng tin hiển thị cần: mã sinh viên, họ tên, ngày sinh, giới tính:

SELECT MaSV, HoDem, Ten, NgaySinh, GioiTinh FROM Sinhvien, Lop

WHERE Lop.MaKhoa="CNTT" AND (Sinhvien.MaLop=Lop.MaLop);

Hình 5.9 Giao diện soạn thảo câu lệnh SQL HQTCSDL Microsoft Access

(104)

Câu lệnh SQL hiển thị thông tin sinh viên với kết học tập họ Thông tin hiển thị cần: mã sinh viên, họ tên, ngày sinh, giới tính, tên mơn học, điểm

SELECT Sinhvien.MaSV, HoDem, Ten, NgaySinh, GioiTinh, TenMH, Diem FROM Sinhvien, Ketqua, Monhoc

WHERE Sinhvien.MaSV = Ketqua.MaSV AND Ketqua.MaMH=Monhoc.MaMH; Chạy câu lệnh SQL HQTCSDL Microsoft Access:

(105)

Câu lệnh SQL hiển thị thông tin sinh viên đạt điểm A học phần Tin học đại cương (MaMH=“TH01009”) Thông tin hiển thị cần (mã sinh viên, họ tên, ngày sinh, tên môn học, điểm) xếp theo vần alphabet tên họ (nếu trùng tên xếp theo họ đệm):

SELECT Sinhvien.MaSV, HoDem, Ten, NgaySinh, TenMH, Diem FROM Sinhvien, Ketqua, Monhoc

WHERE Sinhvien.MaSV=Ketqua.MaSV AND Ketqua.MaMH="TH1009" AND Ketqua.MaMH=Monhoc.MaMH AND Diem>=8.5

ORDER BY Ten, Hodem;

Tốn tử GROUP BY

Có thể phân hoạch quan hệ thành nhóm tách biệt áp dụng phép tốn gộp cho nhóm Trong câu lệnh SELECT – FROM – WHERE, mệnh đề GROUP BY nhóm lại danh sách thuộc tính quan hệ cần nhóm

Ví dụ 5.8: In danh sách lớp số sinh viên lớp:

SELECT Sinhvien.MaLop, Lop.TenLop, COUNT(Sinhvien.MaSV) AS [So sinh vien] FROM Sinhvien, Lop

WHERE Sinhvien.MaLop = Lop.MaLop GROUP BY Sinhvien.MaLop, Lop.TenLop Chạy câu lệnh SQL HQTCSDL Microsoft Access:

(106)

Hình 5.14 Kết thực câu lệnh SQL hình 5.13 HQTCSDL Microsoft Access

Tốn tử GROUP BY … HAVING …

Phân hoạch quan hệ thành nhóm tách biệt áp dụng phép toán gộp cho nhóm Trong câu lệnh SELECT – FROM – WHERE, mệnh đề GROUP BY nhóm lại danh sách thuộc tính quan hệ cần nhóm thoả mãn điều kiện nhóm HAVING:

GROUP BY A

l, A2, , Ak

HAVING E

Phân hoạch quan hệ thành nhóm cho hai nhóm chúng giống thuộc tính A

l, A2 , Ak Để cho kết câu vấn tin có nghĩa,

thuộc tính A

l, A2 , Ak phải xuất mệnh đề SELECT chúng có

những bí danh để in cần

Ví dụ 5.9: In danh sách lớp có số sinh viên ≥ Thông tin hiển thị cần: Mã lớp,

Tên lớp, Số sinh viên

SELECT Sinhvien.MaLop, Lop.TenLop, COUNT(Sinhvien.MaSV) AS „So sinh vien‟ FROM Sinhvien, Lop

(107)

 Toán tử LIKE: dùng định việc tìm gần xâu kí tự cột Cú pháp:

SELECT <tên cột> FROM <tên bảng> WHERE <tên cột> LIKE <“xâu kí tự”>; Một dấu "%" dùng nhƣ ký tự đại diện cho số kí tự

Ví dụ 5.10: Hiển thị thơng tin sinh viên có tên bắt đầu chữ “N”

SELECT * FROM Sinhvien WHERE Ten LIKE “N%”;

 Toán tử BETWEEN <giá trị 1> AND <giá trị 2>: chọn tất trị khoảng giới hạn hai giá trị Các giá trị số, chuỗi kí tự, hay ngày tháng

Ví dụ 5.11: Hiển thị thơng tin sinh viên có ngày sinh khoảng 01/01/93 đến

31/12/94 Lƣu ý cần chuyển chuỗi ngày tháng câu lệnh thành dạng tháng trƣớc ngày sau SELECT * FROM Sinhvien

WHERE Ngaysinh BETWEEN #01/01/93# AND #12/31/94#;

 Từ khóa DISTINCT dùng để trả giá trị khác biệt (distinct)

Ví dụ 5.12: Hiển thị tên tỉnh sinh viên

SELECT DISTINCT Tinh FROM Sinhvien;

 Truy vấn nhiều bảng dùng kết nối Join

 Kết nối thuộc tính tên Cú pháp:

Ví dụ 5.13: Hiển thị thơng tin sinh viên với tên lớp họ

SELECT Sinhvien.*, Lop.TenLop

FROM Sinhvien INNER JOIN Lop ON Sinhvien MaLop=Lop.MaLop;

 Kết nối thuộc tính tên Cú pháp:

SELECT <danh sách cột>

FROM Bảng1 INNER JOIN Bảng2 ON <Bảng1.khóachính = Bảng2.khóangoại> [WHERE <điều kiện>];

SELECT <danh sách cột>

(108)

- LEFT JOIN trả tất hàng từ bảng thứ nhất, cho dù khơng đƣợc so trùng bảng thứ hai Nếu hàng bảng R1 không so trùng bảng R2, những hàng đƣợc liệt kê

- RIGHT JOIN trả tất hàng từ bảng thứ hai, cho dù khơng đƣợc so trùng bảng thứ Nếu có hàng bảng R1 không đƣợc so trùng trong bảng R2, hàng đƣợc liệt kê

Ví dụ 5.14: Hiển thị thơng tin lớp khoa, kể khoa chƣa có lớp

trong bảng lớp Thơng tin cần hiển thị gồm: mã khoa, tên khoa, tên lớp SELECT Khoa.MaKhoa, TenKhoa, TenLop

FROM Khoa LEFT JOIN Lop ON Khoa.MaKhoa=Lop.MaK;  Câu lệnh truy vấn lồng

Cú pháp:

Trong đó, phép so sánh tập hợp thƣờng với số toán tử: IN, NOT IN, ALL, ANY, SOME, EXISTS, NOT EXISTS

Ví dụ 5.15: Hiển thị thông tin SV có kết điểm học phần:

SELECT * FROM Sinhvien WHERE MaSV IN (

SELECT MaSV FROM Ketqua);

Ví dụ 5.16: Hiển thị thơng tin sinh viên đăng kí học học lại

học phần SELECT *

FROM Sinhvien, Ketqua

WHERE (Sinhvien.MaSV=Ketqua.MaSV) AND Sinhvien.MaSV NOT IN (SELECT MaSV

FROM Ketqua WHERE Diem<4); SELECT <danh sách cột>

FROM <danh sách bảng> WHERE <so sánh tập hợp> (

SELECT <danh sách cột>

Câu truy vấn cha

FROM <danh sách bảng> WHERE <điều kiện>);

(109)

5.3.2 Câu lệnh cập nhật liệu

Dùng để thay đổi giá trị thuộc tính cho dịng bảng Cú pháp:

Ví dụ 5.17: Sửa tỉnh sinh viên có mã sinh viên 531236 từ Nam Định Hà Nội

UPDATE Sinhvien SET Tinh=“Hà Nội” WHERE MaSV=“531236”;

Lưu ý:

- Những dòng thỏa mãn điều kiện mệnh đề WHERE đƣợc cập nhật giá trị - Nếu không định điều kiện mệnh đề WHERE, tất dòng bảng đƣợc

cập nhật

- Lệnh UPDATE gây vi phạm ràng buộc tham chiếu nhƣ sau:  Không cho sửa

 Sửa ln dịng có giá trị tham chiếu đến (ví dụ với HQTCSDL

Microsoft Access, Relationship ta chọn Cascade Update Related Fields) 5.3.3 Thêm liệu

Khi muốn thêm dòng vào bảng ta sử dụng cú pháp sau: Cú pháp 1: Thêm dòng vào bảng với giá trị cụ thể:

Ví dụ 5.18: Thêm sinh viên có MaSV=“536780”, Hodem=“Lê Thị”, Ten=“Hà”,

Ngaysinh=#25/5/90#, Gioitinh=“Nữ”, Tinh=“Hà Nội”, MaLop=“K52THA” vào bảng Sinhvien INSERT INTO Sinhvien

VALUES (“536780”, “Lê Thị”,“Hà”, #25/5/90#, “Nữ”, “Hà Nội”, “K52THA”);

Chú ý:

- Thứ tự giá trị chèn vào phải trùng với thứ tự cột bảng cần chèn - Có thể chèn giá trị NULL thuộc tính khơng khóa

INSERT INTO <tên bảng>[<danh sách thuộc tính>] VALUES (danh sách giá trị);

UPDATE <tên bảng> SET

(110)

- Câu lệnh INSERT gặp lỗi vi phạm ràng buộc toàn vẹn sau:  Khóa

 Tham chiếu

 NOT NULL - thuộc tính có ràng buộc NOT NULL bắt buộc phải có giá trị

Cú pháp 2: Thêm nhiều dịng vào bảng

Ví dụ 5.19: Sao lƣu sinh viên có quê Hà Nội sang bảng Sinhvien_HN

INSERT INTO Sinhvien_HN SELECT * FROM Sinhvien WHERE Tinh=“Hà Nội”; 5.3.4 Xóa liệu

Dùng để xóa dịng bảng Cú pháp:

Ví dụ 5.20: Xóa sinh viên có mã sinh viên 536780 khỏi bảng Sinhvien

DELETE FROM Sinhvien WHERE Masv=“536780”;

Chú ý: - Số lƣợng dịng bị xóa phụ thuộc vào điều kiện mệnh đề WHERE

- Nếu không định điều kiện mệnh đề WHERE, tất dòng bảng bị xóa

- Lệnh DELETE gây vi phạm ràng buộc tham chiếu  Không cho xóa

 Xóa ln dịng có giá trị tham chiếu đến (ví dụ Microsoft Access, Relationship ta chọn Cascade Delete Related Records) 5.3.5 Các hàm SQL

SQL xây dựng sẵn số hàm để tính tốn

a Hàm AVG

Hàm AVG cho trị trung bình cộng liệu cột dạng liệu số Các trị DELETE FROM <tên bảng>

[WHERE <điều kiện>];

(111)

Ví dụ 5.21: Hãy trả điểm trung bình lần sinh viên bảng "Ketqua"

SELECT AVG(DiemL1) AS [Điểm trung bình] FROM Ketqua;

Ví dụ 5.22: Hãy tính điểm trung bình lần sinh viên theo lớp

SELECT MaLop, AVG(DiemL1) AS [Điểm trung bình]

FROM Sinhvien INNERJOIN Ketqua ON Sinhvien.Masv=Ketqua.Masv GROUPBY MaLop;

b Hàm SUM

Hàm SUM tính tổng liệu cột có kiểu liệu số Các trị NULL khơng đƣợc tính tốn

Ví dụ 5.23: Hãy trả tổng điểm lần sinh viên bảng "Ketqua"

SELECT SUM(DiemL1) AS [Tổng điểm] FROM Ketqua;

c Hàm MAX

Hàm MAX trả giá trị lớn cột Các trị NULL khơng đƣợc tính tốn

Ví dụ 5.24: Hãy trả giá trị điểm lớn lần sinh viên bảng "Ketqua"

SELECT MAX(DiemL1) AS [Điểm lớn nhất] FROM Ketqua;

Ví dụ 5.25: Hãy trả giá trị điểm lớn lần sinh viên theo môn học:

SELECT Ketqua.MaMH, TenMH, MAX(DiemL1) AS [Điểm lớn nhất] FROM Ketqua INNER JOIN Monhoc ON Ketqua.MaMH=Monhoc.MaMH GROUP BY Ketqua.MaMH, TenMH;

d Hàm MIN

Hàm MIN trả giá trị lớn cột, trị NULL khơng đƣợc tính tốn

Ví dụ 5.26: Hãy trả giá trị điểm lần nhỏ sinh viên bảng "Ketqua"

SELECT MIN(DiemL1) AS [Điểm nhỏ nhất] FROM Ketqua; CÂU HỎI VÀ BÀI TẬP

1 Nêu khái niệm sở liệu

(112)

4 Nêu thành phần hệ CSDL Hãy phân biệt HQTCSDL CSDL Chức HQTCSDL gì?

7 Nhóm ngơn ngữ thao tác liệu SQL bao gồm lệnh cho phép làm CSDL? Hãy phân biệt thuật ngữ sau: Quan hệ, lƣợc đồ quan hệ, lƣợc đồ CSDL quan hệ Bộ quan hệ (bản ghi) gì? Trong quan hệ có cho phép tồn hai giống

không?

10 Tại cần phải có Khóa quan hệ?

(113)

Chương

THUẬT TỐN VÀ NGƠN NGỮ LẬP TRÌNH

Chương đề cập đến phương pháp giải vấn đề máy tính, sau sâu vào hai nội dung chính: 1) Thuật tốn (khái niệm thuật tốn, tính chất, cách diễn đạt thuật toán, phương pháp thiết kế thuật toán vấn đề đánh giá thuật toán dựa độ phức tạp tính tốn ); 2) Ngơn ngữ lập trình (khái niệm, lịch sử phát triển ngơn ngữ lập trình, trình biên dịch, trình thơng dịch bước lập trình)

6.1 PHƢƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ BẰNG MÁY TÍNH

Nhƣ ta biết, chức máy tính xử lý thơng tin Tất q trình xử lý thơng tin máy tính đƣợc thực theo trình tự:

VÀO  XỬ LÝ  RA

Đầu tiên máy tính tiếp nhận liệu đầu vào, sau thực thao tác xử lý liệu, trả kết sau xử lý dƣới dạng thông tin/dữ liệu

Câu hỏi đặt máy tính thực q trình xử lý thơng tin nhƣ nào? Theo nguyên lý Von Neumann, máy tính hoạt động theo chƣơng trình (phần mềm) đƣợc lập sẵn, việc xử lý thơng tin máy tính ln tn theo nguyên lý Với vấn đề/bài toán đặt ra, để giải đƣợc máy tính cần phải xây dựng chƣơng trình máy tính tƣơng ứng Mỗi chƣơng trình thể thuật tốn dƣới dạng ngơn ngữ lập trình xác định, thuật toán thể phƣơng pháp giải quyết, hƣớng dẫn thao tác cụ thể cho máy tính thực để giải vấn đề/bài tốn

Nhìn chung, phƣơng pháp chung để giải vấn đề/bài tốn máy tính đƣợc thể theo sơ đồ sau:

BÀI TỐN  THUẬT TỐN  CHƢƠNG TRÌNH  NGÔN NGỮ MÁY MÁY THỰC HIỆN

Từ toán đặt ra, cần xác định đƣợc liệu cần nhập vào máy tính, liệu/thơng tin cần phải đƣa kết thúc trình xử lý Sau đó, cần xây dựng thuật tốn phƣơng pháp xử lý liệu đầu vào để có đƣợc liệu /thơng tin Khi có thuật tốn, cần sử dụng ngơn ngữ lập trình để xây dựng chƣơng trình máy tính tƣơng ứng Vì máy tính hiểu đƣợc ngôn ngữ ngôn ngữ máy nên chƣơng trình muốn thực thi đƣợc cần phải đƣợc dịch sang ngơn ngữ máy Cuối cùng, máy tính thực thao tác xử lý theo chƣơng trình lập sẵn đƣa liệu/thông tin theo u cầu tốn

6.2 THUẬT TỐN

6.2.1 Khái niệm thuật toán

(114)

Đối với việc giải toán, thuật tốn hiểu đơn giản dãy hữu hạn thao tác thích hợp để giải tốn

Trong lĩnh vực tin học, thuật toán đƣợc xem dãy hữu hạn thao tác, phép tốn thực đƣợc theo trình tự xác định số đối tƣợng liệu để đạt đƣợc kết mong muốn Lƣu ý phƣơng pháp giải vấn đề/bài tốn máy tính đối tƣợng thực thuật tốn máy tính Bởi vậy, thuật tốn đƣợc xây dựng phải bao gồm thao tác đƣợc xác định rõ ràng, đơn giản thực đƣợc hay nói cách khác phải “giao cho máy làm đƣợc”

Hình 6.1 Al-Khwarizmi

Con tem phát hành vào ngày 06/09/1983 Liên Xô, kỷ niệm 1200 năm ngày sinh ông Với tốn có nhiều cách giải khác Một thuật tốn đơn giản, có độ xác cao, đƣợc đảm bảo mặt toán học, lại dễ triển khai thực máy tính với thời gian thực nhanh đƣợc coi thuật toán hiệu

Khi xây dựng thuật toán cần xác định rõ thuật tốn tác động lên liệu nào, xét cho cùng, thuật toán phản ánh phép xử lý, đối tƣợng đƣợc xử lý liệu Căn vào yêu cầu toán đặt cần xác định rõ liệu vào, liệu liệu trung gian trình thực thao tác xử lý

Việc lựa chọn cấu trúc liệu phù hợp với việc xây dựng đƣợc thuật toán đắn hiệu vấn đề mấu chốt xây dựng phần mềm Niklaus Wirth - ngƣời sáng lập ngơn ngữ lập trình PASCAL tổng kết: Thuật toán + Cấu trúc liệu = Chƣơng trình

Ví dụ: Xét tốn tìm ƣớc số chung lớn số nguyên dƣơng a b: Input: số nguyên dƣơng a, b

Output: ƣớc số chung lớn a b (ký hiệu (a,b))

Một thuật tốn điển hình để giải toán thuật toán Euclid nguyên - thuật toán tiếng đƣợc biết đến từ thời Hy Lạp cổ đại (khoảng năm 300 trƣớc công nguyên, Euclid‟s Elements) Thuật toán đƣợc xây dựng dựa tính chất: Nếu a=b (a,b) = b; ngƣợc lại a>b (a,b) = (a-b,b), a<b (a,b) = (a,b-a)

Thuật tốn Euclid Minh họa thuật toán Euclid với a = 20, b = 32 - Bƣớc 1: So sánh a b,

a=b dừng thuật tốn thơng báo (a,b) = b Nếu ab chuyển sang bƣớc - Bƣớc 2: Nếu a>b thay a a-b, a<b thay b b-a Quay lại thực bƣớc

Bƣớc thực a b Kiểm tra điều kiện a=b

Bƣớc 20 32 Sai

Bƣớc 20 12

Bƣớc 20 12 Sai

Bƣớc 12

Bƣớc 12 Sai

Bƣớc

Bƣớc Sai

Bƣớc 4

Bƣớc 4 Đúng

(115)

6.2.2 Các tính chất thuật tốn

Trong “Những thuật toán bản” (tập sách Nghệ thuật lập trình máy tính – The Art of Computer Programming), tác giả Donald Ervin Knuth rằng, thuật tốn có đặc trƣng bản: Đầu vào, Đầu ra, Tính hữu hạn, Tính xác định, Tính hiệu

a Đầu vào (Input)

Một thuật tốn khơng có có nhiều liệu đầu vào Các liệu đầu vào đƣợc xác định thời điểm ban đầu trƣớc thuật toán đƣợc bắt đầu/thực thi Các liệu đƣợc lấy từ tập hợp/đối tƣợng quy ƣớc

Trong thuật toán Euclid nguyên bản, đầu vào số a, b đƣợc lấy từ tập hợp số nguyên dƣơng

b Đầu (Output)

Mỗi thuật tốn có nhiều liệu đầu ra, liệu đầu có mối liên hệ ràng buộc với liệu đầu vào kết cần đạt đƣợc theo yêu cầu toán

Trong thuật toán Euclid nguyên bản, có đầu giá trị b thời điểm kết thúc thuật tốn, ƣớc chung lớn số a, b liệu đầu vào

c Tính hữu hạn (hay cịn gọi Tính kết thúc/Tính dừng - Finiteness)

Thuật toán phải kết thúc sau số hữu hạn bƣớc thực

Trong thuật toán Euclid nguyên bản, tổng a+b giảm thực qua lần thực bƣớc ƣớc chung nhỏ số nguyên dƣơng nên khơng tổng a+b nhỏ Chính vậy, thuật tốn bắt buộc phải kết thúc sau số hữu hạn bƣớc thực

d Tính xác định (Definiteness)

Mỗi bƣớc thuật toán phải đƣợc xác định cách xác; thao tác đƣa phải đƣợc quy định chặt chẽ, rõ ràng cho trƣờng hợp

Tính chất đảm bảo cho thuật tốn ln trả kết theo yêu cầu mà toán đặt Kết thực thuật toán phụ thuộc vào liệu đầu vào, tức với liệu đầu vào dù ngƣời hay máy tính khác thực cho kết

Trong thuật toán Euclid nguyên bản, bƣớc thực đƣợc xác định cách chặt chẽ, rõ ràng dựa theo tính chất có để tìm ƣớc chung lớn số Chính vậy, kết trả thuật tốn đắn

e Tính hiệu (Effectiveness)

Một thuật tốn ln đƣợc mong đợi có hiệu quả, thao tác phải đủ mà thân ngƣời thực chúng cách xác khoảng thời gian hữu hạn

Rõ ràng thuật toán đơn giản với thao tác sử dụng nhiều liệu trung gian dễ dàng cho việc cài đặt chƣơng trình, đồng thời đảm bảo cho máy tính có

Hình 6.2 Donald Ervin Knuth

(116)

thể thực thi cách xác mà khơng phải tốn nhiều nhớ dùng để lƣu trữ giúp giảm thiểu thời gian thực

Với thuật toán Euclid, thao tác thực bao gồm phép so sánh, phép trừ phép gán giá trị; thao tác mà dù ngƣời hay máy tính dễ dàng thực khoảng thời gian ngắn

Ngoài đặc trƣng trên, số tài liệu cịn đề cập đến Tính tổng qt (Generality) thuật tốn, tức thuật tốn áp dụng cho lớp toán đồng dạng áp dụng cho trƣờng hợp riêng lẻ với liệu đầu vào cụ thể Ví dụ, thuật toán Euclid áp dụng đƣợc với cặp số a, b nguyên dƣơng áp dụng cho trƣờng hợp a = 20, b = 32 ví dụ minh họa Tuy nhiên, khơng phải thuật tốn có tính tổng qt thực tế, có nhiều tốn đƣợc đặt với liệu đầu vào hồn tồn xác định mà khơng tồn lớp toán tƣơng tự

6.2.3 Cách diễn đạt thuật toán

Về bản, diễn đạt thuật tốn theo cách sau:

a Liệt kê bước ngôn ngữ tự nhiên

Đây phƣơng pháp diễn đạt sử dụng ngôn ngữ tự nhiên liệt kê bƣớc thực thuật toán với quy tắc, thao tác cụ thể

Ví dụ: Xem lại thuật tốn Euclid tìm ƣớc số chung lớn số nguyên dƣơng đề cập đến mục 6.2.1 Khái niệm thuật toán

b Dùng lưu đồ (sơ đồ khối)

Sử dụng hình khối (Bắt đầu, Kết thúc, Khối Input, Khối Output, Khối điều kiện, Khối thao tác) cung để thể thao tác trình tự thực thao tác thuật toán:

Bắt đầu

Kết thúc

Thứ tự xử lý

Hình 6.3 Các hình khối cung để biểu diễn thuật tốn

Khối Input Khối thao tác

- Khối điều kiện +

(117)

Ví dụ: Lƣu đồ thuật tốn Euclid tìm ƣớc số chung lớn số nguyên dƣơng đƣợc xác định nhƣ sau:

Hình 6.4 Lƣu đồ thuật tốn Euclid tìm ƣớc chung lớn số nguyên dƣơng a, b

c Sử dụng giả mã (pseudo code)

Giả mã (hay giả ngôn ngữ lập trình) mơ tả thuật tốn ngắn gọn, sử dụng cấu trúc điều khiển ngơn ngữ lập trình kết hợp linh hoạt với ngơn ngữ tự nhiên ký hiệu tốn học đơn giản, nhằm diễn tả thuật toán theo cách dễ hiểu ngƣời đọc nhƣng gần gũi với ngơn ngữ lập trình để dễ dàng chuyển sang ngơn ngữ lập trình cài đặt chƣơng trình

Nhìn chung, khơng có tiêu chuẩn cho cú pháp giả mã, chƣơng trình viết giả mã khơng phải chƣơng trình thực thi đƣợc Thơng thƣờng, xây dựng giả mã dựa theo cấu trúc ngơn ngữ lập trình, ta bỏ chi tiết không cần thiết nhƣ khai báo, chƣơng trình thay đoạn mã đặc biệt ngơn ngữ tự nhiên để thuật tốn trở nên dễ hiểu

Ví dụ: Giả mã cho thuật tốn Euclid tìm ƣớc số chung lớn số nguyên dƣơng a, b đƣợc viết tựa theo cấu trúc ngơn ngữ lập trình PASCAL:

Nhập a,b While ab

If a>b then thay a a-b else thay b b-a

Thông báo ƣớc chung lớn b

Đoạn mã tƣơng ứng đƣợc viết ngôn ngữ PASCAL là:

Writeln('Nhap so nguyen duong a, b:'); Write('a = '); Readln(a);

Write('b = '); Readln(b); While a<>b

If a>b then a:=a-b

a, b

a = b -

+

-

a > b + b

(118)

else b:=b-a;

Writeln('Uoc chung lon nhat la ',b);

6.2.4 Thiết kế thuật toán

a Mơ-đun hố việc giải tốn

Các toán thực tế thƣờng phức tạp, yêu cầu phải thực nhiều công việc khác đạt đƣợc mục tiêu đề Để giải toán nhƣ vậy, ngƣời ta thƣờng sử dụng chiến thuật “chia để trị” (divide and conquer), tức chia nhỏ toán thành toán nhỏ hơn, dễ giải giải tốn nhỏ Nếu coi tốn ban đầu mơ-đun chính, ta chia thành mơ-đun nhỏ hơn, mơ-đun lại đƣợc tiếp tục chia thành mô-đun nhỏ Q trình chia nhỏ tốn nhƣ đƣợc gọi q trình mơ-đun hóa tốn, theo tốn đƣợc thể theo mơ hình phân cấp dạng nhƣ mơ hình tốn A dƣới đây:

Hình 6.5 Mơ hình phân cấp toán A

Việc giải toán tuân theo phƣơng pháp thiết kế top-down (top-down design hay phƣơng pháp thiết kế từ đỉnh xuống) Trƣớc tiên cần phân tích tổng qt tốn: xuất phát từ liệu đầu vào đầu ra, xác định cơng việc cần thực hiện, sau sâu phân tích cơng việc giải bƣớc cách cụ thể, chi tiết Các thuật toán đƣợc thiết kế theo phƣơng pháp top-down cho phép giải toán theo định hƣớng rõ ràng tảng cho phƣơng pháp lập trình có cấu trúc

b Tinh chỉnh bước thuật toán

Tinh chỉnh bƣớc phƣơng pháp thiết kế thuật tốn gắn liền với lập trình Nó thể q trình mơ-đun hóa phƣơng pháp thiết kế top-down Bƣớc đầu thuật toán đƣợc minh họa ngơn ngữ tự nhiên thể cơng việc cần thực hiện, bƣớc sau, việc minh họa trở tiết với thao tác xử lý, phép toán cần thực đƣợc cách cụ thể, đồng thời ngôn ngữ tự nhiên dùng để minh họa đƣợc thay dần giả ngôn ngữ ngày tiến gần đến ngơn ngữ lập trình Trong q trình thiết kế thuật tốn từ ngơn ngữ tự nhiên phát triển thành chƣơng trình máy tính, ngơn ngữ thể dần đƣợc chuyển đổi theo sơ đồ: Ngôn ngữ tự nhiên  Giả ngơn ngữ  Ngơn ngữ lập trình

Xét toán xếp phần tử - toán xử lý thông tin: Cho dãy gồm n phần tử thuộc kiểu có thứ tự: a1, a2 , an Hãy đổi chỗ phần tử dãy cho dãy

sau đổi chỗ có thứ tự (tăng giảm dần)

Với tốn này, có nhiều thuật tốn đƣợc đƣa Ở ta xét thuật toán tƣơng đối đơn giản: thuật toán xếp theo kiểu lựa chọn xét trƣờng hợp xếp tăng

A

a1 a2 a3

(119)

Ý tƣởng ban đầu thuật toán nhƣ sau:

- Chọn phần tử nhỏ dãy nguồn xếp vào vị trí dãy đích; - Chọn phần tử nhỏ dãy nguồn lại (tức phần tử nhỏ thứ hai dãy

nguồn ban đầu) xếp vào vị trí thứ hai dãy đích; - …

- Lặp lại trình hết dãy nguồn

Một cách tổng quát, với thuật tốn bƣớc thứ i, ta chọn phần tử nhỏ dãy nguồn lại (tức phần tử nhỏ thứ i dãy nguồn ban đầu) xếp vào vị trí thứ i dãy đích

Lƣu ý rằng, ta sử dụng cấu trúc mảng chiều để lƣu trữ liệu, theo phần tử dãy đƣợc lƣu trữ từ máy nhớ Để tiết kiệm nhớ, ta sử dụng chung mảng để lƣu trữ dãy nguồn dãy đích, tức thao tác “chọn phần tử nhỏ dãy nguồn lại xếp vào vị trí thứ i dãy đích” thực chất thao tác “chọn phần tử nhỏ dãy nguồn lại đổi chỗ cho phần tử a[i]”

Giả sử định hƣớng chƣơng trình sau đƣợc viết ngơn ngữ lập trình PASCAL, thuật tốn đƣợc viết giả mã nhƣ sau:

For i:=1 to n Begin

End;

- Chọn phần tử nhỏ aj số phần tử , an

- Đổi chỗ aj cho

Các công việc khối Begin … End đƣợc làm rõ nhƣ sau:

- Việc “chọn phần tử nhỏ aj số phần tử , an” thực

cách: Đầu tiên, coi phần tử nhỏ (j:=i), sau lần lƣợt so sánh phần tử

nhỏ với phần tử ai+1 , an; thấy phần tử nhỏ coi phần tử

đó phần tử nhỏ (j:=chỉ số phần tử nhỏ mới): j:=i;

For k:=i+1 to n

If ak<aj then j:=k;

- Việc “đổi chỗ aj cho nhau” muốn thực đƣợc cần sử dụng thêm phần

tử trung gian min: min:=aj;

aj:= ai;

ai:=min;

Khi chuyển hoàn toàn thuật tốn sang ngơn ngữ lập trình PASCAL, ta có đoạn mã tƣơng ứng nhƣ sau:

For i:=1 to n-1 Begin

(120)

For k:=i+1 to n

If a[k]<a[j] then j:=k; If j<>i then

Begin

End;

Ví dụ: Cho dãy số ban đầu:

End;

min:=a[j]; a[j]:=a[i]; a[i]:=min;

3 -2

Dãy đƣợc sau bƣớc thực thuật toán xếp lựa chọn (i = 4):

i=1: -2

i=2: -2

i=3: -2

i=4: -2

6.2.5 Độ phức tạp thuật toán vấn đề đánh giá thuật toán

a Sơ lược đánh giá thuật toán

Trong thực tế, toán đƣợc đƣa ra, vấn đề xây dựng đƣợc thuật tốn để giải tốn Thơng thƣờng, với tốn, có nhiều thuật tốn khác nhau, vấn đề đặt cần phải xác định đƣợc đâu thuật toán tốt dựa theo số tiêu chí Điều đƣa tiếp cận với toán quan trọng thú vị phân tích thuật toán: xác định đặc trƣng hiệu suất thực thi thuật tốn Một tiêu chí để đánh giá thuật tốn có phải tốt hay khơng, thời gian thực thuật tốn đƣợc thể qua số lần thực thao tác Các tiêu chí khác nhƣ khả thích ứng thuật tốn với loại máy tính khác nhau, tính đắn, mức độ đơn giản, hình thức thuật tốn, dung lƣợng nhớ sử dụng để lƣu trữ liệu Tùy theo trƣờng hợp, cần áp dụng tiêu chí đánh giá khác

Xét yêu cầu phân tích tính đắn thuật tốn, thuật toán hiển nhiên đƣợc chấp nhận đƣa đƣợc kết với yêu cầu toán Thơng thƣờng, ngƣời ta cài đặt chƣơng trình thể thuật tốn, sau chạy chƣơng trình thử nghiệm với số liệu đầu vào so sánh kết thử nghiệm với kết biết Tuy nhiên, phƣơng pháp thử nghiệm cho phép khẳng định tính sai chƣa đủ để đảm bảo đƣợc tính đắn thuật tốn Một phƣơng pháp khác sử dụng công cụ tốn học để chứng minh tính đắn thuật tốn nhƣng phƣơng pháp khơng phải lúc dễ dàng

(121)

Tuy nhiên với tốn phức tạp, có số lƣợng liệu đầu vào lớn toán phổ biến, thuật toán đƣợc sử dụng nhiều lần cần quan tâm chủ yếu đến hai vấn đề: thời gian thực thuật toán dung lƣợng nhớ dùng để lƣu trữ liệu Trong đó, tiêu chí thời gian thực thuật tốn đƣợc coi tiêu chí quan trọng hàng đầu thƣờng đƣợc sử dụng phân tích, đánh giá thuật toán Mặc dù tốc độ xử lý liệu máy tính lớn, lên đến hàng tỷ phép tính giây (ví dụ: siêu máy tính Blue Gene/L dạng nhỏ IBM, đời năm 2005, có tốc độ xử lý liệu đạt 100 teraflop – tƣơng đƣơng với 100 nghìn tỷ phép tính giây; hay siêu máy tính K tập đồn Fujitsu – Nhật Bản, đời năm 2012, có tốc độ xử lý liệu đạt 10 petaflop – tƣơng đƣơng với 10 triệu tỷ phép tính giây) nhƣng với tốn, mức độ chênh lệch số phép toán thực hai thuật toán đƣợc đƣa thực chúng lặp lặp lại hàng triệu lần, mức độ chênh lệch thời gian thực khơng phải nhỏ

Có thể thấy, cài đặt thành chƣơng trình máy tính thời gian thực thuật tốn phụ thuộc vào nhiều yếu tố:

- Số lƣợng phép tốn sơ cấp: phép tính số học, phép tính logic, phép gán giá trị, chuyển chỗ Số lƣợng phép toán sơ cấp hiển nhiên phụ thuộc vào kích thƣớc liệu đầu vào tốn (ví dụ, dùng thuật tốn tính giai thừa, việc tính 4! cần phép tốn việc tính 10!) Chính vậy, coi thời gian thực thuật tốn phụ thuộc vào kích thƣớc liệu đầu vào

- Ngơn ngữ lập trình, chƣơng trình dịch, hệ điều hành, tốc độ xử lý máy tính Tuy nhiên, yếu tố không đồng với loại máy tính, khơng thể dùng chúng làm để đánh giá thời gian thực thuật toán thời gian thực thuật tốn khơng thể biểu diễn đơn vị thời gian thông thƣờng nhƣ giờ, phút, giây

Để đánh giá thời gian thực thuật toán, ngƣời ta sử dụng “Độ phức tạp tính tốn thuật toán” (gọi tắt độ phức tạp thuật toán), phƣơng pháp đánh giá phụ thuộc vào kích thƣớc liệu đầu vào mà khơng phụ thuộc vào máy tính yếu tố liên quan

b Độ phức tạp tính tốn thuật toán

Thuật toán T sử dụng để giải tốn có kích thƣớc liệu đầu vào n cần thực T(n) phép toán sơ cấp T(n) hàm tham số n, đặc trƣng cho độ phức tạp tính tốn thuật toán Độ phức tạp đƣợc ký hiệu chữ “O” lớn

Xét định nghĩa tổng quát: Giả sử f(n), g(n) hai hàm số không âm, đồng biến theo n Hàm f(n) đƣợc xác định có độ phức tạp tính tốn cấp g(n), kí hiệu O(g(n)), f(n) = O(g(n)), tồn số c n0 cho f(n) ≤ cg(n) n ≥ n0 Khi đó, ta nói f(n) có

cấp g(n) (thực chất cấp lớn không vƣợt g(n))

Ví dụ: với f(n) = n2 + 2n + 3, rõ ràng f(n) ≤ n2 + 2n2 + 3n2 = 6n2 với n≥1 Do đó, ta có

f(n) = O(n2)

Khi viết T(n) = O(g(n)) nghĩa tốc độ tăng T(n) n  không vƣợt tốc độ tăng g(n) Khi n lớn, g(n) cho ta hình dung độ lớn T(n) hay nói cách khác, g(n) thƣớc đo độ lớn T(n) Ngƣời ta thƣờng cố gắng ƣớc lƣợng g(n) cho sát với T(n) có dạng đơn giản

(122)

- T(n) = O(1): độ phức tạp cấp số (độ phức tạp với số xác định, không phụ thuộc vào kích thƣớc liệu đầu vào; ví dụ: thao tác đơn giản nhƣ gán, đọc, viết, so sánh giá trị có độ phức tạp cấp O(1));

- T(n) = O(log2n): độ phức tạp cấp hàm logarit;

- T(n) = O(n): độ phức tạp cấp hàm tuyến tính; - T(n) = O(nlog2n): độ phức tạp cấp hàm nlog2n;

- T(n) = O(n2), O(n3) , O(nk): độ phức tạp cấp hàm đa thức; - T(n) = O(2n), O(n!), O(nn): độ phức tạp cấp hàm mũ

Một thuật tốn có độ phức tạp tính tốn cấp hàm mũ (O(2n), O(n!), O(nn)) tốc độ thực

hiện chậm

Một thuật tốn có độ phức tạp tính tốn từ cấp hàm đa thức trở xuống (O(1), O(log2n),

O(n), O(nlog2n), O(n2), O(n3) , O(nk)) thƣờng chấp nhận đƣợc

Những tốn chƣa tìm đƣợc thuật tốn với độ phức tạp tính tốn từ cấp đa thức trở xuống đƣợc xếp vào dạng tốn khó

c Xác định độ phức tạp tính tốn thuật tốn

Đối với thuật toán phức tạp, việc xác định độ phức tạp tính tốn khơng phải lúc dễ dàng Tuy nhiên, với thuật tốn đơn giản, ta hồn tồn xác định độ phức tạp chúng thông qua số quy tắc sau:

Quy tắc cộng:

Nếu T1(n) = O(f(n)), T2(n) = O(g(n)), T1(n) + T2(n) = O(max{f(n),g(n)})

Ví dụ: Trong thuật tốn có bƣớc, bƣớc có độ phức tạp tính tốn lần lƣợt T1(n) = O(n3), T2(n) = O(n), T3(n) = O(nlog2n) thời gian thực bƣớc là:

T1(n) + T2(n) + T3(n) = O(max{n3,n,nlog2n}) = O(n3)

Quy tắc nhân:

Nếu T1(n) = O(f(n)), T2(n) = O(g(n)) thì: T1(n) T2(n) = O(f(n).g(n))

Ví dụ: Xét câu lệnh viết ngôn ngữ PASCAL sau: - Câu lệnh 1: For j:=1 to n x:=x+1;

Đây câu lệnh lặp với số lần lặp n, bƣớc lặp, thực thao tác gán giá trị biểu thức x+1 cho x, thời gian thực là:

T(n) = O(n.1) = O(n) - Câu lệnh 2:

For i:=1 to n

For j:=1 to n x:=x+1;

(123)

Quy tắc bỏ số:

O(c.f(n)) = O(f(n)) c số Ví dụ: O(n2/2) = O(n2)

Căn vào quy tắc trên, đánh giá độ phức tạp tính tốn thuật tốn ta có đánh giá theo cách đơn giản cần quan tâm đến số lần thực phép toán tích cực (active operation - phép tốn mà số lần thực khơng số lần thực phép toán khác thuật toán)

Xét thuật toán xếp theo kiểu lựa chọn cho dãy n phần tử a1, a2 , an đƣợc trình bày

ở mục 6.2.4, phần b Phép tốn tích cực phép tốn so sánh a[k] < a[j] Số lần thực phép so sánh là: = Do đó, độ phức tạp thuật tốn O(n2)

Trong thực tế, nhiều không kích thƣớc liệu đầu vào mà tình trạng liệu yếu tố gây ảnh hƣởng đến thời gian thực thuật tốn Ví dụ, với toán xếp dãy số, rõ ràng dãy số đầu vào có sẵn thứ tự giống gần giống với thứ tự mong muốn thời gian thực thuật toán nhỏ thời gian thực thơng thƣờng Nhìn chung, tùy theo tình trạng liệu đầu vào mà ta có độ phức tạp khác ứng với trƣờng hợp:

- Tmax: ứng với trƣờng hợp tình trạng liệu bất lợi cho thuật toán

- Tmin: ứng với trƣờng hợp tình trạng liệu thuận lợi cho thuật toán

- Tavg: ứng với trƣờng hợp tình trạng liệu mức độ trung bình

Thông thƣờng, Tavg đƣợc dùng để so sánh, đánh giá thuật toán Tuy nhiên,

trƣờng hợp việc xác định thời gian thực trung bình khó khăn, đánh giá vào trƣờng hợp xấu tức dùng Tmax Đặc biệt, với tốn thời gian thực, địi hỏi thời

gian trả lời không đƣợc vƣợt giới hạn cho trƣớc dùng ƣớc lƣợng trƣờng hợp xấu Tmax

6.3 NGÔN NGỮ LẬP TRÌNH

6.3.1 Khái niệm ngơn ngữ lập trình

Ngơn ngữ lập trình (Programming language) hiểu cách đơn giản ngôn ngữ dùng để viết chƣơng trình máy tính Mỗi ngơn ngữ lập trình bao gồm hệ thống ký hiệu, từ khóa, từ dành riêng (hay từ vựng) quy tắc để viết chƣơng trình (hay cú pháp) Ngƣời lập trình sử dụng ngơn ngữ lập trình để viết chƣơng trình thể thuật tốn bao gồm tập hợp lệnh đƣợc viết theo cú pháp, đó, lệnh mang ý nghĩa định (cịn gọi ngữ nghĩa), dẫn cho máy tính thực công việc cụ thể

6.3.2 Lịch sử phát triển ngơn ngữ lập trình

Trong lịch sử phát triển, ngơn ngữ lập trình chia làm loại chính:

a Ngơn ngữ máy (Mã máy - Machine language hay Machine code)

(124)

trình viết chƣơng trình điểu khiển trực tiếp máy tính thơng qua lệnh máy chƣơng trình đƣợc thực nhanh chóng khơng phải thực bƣớc dịch chƣơng trình Tuy nhiên, nhƣợc điểm lệnh máy dài khó nhớ, chƣơng trình đƣợc viết thƣờng cồng kềnh, vừa thời gian viết vừa khó khăn cho việc đọc, phát lỗi hiệu chỉnh chƣơng trình Ngồi ra, tập lệnh ngơn ngữ máy phụ thuộc vào loại vi xử lý nên chƣơng trình chạy đƣợc máy tính có loại vi xử lý mà Trong số ngơn ngữ lập trình, ngơn ngữ máy đƣợc xem ngơn ngữ lập trình bậc thấp (thế hệ thứ nhất)

b Hợp ngữ (Assembly)

Ra đời từ đầu năm 1950, hợp ngữ đƣợc đƣa nhằm khắc phục nhƣợc điểm ngôn ngữ máy Về bản, hợp ngữ có cấu trúc lệnh giống với ngôn ngữ máy nhƣng điểm khác biệt lớn việc cho phép viết lệnh dƣới dạng mã chữ thay mã nhị phân Các mã lệnh dạng chữ thƣờng từ tiếng Anh viết tắt có ý nghĩa rõ ràng, dễ nhớ Ngồi ra, hợp ngữ cho phép định địa hình thức, nghĩa vị trí nhớ máy tính đƣợc tham chiếu tới thơng qua tên ký hiệu, thay phải sử dụng địa thực nó dƣới dạng mã nhị phân nhƣ ngơn ngữ máy Ví dụ, lệnh ADD AX, BX cho phép cộng (addition) số liệu ghi AX, BX với nhau, kết để ghi AX Các chƣơng trình hợp ngữ đƣợc chuyển sang mã máy thơng qua chƣơng trình đặc biệt gọi trình hợp dịch (assembler) Mặc dù tƣơng đối dễ dùng mã máy nhƣng hợp ngữ đƣợc xem ngơn ngữ lập trình bậc thấp (thế hệ thứ hai) cịn gần với tầng thiết kế máy tính, chƣơng trình đƣợc viết ngơn ngữ ln có liên quan chặt chẽ đến kiến trúc máy tính Hiện nay, ngơn ngữ có phạm vi sử dụng hẹp, chủ yếu dùng cần lập trình thao tác trực tiếp với phần cứng máy tính làm cơng việc khơng thƣờng xun, thƣờng trình điều khiển (driver), hệ nhúng bậc thấp (low-level embedded system) hệ thống thời gian thực (real-time system)

c Ngơn ngữ lập trình bậc cao (Ngơn ngữ thuật toán – High level programming language)

Năm 1957, đời ngơn ngữ lập trình bậc cao FORTRAN đánh dấu khởi đầu cho cách mạng ngơn ngữ máy tính, kể từ có hàng trăm ngơn ngữ lập trình bậc cao đời, ngơn ngữ gần gũi với ngơn ngữ tự nhiên ngơn ngữ tốn học, ngơn ngữ lập trình bậc cao thƣờng sử dụng hệ thống ký hiệu phong phú với ký hiệu số, ký hiệu chữ, ký hiệu toán học nhiều ký hiệu thông dụng khác, với từ khóa tiếng Anh đơn giản, cấu trúc lệnh chặt chẽ, rõ ràng mang ý nghĩa thực tế Chính vậy, ngơn ngữ lập trình bậc cao thƣờng dễ học, dễ đọc, dễ viết hiệu chỉnh chƣơng trình, vừa cho phép thể xác thuật tốn lại vừa có tính độc lập cao, phụ thuộc vào phần cứng máy tính Ngƣời ta cịn gọi ngơn ngữ lập trình bậc cao ngơn ngữ thuật toán Cũng giống nhƣ hợp ngữ, chƣơng trình viết ngơn ngữ lập trình bậc cao muốn máy tính thực thi đƣợc cần phải đƣợc dịch sang ngơn ngữ máy nhờ chƣơng trình dịch Ví dụ số ngơn ngữ lập trình bậc cao nhƣ: FORTRAN, PASCAL, C, C++, JAVA, PHP

(125)

- Giai đoạn từ năm 1957 đến năm đầu 1960:

+ Ngôn ngữ FORTRAN (FORmula TRANslator): đƣợc công bố vào năm 1957 công ty IBM, FORTRAN đƣợc thiết kế nhƣ ngôn ngữ lập trình dành cho nhà khoa học, kỹ sƣ nhà tốn học; ngơn ngữ đƣợc xem nhƣ ngơn ngữ lập trình cấp cao đƣợc ý khả diễn đạt tính tốn phƣơng trình tốn học cách dễ dàng

+ Ngôn ngữ ALGOL (ALGOrithmetic Language): đƣợc công bố ủy ban quốc tế vào năm cuối 1950 báo cáo có tựa đề ALGOL 58, sau đƣợc phát triển tiếp thành ALGOL 60, ALGOL 68; với cấu trúc điều khiển đại, ALGOL đƣợc sử dụng phổ biến ứng dụng khoa học tốn học

+ Ngơn ngữ LISP (LISt Processing): đƣợc John McCarthy đề xuất vào năm 1958 viện công nghệ Massachusetts (MIT) - Mỹ; LISP ngơn ngữ lập trình hàm đầu tiên, đƣợc xem nhƣ ngôn ngữ xử lý danh sách

+ Ngôn ngữ COBOL (COmmon Business Oriented Language): đƣợc phát triển hội đồng bao gồm đại diện từ tổ chức phủ, quốc phịng doanh nghiệp nƣớc Mỹ, Grace Hopper - làm việc Hải quân Mỹ - đƣợc mệnh danh “mẹ đẻ COBOL”; với khả xử lý tệp tin lớn thực phép tính thƣơng mại tƣơng đối đơn giản, COBOL ngôn ngữ đƣợc sử dụng rộng rãi cho ứng dụng thƣơng mại

- Năm 1963, ngôn ngữ BASIC, viết tắt cụm từ Beginner's All-purpose Symbolic Instruction Code, đƣợc phát triển John Kermeny Thomas Kurtz trƣờng đại học Dartmouth; ban đầu, BASIC đƣợc thiết kế ngơn ngữ lập trình đơn giản, có tính tƣơng tác để sinh viên học tập sử dụng, sau ngơn ngữ nhanh chóng trở thành ngơn ngữ lập trình thơng dụng

- Năm 1970, ngôn ngữ PASCAL (lấy theo tên nhà toán học/vật lý học ngƣời Pháp Blaise Pascal), đƣợc phát triển Niklaus Wirth, nhà khoa học máy tính Zurich, Thụy Sĩ; ban đầu, PASCAL đƣợc phát triển cho mục đích giảng dạy lập trình cấu trúc, sau phiên thƣơng mại đƣợc phát triển rộng rãi năm 80

- Năm 1972, ngôn ngữ C, đƣợc phát triển Dennis Ritchie phịng thí nghiệm Bell, Mỹ; ban đầu, C đƣợc thiết kế nhƣ ngôn ngữ dùng để viết phần mềm hệ thống phục vụ cho hệ thống Unix, nhƣng sau đó, nhu cầu dùng C để phát triển nhiều loại phần mềm, kể ứng dụng thƣơng mại tăng lên nhanh chóng; nhiều ngơn ngữ lập trình đƣợc phát triển từ C nhƣ: JAVA, JAVASCRIPT, PERL, PHP, PYTHON

- Năm 1983, ngôn ngữ C++, đƣợc phát triển Bjarne Stroustrup phịng thí nghiệm Bell, Mỹ; C++ đƣợc nâng cao từ ngôn ngữ C, với cải tiến lớp, hàm ảo template; ngôn ngữ C++ đƣợc sử dụng nhiều ứng dụng thƣơng mại, phần mềm nhúng, phần mềm client/server

Cũng năm 1983, ngơn ngữ OBJECTIVE C (lập trình hƣớng đối tƣợng mở rộng từ C), đƣợc phát triển Bradcox Tomlove công ty Stepstone; ngôn ngữ mở rộng từ C, bổ sung thêm chức message-passing cho phép truyền liệu từ tiến trình sang tiến trình khác máy tính thơng qua ngơn ngữ SMALLTALK, ngơn ngữ thƣờng đƣợc dùng để lập trình hệ điều hành iOS OS X Apple

(126)

linh hoạt cao, đƣợc sử dụng nhiều ứng dụng sở liệu, quản lý hệ thống, lập trình mạng, lập trình đồ họa

- Năm 1991, ngôn ngữ PYTHON (đặt tên theo đoàn hài kịch Anh MONTY PYTHON), đƣợc phát triển Guido Van Rossum, làm việc công ty CWI; PYTHON đƣợc tạo để hỗ trợ dạng ngôn ngữ khác thú vị sử dụng, thƣờng đƣợc dùng lập trình ứng dụng web, phát triển phần mềm, bảo mật thông tin

- Năm 1993, ngôn ngữ RUBBY, đƣợc phát triển Yukihiro Matsumoto; ngơn ngữ đƣợc đƣa với mục đích dùng giảng dạy, chịu ảnh hƣởng nhiều ngôn ngữ khác nhƣ PERL, ADA, LISP, SMALLTALK; nay, ngôn ngữ thƣờng đƣợc sử dụng phát triển ứng dụng web

- Năm 1995, ngôn ngữ JAVA, đƣợc phát triển Jame Gosling, làm việc công ty Sun Microsystems; JAVA đƣợc tạo cho dự án truyền hình tƣơng tác trở thành ngôn ngữ lập trình đƣợc sử dụng phổ biến giới, thƣờng dùng lập trình mạng, phát triển ứng dụng web, phát triển phần mềm, phát triển giao diện đồ họa ngƣời dùng

Cũng năm 1995, ngôn ngữ PHP (trƣớc có nghĩa Personal HomePage – trang chủ cá nhân, đƣợc hiểu theo nghĩa Hypertext PreProcessor – Bộ tiền xử lý siêu văn bản), đƣợc phát triển Rasmus Lerdorf; PHP ngôn ngữ nguồn mở đƣợc sử dụng rộng rãi để xây dựng, bảo trì trang web động, phát triển server

Cũng năm 1995, ngôn ngữ JAVASCRIPT, đƣợc phát triển Brendan Eich, làm việc công ty NetScape; ngôn ngữ đƣợc tạo để mở rộng chức trang web, ứng dụng phát triển web động, xử lý tài liệu dạng pdf, cơng cụ hình

Ngồi cịn có nhiều ngơn ngữ lập trình khác nhƣ:

- APL (AProgramming Language), ngôn ngữ mạnh, dễ dùng, tốt việc xử lý liệu đƣợc lƣu dƣới dạng bảng (ma trận)

- FORTH, tƣơng tự nhƣ ngơn ngữ C, cho phép tạo mã chƣơng trình nhanh hiệu quả, ban đầu đƣợc phát triển để điều khiển kính viễn vọng khơng gian

- LOGO, chủ yếu đƣợc biết đến nhƣ công cụ giảng dạy khả giải vấn đề

thống

- MODULA-3, tƣơng tự nhƣ PASCAL, sử dụng chủ yếu để phát triển phần mềm hệ

- PILOT (Programmed Inquiry Learning Or Teaching), đƣợc sử dụng ngƣời công tác lĩnh vực giảng dạy để viết chƣơng trình hƣớng dẫn CAD

- PL/I (Programming Language/One), ngôn ngữ thƣơng mại khoa học phối hợp nhiều chức FORTRAN COBOL

- PROLOG (PROgramming LOGic), đƣợc sử dụng trí tuệ nhân tạo

- RPG (Report Program Generator), cho phép sử dụng mẫu đặc biệt để giúp ngƣời dùng xác định liệu vào, liệu u cầu tính tốn chƣơng trình

(127)

6.3.3 Trình biên dịch trình thơng dịch

Máy tính hiểu đƣợc ngơn ngữ ngôn ngữ máy Bởi vậy, trƣớc đƣợc thực thi, chƣơng trình viết ngơn ngữ lập trình khơng phải ngơn ngữ máy (chƣơng trình nguồn) phải đƣợc dịch sang ngơn ngữ máy nhờ chƣơng trình dịch Các chƣơng trình dịch chia làm hai loại: trình thơng dịch trình biên dịch

Trình thơng dịch (Interpreter): Sử dụng kỹ thuật thơng dịch, dịch câu lệnh chƣơng trình nguồn đƣợc viết ngơn ngữ lập trình bậc cao sang ngơn ngữ máy để máy tính “hiểu” thực thi câu lệnh mà khơng lƣu lại đoạn mã máy tƣơng ứng, sau chuyển sang dịch câu lệnh Với kỹ thuật thơng dịch, khơng có tệp mã đối tƣợng (tệp mã máy tƣơng ứng với chƣơng trình nguồn) đƣợc tạo Mỗi lần thực chƣơng trình lần chƣơng trình nguồn đƣợc thơng dịch lại sang ngơn ngữ máy Thậm chí, câu lệnh chƣơng trình đƣợc thực lặp lặp lại nhiều lần lần thực lệnh lần phải dịch lại câu lệnh Lợi trình thơng dịch cho phép dịch thực câu lệnh mà không cần phải đợi dịch xong tồn chƣơng trình, ngồi trình thơng dịch giúp cho việc dị tìm lỗi dễ dàng xác câu lệnh chứa lỗi Nhìn chung, với việc dịch thực câu lệnh, trình thơng dịch thích hợp mơi trƣờng cần có đối thoại ngƣời hệ thống Một số ngôn ngữ lập trình có sử dụng trình thơng dịch nhƣ: BASIC, VISUAL BASIC, PERL, PYTHON

Trình biên dịch (Compiler): Sử dụng kỹ thuật biên dịch, dịch tồn chƣơng trình nguồn đƣợc viết ngơn ngữ lập trình bậc cao sang ngôn ngữ máy tạo tệp mã đối tƣợng tƣơng ứng, sau liên kết liên kết đối tƣợng thành phần với tạo tệp thực thi, tệp đối tƣợng tệp thực thi đƣợc nạp vào máy tính để sử dụng cần Trong trình biên dịch, trình biên dịch phân tích từ vựng cú pháp câu lệnh, chƣơng trình nguồn có lỗi mặt cú pháp trình biên dịch thơng báo danh sách tất lỗi để lập trình viên chỉnh sửa, tệp mã đối tƣợng đƣợc tạo chƣơng trình nguồn khơng cịn lỗi cú pháp Mỗi lần thực chƣơng trình cần sử dụng chƣơng trình thực thi đƣợc tạo trƣớc mà khơng cần phải tiến hành biên dịch lại chƣơng trình nguồn Vì vậy, việc sử dụng trình biên dịch thích hợp với chƣơng trình có tính ổn định đƣợc thực nhiều lần Thơng thƣờng, ngơn ngữ lập trình bậc cao có trình biên dịch tƣơng ứng, ví dụ: PASCAL, C, C++

6.3.4 Các công việc ngƣời lập trình

Về bản, để tạo chƣơng trình ngơn ngữ lập trình bậc cao, ngƣời lập trình cần thực cơng việc theo trình tự sau:

Bước 1: Soạn thảo chương trình

Dựa vào thuật tốn ngơn ngữ lập trình để viết chƣơng trình, sau sử dụng trình soạn thảo chuyên dụng để nhập nội dung chƣơng trình, lƣu tệp chƣơng trình với phần mở rộng tên tệp phù hợp với ngơn ngữ lập trình sử dụng, ví dụ: phần mở rộng tên tệp pas cho tệp chƣơng trình viết ngơn ngữ PASCAL, c cho tệp chƣơng trình viết ngơn ngữ C hay cpp cho tệp chƣơng trình viết ngơn ngữ C++ Tệp chƣơng trình đƣợc gọi tệp mã nguồn (source code)

Bước 2: Biên dịch chương trình

(128)

tạo, liên kết (linker) thực việc liên kết đối tƣợng thành phần với tạo tệp thực thi (executable code) cho chƣơng trình

Bước 3: Chạy thử chương trình

Chạy chƣơng trình (kích hoạt tệp thực thi), nhập liệu đầu vào (các liệu mẫu dùng để kiểm tra) kiểm tra kết đƣợc đƣa Nếu kết thu đƣợc lỗi thực thi chƣơng trình cần kiểm tra, chỉnh sửa lại thuật toán, quay lại bƣớc để chỉnh sửa lại chƣơng trình

Thơng thƣờng, mơi trƣờng phát triển tích hợp (IDE - Integrated Development Environment) có tích hợp sẵn trình soạn thảo, trình biên dịch, liên kết, trình gỡ rối cho phép chạy thử chƣơng trình Tuy nhiên, ngƣời lập trình sử dụng trình soạn thảo chuyên dụng, độc lập để soạn thảo chƣơng trình nguồn; sau sử dụng trình biên dịch thích hợp để biên dịch chạy chƣơng trình cách kích hoạt tệp thực thi đƣợc tạo Một trình soạn thảo đƣợc sử dụng phổ biến Notepad++, phần mềm miễn phí cho phép soạn thảo với nhiều ngơn ngữ lập trình khác nhau, phù hợp với cá nhân thƣờng xuyên phải làm việc lúc với nhiều ngơn ngữ lập trình

Ví dụ 1: Viết chƣơng trình tìm ƣớc số chung lớn số nguyên dƣơng, chƣơng

trình viết ngơn ngữ PASCAL, sử dụng phần mềm Free Pascal (IDE, version 2.6.2)

Bƣớc 1: Khởi động phần mềm Free Pascal, sử dụng trình soạn thảo nhập nội dung chƣơng trình nguồn, sau lƣu tệp mã nguồn dƣới dạng pas:

Hình 6.6 Soạn thảo chƣơng trình tìm ƣớc chung lớn với Free Pascal

(129)

Bƣớc 3: Nhấn tổ hợp phím Ctrl+F9 để chạy thử chƣơng trình:

Hình 6.8 Chạy thử chƣơng trình tìm ƣớc chung lớn

Sử dụng trình quản lý ổ đĩa Windows Explorer, kiểm tra thƣ mục lƣu tệp mã nguồn, ta thấy bên cạnh tệp mã nguồn UCLN.pas đƣợc tạo bƣớc 1, có thêm tệp đối tƣợng UCLN.o tệp thực thi UCLN.exe đƣợc tạo bƣớc

Hình 6.9 Các tệp đƣợc tạo sau bƣớc biên dịch chƣơng trình tìm ƣớc chung lớn

Những lần muốn chạy chƣơng trình tìm ƣớc chung lớn hai số nguyên dƣơng, ta cần kích hoạt tệp UCLN.exe đƣợc lƣu trữ

Ví dụ 2: Viết chƣơng trình cho toán xếp dãy số nguyên a1, a2 , an theo chiều tăng

dần, sử dụng thuật toán lựa chọn (chƣơng trình viết ngơn ngữ lập trình PASCAL, sử dụng phần mềm Notepad++ để soạn thảo trình biên dịch Free Pascal Compiler để biên dịch chƣơng trình)

(130)

Hình 6.10 Soạn thảo chƣơng trình xếp dãy số với trình soạn thảo Notepad++

(131)

Bƣớc 3: Kích hoạt tệp thực thi để chạy thử chƣơng trình:

Hình 6.11 Chạy thử chƣơng trình xếp dãy số

CÂU HỎI VÀ BÀI TẬP Hãy trình bày phƣơng pháp giải vấn đề máy tính

2 Thuật tốn gì? Hãy trình bày đặc trƣng thuật tốn Có cách để diễn đạt thuật toán, cách nào?

4 Hãy thiết kế thuật toán cho toán sau:

a Cho n số nguyên dƣơng, n>1, tính giá trị n!

b Cho n số nguyên dƣơng, n>1, tính tổng S theo công thức: S = 1/2 + 1/3 + … + 1/n

c Cho dãy n số nguyên a1, a2 , an (n>1) Hãy xếp dãy số cho theo chiều giảm dần

5 Nêu khái niệm độ phức tạp tính tốn thuật tốn Hãy xác định độ phức tạp tính tốn cho thuật tốn xây dựng câu

6 Ngôn ngữ lập trình gì? Trong lịch sử phát triển, ngơn ngữ lập trình chia làm loại, loại nào?

7 Chƣơng trình dịch dùng để làm gì? Có loại chƣơng trình dịch nào?

(132)

Chương

CÁC VẤN ĐỀ XÃ HỘI CỦA CƠNG NGHỆ THƠNG TIN

Cơng nghệ thông tin ngày xâm nhập vào lĩnh vực đời sống thường ngày của người từ cách thức làm việc, tương tác, trao đổi với đồng nghiệp, bạn bè người thân tới hoạt động túy mang tính cá nhân, thực sống thời đại thông tin với cư xử gắn liền với hạ tầng cơng nghệ Song hành với hình thức cư xử này, tất yếu xuất chuẩn mực đạo đức loại hình phạm tội chế tài pháp luật Do đó, việc nắm kiến thức bản nhằm nhận biết phân biệt khả tự bảo vệ trước hình thức phạm tội cũng chế tài pháp luật nhằm hạn chế hành vi phạm tội vô cần thiết

7.1 CÁC TÀI NGUYÊN CÓ THỂ BỊ XÂM PHẠM 7.1.1 Nội dung thông tin

Thông tin vốn quan trọng, ngày xã hội thơng tin, lại trở nên quan trọng hết Với tiện lợi lƣu trữ, vận chuyển chia sẻ, thông tin ngày đƣợc đƣa vào nhiều hệ thống công nghệ thông tin Từ loại thơng tin có tính chất cơng cộng tới loại thơng tin nghiệp vụ, thơng tin bí mật chiến lƣợc, tới thông tin riêng tƣ, tất đƣợc đẩy vào hệ thống thông tin Cũng từ đây, vấn đề tội phạm liên quan tới nội dung thông tin xuất

Nội dung thông tin bị công thƣờng mục tiêu chiếm đoạt phá hủy thông tin Chiếm đoạt thông tin có đƣợc nội dung thơng tin mà thân kẻ cơng khơng có thẩm quyền để xem thơng tin đó; Phá hủy thơng tin việc xóa bỏ thay đổi thông tin cách trái phép Các công vào nội dung thông tin gây hậu vơ nghiêm trọng tới phủ, tổ chức cá nhân Gần Edward Snowden làm rò rỉ thơng tin bí mật cục tình báo Mỹ ví dụ điển hình mức phủ Với tổ chức, công ty, việc để lộ hay phá hủy thơng tin chiến lƣợc quan trọng, bí sản xuất, chế biến ảnh hƣởng lớn tới tồn vong tổ chức, cơng ty Với cá nhân, việc lộ thông tin riêng tƣ không gây khó chịu cho cá nhân mà chí cịn dẫn tới hậu nghiêm trọng cho tính mạng cá nhân Nhƣ vậy, bảo vệ nội dung thông tin trở thành vấn đề vô quan trọng nhằm đảm bảo sống bình thƣờng ngƣời xã hội thông tin

7.1.2 Tài nguyên hạ tầng công nghệ thông tin

Xã hội thông tin ngày đẩy ngƣời phụ thuộc vào hạ tầng công nghệ thông tin Từ giao dịch tài chính, nghiệp vụ tới giao tiếp thơng thƣờng đời sống hàng ngày, đƣợc thực dựa hạ tầng công nghệ thông tin Do vậy, việc hạ tầng sụp đổ rơi vào trạng thái tải đáp ứng, dẫn tới hậu khôn lƣờng

Tấn công hạ tầng công nghệ thông tin thƣờng tập trung vào hạ tầng tính tốn lƣu trữ Đối tƣợng cơng tìm cách để tiêu thụ hết tài ngun tính tốn lƣu trữ khiến hạ tầng cơng nghệ thơng tin bị q tải, chí bị sụp đổ

7.1.3 Định danh ngƣời dùng

(133)

mà thơng tin đƣợc trao đổi có tính tin cậy Do đó, việc bị đánh cắp định danh hay giả mạo định danh gây hậu khôn lƣờng Trƣớc tiên đánh uy tín ngƣời sử dụng định danh đó, sau hiểm họa với thân ngƣời sở hữu định danh cá nhân tổ chức thực giao dịch liên quan tới định danh

7.2 CÁC HÌNH THỨC TẤN CƠNG

Ở mục trên, thấy đƣợc loại tài nguyên thông tin bị xâm phạm hệ thống thông tin Ở mục này, xem xét kẽ hở nhƣ cách thức mà kẻ xấu thực công vào tài nguyên thông tin

7.2.1 Tận dụng lỗ hổng phần mềm

Mặc dù đƣợc xây dựng với mục tiêu tốt đẹp, sản phẩm phần mềm chứa đựng lỗi điểm yếu mà kẻ xấu lợi dụng để thực hành vi xâm phạm tới tài nguyên thông tin kể

Ngày nay, hệ thống máy tính thƣờng đƣợc cài đặt lƣợng lớn sản phẩm phần mềm để phục vụ nhu cầu sử dụng khác nhau, nguy tiềm ẩn lỗ hổng hệ thống máy tính lớn Những lỗ hổng đến từ thân thiết kế sản phẩm, lỗi lập trình trình phát triển, hay lỗi trình cài đặt, cấu hình vận hành sản phẩm Các lỗ hổng đến từ hạ tầng đóng vai trị làm cho sản phẩm nhƣ hệ điều hành, hệ quản trị sở liệu hay công cụ, thƣ viện đƣợc sử dụng trình phát triển sản phẩm phần mềm nhƣ ngơn ngữ lập trình, trình biên dịch

Những lỗ hổng đến từ thân thiết kế sản phẩm hay logic chức sản phẩm đƣợc gọi lỗ hổng logic ứng dụng, chúng đa dạng biến đổi tùy thuộc vào thân ứng dụng, khó để phát Để loại bỏ lỗ hổng logic, ứng dụng cần tham gia chuyên gia an ninh, ứng dụng sử dụng công cụ tự động Ngƣợc lại, lỗ hổng đến từ hạ tầng, công cụ thƣ viện đƣợc phát dễ dàng Thông thƣờng dựa lỗ hổng đƣợc biết hạ tầng, công cụ thƣ viện, ứng dụng tự động thực tìm kiếm cách có hệ thống để phát lỗ hổng

Mặc dù phát triển mạnh mẽ kỹ nghệ phần mềm nhƣ hỗ trợ công cụ kiểm thử đại, sản phẩm phần mềm tồn lỗ hổng Do đó, khai thác lỗ hổng phần mềm phƣơng pháp hữu hiệu nhằm công vào hệ thống thông tin 7.2.2 Sử dụng phần mềm độc hại

Phần mềm độc hại phần mềm đƣợc xây dựng với mục đích xấu, đƣợc sử dụng nhƣ công cụ để công vào hệ thống thông tin Ở cách thức công này, phần mềm độc hại phải đƣợc cài đặt lên hệ thống máy tính ngƣời dùng phải đƣợc kích hoạt để chạy Thơng thƣờng, phần mềm độc hại đƣợc cài đặt tin tặc thông qua lỗ hổng phần mềm trực tiếp ngƣời sử dụng Phần mềm độc hại đƣợc kích hoạt trực tiếp ngƣời sử dụng thông qua lệnh khởi động hệ điều hành

Phần mềm độc hại phát triển mạnh số lƣợng đa dạng, tính tới năm 2008 số lƣợng phần mềm độc hại vƣợt mốc triệu, theo báo cáo GData, nửa đầu năm 2010, phát tới 1.017.208 phần mềm độc hại mới, số lớn nửa tổng số phần mềm độc hại năm 2009 Phần mềm độc hại thực trở thành mối nguy hại lớn với hạ tầng công nghệ thông tin Dƣới xem xét số loại phần mềm độc hại

a Virus máy tính

(134)

những thao tác định xảy tệp tin mà lây nhiễm đƣợc thực hiện, chẳng hạn nhƣ ngƣời sử dụng yêu cầu hệ điều hành thi hành tệp tin hay mở tệp tin trình ứng dụng Virus thi hành thực hai nhiệm vụ chính:

- Thực chức mà virus đƣợc thiết kế để thực Những chức đơn giản trị đùa, hành động phá hoại với hậu khôn lƣờng Nhiều virus cài đặt kỹ thuật đặt bẫy, để chức virus thực hoạt động số điều kiện cụ thể đƣợc thỏa mãn, chẳng hạn nhƣ virus Doodle Yankee 17h hát quốc ca

- Thực tìm kiếm tệp tin hệ thống máy tính, tạo nhân bám vào tệp tin đƣợc lựa chọn Cơ chế nhân đơn giản tạo thân virus, vơ phức tạp nhằm giúp cho lần nhân có đƣợc khác biệt định so với virus ban đầu

Thuật ngữ Virus máy tính lần đƣợc đƣa báo Fred Cohen năm 1984 với tiêu đề Computer Viruses – Theory and experiments Sau 30 năm, virus máy tính có phát triển mạnh mẽ số lƣợng song hành phát triển phần mềm độc hại nói chung Để phân loại virus máy tính có nhiều cách khác Ở đây, ta phân loại virus thành nhóm virus biên dịch (compiled virus) virus thông dịch (interpreted virus) Virus biên dịch:

Virus biên dịch loại virus đƣợc thi hành trực tiếp hệ điều hành Để làm đƣợc điều đó, mã lệnh virus biên dịch phải đƣợc biên dịch thành tệp tin đƣợc thi hành hệ điều hành Với đặc trƣng này, virus biên dịch lây nhiễm dòng hệ điều hành định với kiến trúc vi xử lý định Virus biên dịch lại chia ba nhóm virus tệp tin (file virus), virus khởi động (boot virus) virus đa (multipartite virus)

- Virus tệp tin loại virus biên dịch lây nhiễm tới tệp tin thi hành hệ thống máy tính nhƣ ứng dụng soạn thảo văn bản, bảng tính hay chƣơng trình trị chơi, chƣơng trình chát mạng Virus tệp tin lây lan đơn giản cách gắn vào tệp tin thi hành Khi tệp tin thi hành bị nhiễm virus tệp tin đƣợc kích hoạt để thực hiện, virus thi hành, thực chức lây lan sang tệp tin thi hành khác Hai ví dụ tiêu biểu cho virus tệp tin Jerusalem Cascade Jerusalem virus đƣợc phát Jerusalem năm 1987, lây nhiễm tệp tin thi hành mơi trƣờng DOS, đơn giản in thông điệp xóa tệp tin Cascade virus lây nhiễm rộng rãi suốt thập kỷ 1980 năm đầu thập kỷ 1990 Cải tiến quan trọng virus Cascade việc sử dụng thuật tốn mã hóa để lẩn tránh phần mềm diệt virus

- Virus khởi động loại virus biên dịch lây nhiễm vào phân vùng khởi động thiết bị lƣu trữ Nhƣ ta biết, phân vùng khởi động lƣu trữ thơng tin thiết bị lữu trữ, đƣợc chƣơng trình khởi động đọc để khởi tạo hệ điều hành để hệ điều hành lấy thông tin thiết bị Điểm mạnh virus khởi động đƣợc kích hoạt tự động chƣơng trình khởi động mà khơng cần chờ ngƣời sử dụng kích hoạt Michelangelo Stoned ví dụ tiêu biểu cho virus khởi động Virus Michelangelo đƣợc phát ngày mùng tháng năm 1991 khiến giới máy tính nín thở chờ đợi ngày mùng tháng năm 1992 (ngày sinh nghệ sĩ Michelangelo) - ngày virus Michelangelo hủy diệt giới máy tính Tuy nhiên thực tế, theo thống kê khoảng 20.000 trƣờng hợp xuất cố liệu đƣợc ghi nhận vào ngày tháng năm 1992

(135)

những thuộc tính virus tệp tin virus khởi động Những ví dụ tiêu biểu cho loại virus Flip Invader

Ngồi ra, virus biên dịch cƣ trú nhớ thi hành hệ thống máy tính bị lây nhiễm chiếm quyền điều khiển tệp tin hệ điều hành Do đó, hệ điều hành chạy chƣơng trình chƣa bị lây nhiễm, hệ điều hành bị virus chiếm quyền từ trƣớc khơng thi hành chƣơng trình mà tiến hành lây nhiễm lên tệp tin thi hành trƣớc Với cách hoạt động nhƣ vậy, virus biên dịch đƣợc gọi virus cƣ trú nhớ (memory resident virus) Virus thông dịch:

Trái ngƣợc với virus biên dịch, virus thông dịch chứa đựng mã nguồn chƣơng trình đƣợc thi hành ứng dụng hay dịch vụ cụ thể Do vậy, virus thông dịch trở nên phổ biến đặc tính dễ để viết sửa chữa Một tin tặc với kỹ tìm kiếm mạng virus thông dịch, đọc, sửa chữa phát tán Do đó, mạng có hàng tá biến thể khác virus thông dịch, hầu hết khác biệt nhỏ

Các virus thơng dịch đƣợc chia làm hai loại virus macro virus script Virus macro loại virus thông dịch phổ biến Virus macro bám vào tệp tin tài liệu chẳng hạn nhƣ tệp tin văn bản, bảng tính sử dụng trình thơng dịch ngơn ngữ macro ứng dụng để thi hành lây lan Một số loại phần mềm thƣờng hỗ trợ ngƣời dùng viết macro đơn giản để tự động hóa nhiệm vụ phức tạp có tính chất lặp, sở cho virus macro hoạt động Một ví dụ tiêu biểu ứng dụng Microsoft Office, phần mềm đƣợc sử dụng rộng rãi cho phép ngƣời sử dụng tạo macro ngôn ngữ VB.Script Hơn nữa, đặc tính thƣờng xuyên chia sẻ tài liệu ứng dụng sở cho phép virus macro lây lan nhanh chóng Ngồi ra, trƣờng hợp ứng dụng hỗ trợ template (template khuôn mẫu đƣợc trình ứng dụng sử dụng để mở tạo tệp tin), virus macro thƣờng lây nhiễm tệp tin template Một tệp tin template bị lây nhiễm, tài liệu đƣợc tạo mở với template bị lây nhiễm Một số virus macro tiêu biểu kể tới Cocept, Marker Melissa

Virus script khơng có khác biệt nhiều với virus macro Sự khác biệt yếu virus macro đƣợc biết ngôn ngữ đƣợc hiểu ứng dụng cụ thể, tính lây lan hạn chế phạm vi ứng dụng đó, ngƣợc lại virus script lại đƣợc viết ngôn ngữ đƣợc hiểu dịch vụ đó, chạy hệ điều hành Chẳng hạn Windows Scripting Host dịch vụ vài phiên hệ điều hành Microsoft Windows thi hành kịch đƣợc viết VBScript, virus script viết VBScript lây nhiễm hệ thống máy tính cài đặt hệ điều hành Windows có hỗ trợ Windows Scripting Host First Love Stages ví dụ tiêu biểu cho virus script

b Sâu máy tính

(136)

Hầu hết sâu máy tính đƣợc định hƣớng để tiêu thụ tài nguyên máy tính tài nguyên mạng Tuy nhiên, số sâu đƣợc sử dụng để cài đặt backdoor (chi tiết đƣợc đƣa mục c) cho phép thực công từ chối dịch vụ từ xa tới máy chủ đó, xử lý hoạt động nguy hiểm khác hệ thống máy tính Các sâu máy tính đƣợc chia làm hai loại sâu dịch vụ mạng (network service worm) sâu thƣ điện tử (mass mailing worm), tƣơng ứng với hai hình thức lan truyền sâu

- Sâu dịch vụ mạng sâu máy tính lan truyền cách khai thác lỗ hổng dịch vụ mạng gắn kết với hệ điều hành ứng dụng Sau sâu lây nhiễm vào hệ thống, thƣờng sử dụng hệ thống để tìm kiếm hệ thống khác chạy dịch vụ tƣơng tự tìm cách lây nhiễm vào hệ thống Hình thức lan truyền hồn tồn khơng cần tác động ngƣời sử dụng, nên sâu dịch vụ mạng thƣờng lan truyền nhanh loại phần mềm độc hại khác Sasser Witty hai ví dụ cho sâu dịch vụ mạng Sasser xuất tháng năm 2004, khai thác lỗ hổng tràn đệm dịch vụ LSASS (Local Security Authority Subsystem Service) hệ điều hành Windows (XP 2000) Cũng năm 2004, sâu Witty lại khai thác lỗ hổng loạt sản phẩm bảo mật mạng cụ thể Internet Security Systems (hiện lấy tên IBM Internet Security Systems) Witty có tốc độ lan truyền cách khủng khiếp, với nửa lây lan sang 12 ngàn máy tính sinh lƣu thông mạng lên tới 90 Gbits/s

- Sâu thƣ điện tử sâu máy tính thực lan truyền dựa chế phát tán thƣ điện tử Về bản, sâu thƣ điện tử có chế lan truyền giống với virus phát tán qua thƣ điện tử Tuy nhiên, với virus tệp tin đính kèm thƣ điện tử bị nhiễm virus nhƣng với sâu tệp tin đính kèm chƣơng trình sâu hồn chỉnh Một sâu thƣ điện tử lây nhiễm hệ thống, tự động tìm kiếm hệ thống địa thƣ điện tử sau gửi copy tới địa Để gửi thƣ, sử dụng hệ thống thƣ điện tử máy nạn nhân sử dụng chức gửi thƣ đơn giản đƣợc chứa sẵn thân Các sâu thƣ điện tử thƣờng gửi copy tới nhiều ngƣời nhận lần Bên cạnh việc làm tràn ngập hệ thống máy chủ thƣ điện tử mạng lƣợng lớn thƣ điện tử đƣợc gửi qua lại, sâu thƣ điện tử nguyên nhân gây nên vấn đề hiệu cho hệ thống bị lây nhiễm Beagle sâu thƣ điện tử xuất năm 2004 lây nhiễm tất phiên hệ điều hành Windows Chủng Beagle.A không lây nhiễm rộng rãi Tuy nhiên, biến thể có Beagle.B lại lây lan rộng rãi nguy hiểm Beagle chứa cài đặt giao thức SMTP riêng để gửi thƣ tới địa mà thu thập đƣợc máy tính bị lây nhiễm Beagle mở backdoor cổng 6777 (Beagle.A) 8866 (Beagle.B) Ngoài ra, Mydoom Nestky sâu thƣ điện tử tiêu biểu

c Trojan

Trojan đƣợc lấy tên theo tên ngựa gỗ truyền thuyết Trojan Horse (Con ngựa thành Troa) thần thoại Hy Lạp Trojan sử dụng chiến lƣợc khác biệt hoàn toàn với virus sâu, hồn tồn khơng có khả nhân bản, Trojan thƣờng tỏ vô hại, chí có lợi cho ngƣời dùng nhƣng ẩn mục đích xấu Trojan phần mềm hồn chỉnh đƣợc cài đặt theo lỗ hổng an ninh vào máy tính sơ suất ngƣời dùng truy cập mạng máy tính Trojan núp danh phần mềm tiện ích đƣợc ngƣời dùng cài đặt cách bình thƣờng Việc sử dụng phần mềm không quyền, đƣợc download từ nguồn không rõ xuất xứ nơi cƣ ngụ nhiều Trojan

(137)

phiên độc hại (hoặc có lỗ hổng bị nhiễm virus), tự động cài đặt ứng dụng khác tới hệ thống Tuy nhiên, phần lớn Trojan đóng vai trị nhƣ gián điệp hệ thống máy tính Tùy theo mục đích khác mà Trojan có tên khác nhau, dƣới số loại Trojan thƣờng gặp:

- Spyware (phần mềm gián điệp) đóng vai trị gián điệp, thu thập thông tin cần thiết hệ thống bị lây nhiễm gửi thơng tin tới hệ thống

- Adware (phần mềm quảng cáo) đóng vai trị quảng cáo, thƣờng hoạt động cách bật quảng cáo hệ thống bị lây nhiễm

- Key logger có nhiệm vụ ghi lại phím đƣợc gõ bàn phím gửi tới hệ thống phân tích bên ngồi

- Backdoor (cửa hậu) có nhiệm vụ mở cổng sau để tin tặc khai thác hệ thống máy tính bị lây nhiễm

- Rootkit đƣợc sử dụng để thu thập tệp tin đƣợc cài đặt lên hệ thống thay chúng, việc thay tệp tin rootkit gây hậu lớn Tuy nhiên, nhiều trƣờng hợp thay đổi nhằm che dấu công hay hoạt động phần mềm độc hại hay xóa bỏ chứng diện thân rootkit Những rootkit tiêu biểu kể tới nhƣ LRK5, Knark, Adore Hacker Defender

Trojan thƣờng khó để phát hiện, chúng đƣợc thiết kế để che dấu tồn hệ thống xử lý chức hợp lý, nên ngƣời sử dụng quản trị hệ thống thƣờng không phát

7.2.3 Tấn công từ chối dịch vụ

Ngày Internet đƣợc sử dụng hầu hết khía cạnh đời sống, trở thành tài nguyên quan trọng có sức ảnh hƣởng lớn Do việc phá hỏng nguồn tài nguyên Internet tạm thời dù phút gây mát to lớn tài chính, chí gây xáo động đời sống ngƣời Cũng nhanh chóng trở thành đối tƣợng đặc biệt quan tâm giới tin tặc nhƣ giới tội phạm Sự thật có nhiều đợt cơng vào nguồn tài ngun phạm vi quốc gia giới Ngày tháng năm 2000, hacker tuổi thiếu niên với nickname “mafiaboy” làm tê liệt website yahoo gần tiếng đồng hồ Hai ngày sau, sáu website thƣơng mại tiếng khác nhƣ Amazon, CNN, Ebay, E*Trade ZDNet trở thành nạn nhân mafiaboy Năm 2001, sâu máy tính Code Red cơng website Nhà Trắng làm ảnh hƣởng tới an ninh quốc gia Mỹ, hay năm 2003, đợt công hạ gục Houston port system Texas đe dọa an ninh công cộng Gần nhất, tháng năm 2013, Spamhaus – tổ chức vốn chịu trách nhiệm trì danh sách đen máy chủ chuyên gửi thƣ rác toàn cầu phải hứng chịu cơng từ chối dịch vụ lớn chƣa có với lƣu lƣợng mức đỉnh lên tới 300 Gbits/s Cuộc cơng làm trì trệ đƣờng truyền mạng tồn giới khu vực châu Âu chịu ảnh hƣởng nặng nề

Những công với mục tiêu làm tê liệt hệ thống máy tính hay dịch vụ đƣợc gọi cơng từ chối dịch vụ - Denial of Service (DoS) Tấn cơng từ chối dịch vụ đƣợc phân thành hai kiểu cơng dựa lỗ hổng phần mềm (vulnerability-based attack) công làm ngập lụt (flooding attack)

(138)

sẽ tiêu thụ lƣợng lớn tài nguyên hệ thống khiến hệ thống tê liệt Ví dụ tiêu biểu hình thức công Ping-of-Death xuất năm 1996, tin tặc đơn giản gửi tới hệ điều hành yêu cầu theo giao thức ICMP (Internet Control Message Protocol) với kích thƣớc lớn vƣợt mức cho phép

- Tấn cơng làm ngập lụt, hay cịn gọi brute-force attack, hình thức cơng từ chối dịch vụ cách tạo một lƣợng lớn yêu cầu hợp lệ (thƣờng giống nhau) nhằm tiêu thụ tài nguyên mục tiêu hệ thống khiến tài ngun bị q tải khơng thể đáp ứng yêu cầu đến từ ngƣời dùng hợp lệ khác Một ví dụ tiêu biểu cơng UDP (User Datagram Protocol), tin tặc gửi lƣợng lớn gói tin UDP tới cổng ngẫu nhiên máy chủ đó, điều dẫn tới tiêu thụ hết băng thơng máy chủ, ngƣời sử dụng bình thƣờng khơng thể truy cập đƣợc vào máy chủ

Để thực cơng từ chối dịch vụ, tin tặc sử dụng nhiều máy chủ để công Khi u cầu nhằm mục đích cơng tin tặc đến từ nhiều máy tính khác đƣợc phân tán mạng, đƣợc gọi cơng từ chối dịch vụ phân tán – distributed denial of service (DDoS) Ngƣợc lại, yêu cầu nhằm mục đích cơng đến từ máy chủ đƣợc gọi công từ chối dịch vụ đơn nguồn - single-source denial of service (SDoS) Trong hầu hết tài liệu, thuật ngữ DoS đƣợc sử dụng thay cho SDoS

Hình 7.1 Mơ hình cơng từ chối dịch vụ phân tán

Thông thƣờng công DDoS sử dụng hai kiểu thành phần agent (máy tác tử) handler (máy điều khiển) nhƣ mơ tả hình 7.1 Các Agent đơn giản máy tính đƣợc điều khiển handler để sinh yêu cầu công gửi yêu cầu công tới máy chủ nạn nhân Các handler đơn giản máy tính có cài đặt chƣơng trình nhằm điều khiển agent Handler có nhiệm vụ thông báo cho agent biết thực công, công

(139)

mục tiêu công nhƣ Các Agent đƣợc gọi bot hay zombie (âm binh) tập hợp agent đƣợc điều khiển tin tặc đƣợc gọi botnet (mạng ma)

Ở Việt Nam, công từ chối dịch vụ lên mạnh mẽ khoảng thời gian gần Tháng năm 2006, lần Cục C15 Bộ Công an bắt giữ tin tặc công từ chối dịch vụ làm tê liệt nhiều website thƣơng mại Việt Nam Năm 2010-2011, Vietnamnet phải liên tục hứng chịu công từ chối dịch vụ quy mô lớn, đợt đầu từ cuối năm 2010 tới đầu năm 2011 đợt khoảng tháng năm 2011 Đỉnh điểm ngày 27 tháng năm 2011, Vietnamnet phải xử lý 1,5 triệu kết nối vào thời điểm Gần nhất, tháng năm 2013, báo điện tử Việt Nam nhƣ Dân trí, Vietnamnet, Tuổi trẻ bị công từ chối dịch vụ khiến dịch vụ bị ngắt quãng

7.2.4 Lừa đảo

Lừa đảo (Phishing) hình thức kẻ cơng (hay kẻ lừa đảo – phisher) tìm cách để chiếm đoạt thơng tin bí mật ủy nhiệm nhạy cảm ngƣời sử dụng cách khéo léo Thuật ngữ phishing lần xuất vào năm 1995, kẻ lừa đảo mạng Internet sử dụng thƣ điện tử làm mồi nhử để chiếm đoạt username, password thông tin tài từ hàng triệu ngƣời sử dụng dịch vụ mail Internet Một ví dụ tiêu biểu vụ lừa đảo dựa website AOL (AOL website thƣơng mại lớn Mỹ), kẻ lừa đảo tạo trang web giả danh AOL gửi loạt thƣ tin nhắn lừa đảo nhằm dụ ngƣời nhận mở liên kết tới trang AOL giả nhằm chiếm đoạt username password

Sự phát triển thƣơng mại điện tử, khiến phishing trở thành tâm điểm giới tội phạm tài mạng Theo báo cáo RSA Anti-Fraud Command Center (AFCC) đầu năm 2013, tổng số công lừa đảo năm 2012 445.004, cao năm 2011 (258.461 cuộc) tới 59% tổng thiệt hại khoảng 1,5 tỉ đô la

Song song với phát triển số lƣợng, đa dạng tinh xảo kỹ thuật phishing Ngày Phishing không thực qua thƣ điện tử mà đƣợc thực nhiều hình thức khác nhƣ VOIP, SMS, instant messaging, trang mạng xã hội trò chơi trực tuyến nhiều ngƣời chơi Ở ta xem xét vài loại phishing phổ biến

a Lừa đảo dùng (Clone phishing)

Trong phƣơng thức này, kẻ lừa đảo tạo thƣ nhân từ thƣ hợp lệ Nội dung thƣ hợp lệ chứa đựng nội dung địa ngƣời nhận, đơn giản thƣ hợp lệ đƣợc gửi trƣớc đó, sau kẻ lừa đảo tiến hành thay liên kết mail, để trỏ tới địa giả với mục đích lừa đảo Cuối thƣ nhân đƣợc gửi địa giả, ngƣời nhận thấy thƣ đƣợc gửi đến từ ngƣời gửi hợp lệ Ngồi nội dung thƣ đề cập tới thông tin nhƣ việc gửi lại phiên cập nhật thƣ ban đầu, nhƣ chiến thuật để lừa ngƣời nhận

b Lừa đảo hướng đối tượng (Spear Phishing)

(140)

c Lừa đảo dùng điện thoại (Phone Phishing)

Đối với hình thức cơng này, kẻ lừa đảo gửi tin nhắn thông báo với nội dung ngân hàng yêu cầu ngƣời sử dụng gọi điện tới số máy cụ thể để giải vài vấn đề tài khoản họ Kẻ lừa đảo tận dụng kỹ thuật VOIP (Voice over IP) để nắm bắt gọi tiến hành lừa đảo

7.3 SỞ HỮU TRÍ TUỆ

Những sản phẩm ngành công nghệ thông tin sản phẩm đặc biệt, chúng sản phẩm trí tuệ dễ để chép, nhân Do đó, để tạo môi trƣờng công nghiệp công nghệ thông tin cách lành mạnh nhƣ thúc đẩy sáng tạo cá nhân lĩnh vực cần điều luật nhằm đảm bảo quyền lợi cho tác giả sản phẩm công nghệ thông tin Những điều luật đƣợc đặt hệ thống điều luật sở hữu trí tuệ Mục giới thiệu khái niệm sở hữu trí tuệ vấn đề vi phạm sở hữu trí tuệ ngành cơng nghệ thơng tin

7.3.1 Tài sản trí tuệ

Tài sản trí tuệ thành sáng tạo cá nhân tổ chức Theo tổ chức Sở hữu Trí tuệ Thế giới (WIPO), tài sản trí tuệ đƣợc chia thành loại chính:

- Tác phẩm: tác phẩm mang tính văn chƣơng (thơ, tiểu thuyết, kịch, truyện, sách tham khảo, báo), tác phẩm nghệ thuật (tranh, ảnh, phim, ca khúc, điêu khắc, múa, quảng cáo), vẽ kiến trúc, phần mềm, sở liệu, chƣơng trình ti vi, radio

- Tài sản trí tuệ công nghiệp: sáng chế, thiết kế kiểu dáng công nghiệp, thƣơng hiệu, bí mật kinh doanh, mạch tích hợp, dẫn địa lí

Mỗi tài sản trí tuệ đƣợc thể thông qua phƣơng tiện vật lí cụ thể Chẳng hạn tiểu thuyết đƣợc thể thơng qua thảo viết tay, tệp tin văn máy tính, hay giọng đọc phát viên đài Giá trị cốt lõi tài sản trí tuệ khơng nằm phƣơng tiện vật lí thể mà ý tƣởng sáng tạo chứa đựng Do đó, cần phải có phân biệt rõ ràng tài sản trí tuệ với biểu vật lí cụ thể tài sản trí tuệ

7.3.2 Quyền sở hữu trí tuệ

Mỗi tài sản gắn với chủ sở hữu định Quyền sở hữu khẳng định quyền lợi chủ sở hữu với tài sản, bao gồm quyền sử dụng, quyền sửa đổi, quyền chuyển nhƣợng Quyền sở hữu tài sản trí tuệ đƣợc gọi quyền sở hữu trí tuệ

Nhƣ mục 7.3.1, tài sản trí tuệ đƣợc chia hai loại tác phẩm tài sản trí tuệ cơng nghiệp Quyền sở hữu tác phẩm đƣợc gọi với thuật ngữ khác quyền tác giả hay quyền Quyền sở hữu tài sản trí tuệ cơng nghiệp đƣợc gọi quyền sở hữu công nghiệp

7.3.3 Luật sở hữu trí tuệ

a Vì phải bảo hộ quyền sở hữu trí tuệ

(141)

Bảo hộ quyền sở hữu trí tuệ giúp đảm bảo quyền lợi cho cá nhân tổ chức việc tạo sản phẩm trí tuệ Điều giúp tạo mơi trƣờng cạnh tranh bình đẳng cho tổ chức nhƣ lợi ích động lực cho cá nhân Từ thúc đẩy hoạt động sáng tạo, tạo đà cho việc phát triển sản phẩm trí tuệ phục vụ nhu cầu ngày cao ngƣời Ví dụ, ngành công nghệ thông tin, sản phẩm phần mềm kết tinh nhiều thành viên đội phát triển phần mềm, dƣới hỗ trợ tài cơng ty hay tổ chức Nếu nhƣ sản phẩm phần mềm không đƣợc bảo hộ, mà bị chép cách trái phép, khiến tổ chức công ty gặp khó khăn tài chính, hậu khơng có đầu tƣ để nghiên cứu phát triển sản phẩm nhƣ cải tiến sản phẩm cũ

b Luật Sở hữu trí tuệ

Luật Sở hữu trí tuệ văn pháp lý đƣợc đề nhằm bảo hộ cho quyền sở hữu trí tuệ Ở Việt Nam, Luật Sở hữu trí tuệ đƣợc ban hành vào năm 2005 thức có hiệu lực từ ngày 1/7/2006 Bất kỳ cá nhân tổ chức xâm phạm quyền sở hữu trí tuệ cá nhân tổ chức khác, có khiếu kiện đƣợc xử lý theo luật định

Tuy nhiên, văn luật đƣợc ban hành có giá trị phạm vị quốc gia, nên đảm bảo đƣợc quyền lợi cho chủ sở hữu phạm vị quốc gia Nếu vi phạm xảy ngồi phạm vi quốc gia luật sở hữu trí tuệ khơng can thiệp đƣợc Vì lý đó, hiệu ƣớc cơng ƣớc quốc tế đƣợc thành lập Việt Nam nhập Công ƣớc Berne Hiệp định TRIPS (Hiệp định khía cạnh thƣơng mại sở hữu trí tuệ - Trade Related Aspects of Intellectual Property Rights)

Việc bảo hộ quyền sở hữu rõ ràng đem lại ích lợi to lớn cho chủ sở hữu, nhiên quản lý q chặt khơng hợp lý làm cho tài sản trí tuệ khơng tiếp cận đƣợc với cộng đồng, không phát huy đƣợc sức mạnh vốn có tài sản trí tuệ Để khắc phục nhƣợc điểm khái niệm sở hữu công ngoại lệ (fair use) đƣợc đƣa

Thƣờng quyền sở hữu trí tuệ quy định quyền lợi cá nhân tổ chức tài sản trí tuệ, tài sản trí tuệ lúc đƣợc hiểu nhƣ tài sản riêng cá nhân tổ chức cụ thể Tuy nhiên, có số tài sản trí tuệ lại thuộc quyền sở hữu tất ngƣời mà không thuộc riêng cá nhân hay tổ chức nào, đƣợc gọi sở hữu công (public domain) Một tài sản trí tuệ đƣợc liệt vào mục sở hữu cơng nếu:

- Tài sản trí tuệ đƣợc tạo cộng đồng chẳng hạn nhƣ Tiếng Anh, dân ca quan họ Bắc Ninh

- Tài sản trí tuệ chân lí, thật đƣợc khám phá cá nhân nhƣng đặt quyền sở hữu cá nhân lên đƣợc cản trở phát triển nhân loại Ví dụ: định luật Newton, thuyết tiến hóa Darwin

(142)

- Có mục đích đẹp: Ngƣời dùng sử dụng/trích dẫn tác phẩm vào mục đích giáo dục, nghiên cứu, nhân văn đƣa tin thời sự, bình luận nhƣng khơng đƣợc lạm dụng cách sử dụng nhiều dùng để thu lời tài

- Biết ơn tác giả: Khi sử dụng, trích dẫn phải nêu lại tên ngƣời giữ quyền/tác giả tên tác phẩm

7.4 CÁC QUY ĐỊNH, ĐIỀU LUẬT VỀ AN TỒN THƠNG TIN VÀ SỞ HỮU TRÍ TUỆ Khi xuất hình thức cƣ xử, hành vi gây hại tới đời sống bình thƣờng cộng đồng, chế tài pháp luật đƣợc đƣa nhằm hạn chế loại bỏ hành vi, cƣ xử Tƣơng tự nhƣ vậy, với hình thức phạm tội liên quan tới tin học hạ tầng công nghệ thông tin, số chế tài pháp luật cụ thể phải đƣợc ban hành

7.4.1 Các điều Bộ luật hình

Dƣới số điều luật chống tội phạm tin học đƣợc đƣa Bộ luật hình Việt Nam năm 1999, đƣợc sửa đổi năm 2009

Điều 224 Tội phát tán vi rút, chƣơng trình tin học có tính gây hại cho hoạt động mạng máy tính, mạng viễn thông, mạng Internet, thiết bị số

1 Ngƣời cố ý phát tán vi rút, chƣơng trình tin học có tính gây hại cho mạng máy tính, mạng viễn thơng, mạng Internet, thiết bị số gây hậu nghiêm trọng, bị phạt tiền từ hai mƣơi triệu đồng đến hai trăm triệu đồng phạt tù từ năm đến năm năm

2 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ ba năm đến bảy năm: a) Có tổ chức;

b) Gây hậu nghiêm trọng; c) Tái phạm nguy hiểm

3 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ năm năm đến mƣời hai năm:

a) Đối với hệ thống liệu thuộc bí mật nhà nƣớc; hệ thống thông tin phục vụ an ninh, quốc phòng;

b) Đối với sở hạ tầng thông tin quốc gia; hệ thống thông tin điều hành lƣới điện quốc gia; hệ thống thông tin tài chính, ngân hàng; hệ thống thơng tin điều khiển giao thông;

c) Gây hậu đặc biệt nghiêm trọng

4 Ngƣời phạm tội cịn bị phạt tiền từ năm triệu đồng đến năm mƣơi triệu đồng, cấm đảm nhiệm chức vụ, cấm hành nghề làm công việc định từ năm đến năm năm

Điều 225 Tội cản trở gây rối loạn hoạt động mạng máy tính, mạng viễn thơng, mạng Internet, thiết bị số

1 Ngƣời thực hành vi sau gây hậu nghiêm trọng không thuộc trƣờng hợp quy định Điều 224 Điều 226a Bộ luật này, bị phạt tiền từ hai mƣơi triệu đồng đến hai trăm triệu đồng phạt tù từ năm đến năm năm:

a) Tự ý xoá, làm tổn hại thay đổi phần mềm, liệu thiết bị số;

(143)

c) Hành vi khác cản trở gây rối loạn hoạt động mạng máy tính, mạng viễn thơng, mạng Internet, thiết bị số

2 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ ba năm đến bảy năm: a) Có tổ chức;

b) Lợi dụng quyền quản trị mạng máy tính, mạng viễn thơng, mạng Internet; c) Gây hậu nghiêm trọng

3 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ năm năm đến mƣời hai năm:

a) Đối với hệ thống liệu thuộc bí mật nhà nƣớc; hệ thống thơng tin phục vụ an ninh, quốc phòng;

b) Đối với sở hạ tầng thông tin quốc gia; hệ thống thông tin điều hành lƣới điện quốc gia; hệ thống thông tin tài chính, ngân hàng; hệ thống thơng tin điều khiển giao thông;

c) Gây hậu đặc biệt nghiêm trọng

4 Ngƣời phạm tội cịn bị phạt tiền từ năm triệu đồng đến năm mƣơi triệu đồng, cấm đảm nhiệm chức vụ, cấm hành nghề làm công việc định từ năm đến năm năm.” Điều 226 Tội đƣa sử dụng trái phép thơng tin mạng máy tính, mạng viễn thơng, mạng Internet

1 Ngƣời thực hành vi sau xâm phạm lợi ích quan, tổ chức, cá nhân, xâm phạm trật tự, an toàn xã hội gây hậu nghiêm trọng, bị phạt tiền từ mƣời triệu đồng đến trăm triệu đồng, cải tạo không giam giữ đến ba năm bị phạt tù từ sáu tháng đến ba năm:

a) Đƣa lên mạng máy tính, mạng viễn thông, mạng Internet thông tin trái với quy định pháp luật, không thuộc trƣờng hợp quy định Điều 88 Điều 253 Bộ luật này;

b) Mua bán, trao đổi, tặng cho, sửa chữa, thay đổi cơng khai hố thơng tin riêng hợp pháp quan, tổ chức, cá nhân khác mạng máy tính, mạng viễn thơng, mạng Internet mà khơng đƣợc phép chủ sở hữu thơng tin đó;

c) Hành vi khác sử dụng trái phép thông tin mạng máy tính, mạng viễn thơng, mạng Internet

2 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ hai năm đến bảy năm: a) Có tổ chức;

b) Lợi dụng quyền quản trị mạng máy tính, mạng viễn thơng, mạng Internet; c) Thu lợi bất từ trăm triệu đồng trở lên;

d) Gây hậu nghiêm trọng đặc biệt nghiêm trọng

(144)

1 Ngƣời cố ý vƣợt qua cảnh báo, mã truy cập, tƣờng lửa, sử dụng quyền quản trị ngƣời khác phƣơng thức khác truy cập bất hợp pháp vào mạng máy tính, mạng viễn thơng, mạng Internet thiết bị số ngƣời khác chiếm quyền điều khiển; can thiệp vào chức hoạt động thiết bị số; lấy cắp, thay đổi, hủy hoại, làm giả liệu sử dụng trái phép dịch vụ, bị phạt tiền từ hai mƣơi triệu đồng đến hai trăm triệu đồng phạt tù từ năm đến năm năm

2 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ ba năm đến bảy năm: a) Có tổ chức;

b) Lợi dụng chức vụ, quyền hạn; c) Thu lợi bất lớn;

d) Gây hậu nghiêm trọng; đ) Tái phạm nguy hiểm

3 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ năm năm đến mƣời hai năm:

a) Đối với hệ thống liệu thuộc bí mật nhà nƣớc; hệ thống thông tin phục vụ an ninh, quốc phòng;

b) Đối với sở hạ tầng thông tin quốc gia; hệ thống thông tin điều hành lƣới điện quốc gia; hệ thống thơng tin tài chính, ngân hàng; hệ thống thông tin điều khiển giao thông;

c) Thu lợi bất lớn đặc biệt lớn;

d) Gây hậu nghiêm trọng đặc biệt nghiêm trọng

4 Ngƣời phạm tội cịn bị phạt tiền từ năm triệu đồng đến năm mƣơi triệu đồng, cấm đảm nhiệm chức vụ, cấm hành nghề làm công việc định từ năm đến năm năm

Điều 226b Tội sử dụng mạng máy tính, mạng viễn thơng, mạng Internet thiết bị số thực hành vi chiếm đoạt tài sản

1 Ngƣời sử dụng mạng máy tính, mạng viễn thơng, mạng Internet thiết bị số thực hành vi sau đây, bị phạt tiền từ mƣời triệu đồng đến trăm triệu đồng phạt tù từ năm đến năm năm:

a) Sử dụng thông tin tài khoản, thẻ ngân hàng quan, tổ chức, cá nhân để chiếm đoạt làm giả thẻ ngân hàng nhằm chiếm đoạt tài sản chủ thẻ toán hàng hoá, dịch vụ;

b) Truy cập bất hợp pháp vào tài khoản quan, tổ chức, cá nhân nhằm chiếm đoạt tài sản; c) Lừa đảo thƣơng mại điện tử, kinh doanh tiền tệ, huy động vốn tín dụng, mua bán tốn cổ phiếu qua mạng nhằm chiếm đoạt tài sản quan, tổ chức, cá nhân; d) Hành vi khác nhằm chiếm đoạt tài sản quan, tổ chức, cá nhân

2 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ ba năm đến bảy năm: a) Có tổ chức;

b) Phạm tội nhiều lần;

(145)

d) Chiếm đoạt tài sản có giá trị từ năm mƣơi triệu đồng đến dƣới hai trăm triệu đồng; đ) Gây hậu nghiêm trọng;

e) Tái phạm nguy hiểm

3 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ bảy năm đến mƣời lăm năm:

a) Chiếm đoạt tài sản có giá trị từ hai trăm triệu đồng đến dƣới năm trăm triệu đồng; b) Gây hậu nghiêm trọng

4 Phạm tội thuộc trƣờng hợp sau đây, bị phạt tù từ mƣời hai năm đến hai mƣơi năm tù chung thân:

a) Chiếm đoạt tài sản có giá trị từ năm trăm triệu đồng trở lên; b) Gây hậu đặc biệt nghiêm trọng

5 Ngƣời phạm tội cịn bị phạt tiền từ năm triệu đồng đến trăm triệu đồng, tịch thu phần toàn tài sản, cấm đảm nhiệm chức vụ, cấm hành nghề làm công việc định từ năm đến năm năm

7.4.2 Điều Nghị định Chính phủ

Về chế tài xử phạt với hành vi phạm tội liên quan tới tin học hạ tầng công nghệ thơng tin, ngày 23/8/2001 Chính phủ ban hành nghị định 55/2001/NĐ-CP với nội dung nhƣ sau:

Điều 41 Các hành vi vi phạm, hình thức mức xử phạt vi phạm hành Internet đƣợc quy định nhƣ sau:

1 Phạt cảnh cáo phạt tiền từ 50.000 đồng đến 200.000 đồng hành vi không khai báo làm thủ tục cấp lại giấy phép cung cấp dịch vụ Internet bị mất, bị hƣ hỏng

2 Phạt tiền từ 200.000 đồng đến 1.000.000 đồng hành vi vi phạm sau đây: a) Sử dụng mật khẩu, khố mật mã, thơng tin riêng ngƣời khác để truy nhập, sử dụng dịch vụ Internet trái phép

b) Sử dụng công cụ phần mềm để truy nhập, sử dụng dịch vụ Internet trái phép

3 Phạt tiền từ 1.000.000 đồng đến 5.000.000 đồng hành vi vi phạm sau đây:

a) Vi phạm quy định Nhà nƣớc tiêu chuẩn, chất lƣợng việc sử dụng dịch vụ Internet

b) Vi phạm quy định Nhà nƣớc giá, cƣớc việc sử dụng dịch vụ Internet

c) Vi phạm quy định Nhà nƣớc quản lý tài nguyên Internet việc sử dụng dịch vụ Internet

d) Vi phạm quy định Nhà nƣớc quản lý truy nhập, kết nối Internet việc sử dụng dịch vụ Internet

(146)

e) Vi phạm quy định Nhà nƣớc an tồn, an ninh thơng tin Internet việc sử dụng dịch vụ Internet

4 Phạt tiền từ 5.000.000 đồng đến 10.000.000 đồng hành vi vi phạm sau đây:

a) Ngừng tạm ngừng cung cấp dịch vụ Internet mà không thông báo cho ngƣời sử dụng dịch vụ Internet biết trƣớc, trừ trƣờng hợp bất khả kháng

b) Sửa chữa, tẩy xóa làm thay đổi nội dung giấy phép cung cấp dịch vụ Internet c) Sử dụng hạn giấy phép cung cấp dịch vụ Internet

5 Phạt tiền từ 10.000.000 đồng đến 20.000.000 đồng hành vi vi phạm sau đây:

a) Vi phạm quy định Nhà nƣớc tiêu chuẩn, chất lƣợng dịch vụ Internet việc cung cấp dịch vụ Internet

b) Vi phạm quy định Nhà nƣớc giá, cƣớc dịch vụ Internet việc cung cấp dịch vụ Internet

c) Vi phạm quy định Nhà nƣớc quản lý tài nguyên Internet việc cung cấp dịch vụ Internet

d) Vi phạm quy định Nhà nƣớc quản lý truy nhập, kết nối Internet việc cung cấp dịch vụ Internet

đ) Vi phạm quy định Nhà nƣớc mã hoá giải mã thông tin Internet việc cung cấp dịch vụ Internet

e) Vi phạm quy định Nhà nƣớc an tồn, an ninh thơng tin Internet việc cung cấp dịch vụ Internet

g) Sử dụng Internet để nhằm mục đích đe dọa, quấy rối, xúc phạm đến danh dự, nhân phẩm ngƣời khác mà chƣa đến mức truy cứu trách nhiệm hình

h) Đƣa vào Internet lợi dụng Internet để truyền bá thơng tin, hình ảnh đồi trụy, thông tin khác trái với quy định pháp luật nội dung thông tin Internet, mà chƣa đến mức truy cứu trách nhiệm hình

i) Đánh cắp mật khẩu, khố mật mã, thơng tin riêng tổ chức, cá nhân phổ biến cho ngƣời khác sử dụng

k) Vi phạm quy định vận hành, khai thác sử dụng máy tính gây rối loạn hoạt động, phong toả làm biến dạng, làm hủy hoại liệu Internet mà chƣa đến mức truy cứu trách nhiệm hình

6 Phạt tiền từ 20.000.000 đồng đến 50.000.000 đồng hành vi vi phạm sau đây:

a) Thiết lập hệ thống thiết bị cung cấp dịch vụ Internet không với quy định ghi giấy phép

b) Tạo cố ý lan truyền, phát tán chƣơng trình vi rút Internet mà chƣa đến mức truy cứu trách nhiệm hình

(147)

8 Ngồi hình thức xử phạt chính, tùy theo tính chất, mức độ vi phạm mà tổ chức, cá nhân cịn bị áp dụng hay nhiều hình thức xử phạt bổ sung biện pháp khắc phục hậu sau đây:

a) Tạm đình đình việc cung cấp sử dụng dịch vụ Internet hành vi vi phạm điểm a khoản 2, điểm b khoản 2, điểm khoản 3, điểm khoản điểm b khoản Điều 41

b) Tƣớc quyền sử dụng giấy phép có thời hạn khơng thời hạn hành vi vi phạm quy định điểm b khoản điểm a khoản Điều 41

c) Tịch thu tang vật, phƣơng tiện đƣợc sử dụng để vi phạm hành hành vi vi phạm quy định điểm b khoản 4, điểm a khoản khoản Điều 41

d) Buộc khôi phục lại tình trạng ban đầu bị thay đổi vi phạm hành gây hành vi vi phạm quy định điểm k khoản 5, điểm b khoản Điều 41

7.4.3 Các điều Luật Công nghệ thông tin

Năm 2006, Quốc hội Việt Nam ban hành Luật 67/2006/QH11: Luật Công nghệ thông tin bao gồm 79 điều Dƣới số điều có liên quan đến nghĩa vụ cơng dân hoạt động công nghệ thông tin

Điều 12 Các hành vi bị nghiêm cấm

1 Cản trở hoạt động hợp pháp hỗ trợ hoạt động bất hợp pháp ứng dụng phát triển công nghệ thông tin; cản trở bất hợp pháp hoạt động hệ thống máy chủ tên miền quốc gia; phá hoại sở hạ tầng thông tin, phá hoại thông tin môi trƣờng mạng

2 Cung cấp, trao đổi, truyền đƣa, lƣu trữ, sử dụng thơng tin số nhằm mục đích sau đây: a) Chống Nhà nƣớc Cộng hoà xã hội chủ nghĩa Việt Nam, phá hoại khối đồn kết tồn dân; b) Kích động bạo lực, tuyên truyền chiến tranh xâm lƣợc, gây hận thù dân tộc nhân dân nƣớc, kích động dâm ơ, đồi trụy, tội ác, tệ nạn xã hội, mê tín dị đoan, phá hoại phong mỹ tục dân tộc;

c) Tiết lộ bí mật nhà nƣớc, bí mật quân sự, an ninh, kinh tế, đối ngoại bí mật khác đƣợc pháp luật quy định;

d) Xuyên tạc, vu khống, xúc phạm uy tín tổ chức, danh dự, nhân phẩm, uy tín cơng dân; đ) Quảng cáo, tun truyền hàng hoá, dịch vụ thuộc danh mục cấm đƣợc pháp luật quy định Xâm phạm quyền sở hữu trí tuệ hoạt động cơng nghệ thơng tin; sản xuất, lƣu hành sản phẩm công nghệ thông tin trái pháp luật; giả mạo trang thông tin điện tử tổ chức, cá nhân khác; tạo đƣờng dẫn trái phép tên miền tổ chức, cá nhân sử dụng hợp pháp tên miền

Điều 69 Bảo vệ quyền sở hữu trí tuệ lĩnh vực công nghệ thông tin

Việc bảo vệ quyền sở hữu trí tuệ lĩnh vực cơng nghệ thơng tin phải thực theo quy định pháp luật sở hữu trí tuệ quy định sau đây:

(148)

2 Ngƣời sử dụng hợp pháp phần mềm đƣợc bảo hộ có quyền chép phần mềm để lƣu trữ dự phịng thay phần mềm bị phá hỏng mà xin phép, trả tiền quyền

Điều 70 Chống thƣ rác

1 Tổ chức, cá nhân khơng đƣợc che giấu tên giả mạo tên tổ chức, cá nhân khác gửi thông tin môi trƣờng mạng

2 Tổ chức, cá nhân gửi thông tin quảng cáo môi trƣờng mạng phải bảo đảm cho ngƣời tiêu dùng khả từ chối nhận thông tin quảng cáo

3 Tổ chức, cá nhân không đƣợc tiếp tục gửi thông tin quảng cáo môi trƣờng mạng đến ngƣời tiêu dùng ngƣời tiêu dùng thơng báo khơng đồng ý nhận thơng tin quảng cáo Điều 71 Chống vi-rút máy tính phần mềm gây hại

Tổ chức, cá nhân không đƣợc tạo ra, cài đặt, phát tán vi-rút máy tính, phần mềm gây hại vào thiết bị số ngƣời khác để thực hành vi sau đây:

1 Thay đổi tham số cài đặt thiết bị số; Thu thập thông tin ngƣời khác;

3 Xóa bỏ, làm tác dụng phần mềm bảo đảm an toàn, an ninh thông tin đƣợc cài đặt thiết bị số;

4 Ngăn chặn khả ngƣời sử dụng xóa bỏ hạn chế sử dụng phần mềm không cần thiết;

5 Chiếm đoạt quyền điều khiển thiết bị số;

6 Thay đổi, xóa bỏ thông tin lƣu trữ thiết bị số;

7 Các hành vi khác xâm hại quyền, lợi ích hợp pháp ngƣời sử dụng Điều 72 Bảo đảm an tồn, bí mật thơng tin

1 Thơng tin riêng hợp pháp tổ chức, cá nhân trao đổi, truyền đƣa, lƣu trữ môi trƣờng mạng đƣợc bảo đảm bí mật theo quy định pháp luật

2 Tổ chức, cá nhân không đƣợc thực hành vi sau đây:

a) Xâm nhập, sửa đổi, xóa bỏ nội dung thơng tin tổ chức, cá nhân khác môi trƣờng mạng;

b) Cản trở hoạt động cung cấp dịch vụ hệ thống thông tin;

c) Ngăn chặn việc truy nhập đến thông tin tổ chức, cá nhân khác môi trƣờng mạng, trừ trƣờng hợp pháp luật cho phép;

d) Bẻ khóa, trộm cắp, sử dụng mật khẩu, khóa mật mã thơng tin tổ chức, cá nhân khác môi trƣờng mạng;

đ) Hành vi khác làm an tồn, bí mật thơng tin tổ chức, cá nhân khác đƣợc trao đổi, truyền đƣa, lƣu trữ môi trƣờng mạng

Điều 73 Trách nhiệm bảo vệ trẻ em

(149)

b) Tiến hành biện pháp phòng, chống ứng dụng cơng nghệ thơng tin có nội dung kích động bạo lực khiêu dâm

2 Gia đình có trách nhiệm ngăn chặn trẻ em truy nhập thông tin khơng có lợi cho trẻ em

3 Cơ quan nhà nƣớc có thẩm quyền tiến hành biện pháp sau để ngăn ngừa trẻ em truy nhập thông tin khơng có lợi mơi trƣờng mạng:

a) Tổ chức xây dựng phổ biến sử dụng phần mềm lọc nội dung;

b) Tổ chức xây dựng phổ biến công cụ ngăn chặn trẻ em truy nhập thơng tin khơng có lợi cho trẻ em;

c) Hƣớng dẫn thiết lập quản lý trang thông tin điện tử dành cho trẻ em nhằm mục đích thúc đẩy việc thiết lập trang thông tin điện tử có nội dung thơng tin phù hợp với trẻ em, không gây hại cho trẻ em; tăng cƣờng khả quản lý nội dung thông tin môi trƣờng mạng phù hợp với trẻ em, không gây hại cho trẻ em

4 Nhà cung cấp dịch vụ có biện pháp ngăn ngừa trẻ em truy nhập môi trƣờng mạng thơng tin khơng có lợi trẻ em

5 Sản phẩm, dịch vụ công nghệ thông tin mang nội dung khơng có lợi cho trẻ em phải có dấu hiệu cảnh báo

CÂU HỎI VÀ BÀI TẬP Lỗ hổng phần mềm gì?

2 Nêu hình thức cơng vào tài nguyên thông tin nay?

3 Virus máy tính gì? Phân biệt nhóm virus: virus biên dịch virus thông dịch? Kể tên số loại virus máy tính

4 Sâu máy tính gì? Trình bày khác sâu máy tính: sâu dịch vụ mạng sâu thƣ điện tử? Kể tên số loại sâu máy tính

5 Trojan máy tính gì? Kể tên nêu chế hoạt động số loại trojan máy tính Trình bày khác chế hoạt động loại phần mềm độc hại: virus máy tính,

sâu máy tính trojan?

7 Tấn công từ chối dịch vụ - Denial of Service (DoS) gì? Phân biệt kiểu cơng từ chối dịch vụ: dựa lỗ hổng phần mềm làm ngập lụt?

8 Tấn công từ chối dịch vụ phân tán – distributed denial of service (DDoS) gì? So sánh DDoS với DoS?

(150)

TÀI LIỆU THAM KHẢO

I Sách

1 Carl Reynolds and Paul Tymannn (2008) Schaum's Outline of Principles of Computer Science McGraw-Hill Companies, Inc

2 Donald Ervin Knuth (1997) The Art of Computer Programming, third edition, Volume 1/

Fundamental Algorithms Addison-Wesley Professional

3 Đào Kiến Quốc, Bùi Thế Duy (2006) Giáo trình Tin học sở NXB Đại học Quốc gia Hà Nội 5 Đào Kiến Quốc, Trƣơng Ninh Thuận (2011), Các khái niệm Tin học, NXB Đại học Quốc

gia Hà Nội

6 Đỗ Thanh Liên Ngân, Hồ Văn Tú (2005).Giáo trình mơn học Tin học bản, Đại học Cần Thơ 7 Đỗ Thị Mơ đồng nghiệp (2007) Tin học đại cương NXB Nông nghiệp

8 Đỗ Xuân Lôi (2004) Cấu trúc liệu giải thuật NXB ĐH Quốc Gia Hà Nội 9 Ian Sommerville (2010), Software Engineering Addison-Wesley; 9th edition

10 Hoàng Thị Hà (2011), Bài giảng sở liệu NXB Khoa học Tự nhiên Công nghệ

11 Hồ Thuần, Hồ Cẩm Hà (2004) Các hệ sở liệu: Lí thuyết &thực hành; tập NXB Giáo dục 12 June Jamrich Parsons, Dan Oja (2013), Computer Concepts, 15th edition Cengage Learning

13 J Glenn Brookshear (2012) Computer science – An overview, 11thedition Pearson Education, Inc.,

publishing as Addison-Wesley

14 June Jamrich Parsons, Dan Oja (2013) New Perspectives on Computer Concepts, 15th edition

Cengage Learning

15 Nguyễn Đình Hóa (2004) Giáo trình Cấu trúc liệu giải thuật NXB ĐH Quốc gia Hà Nội 16 Nguyễn Thị Khiêm Hịa (2013), Giáo trình Tin học đại cương, Khoa CNTT Đại học Ngân Hàng

TP.HCM

17 Nguyễn Văn Linh (2003) Giáo trình Ngơn ngữ lập trình, Khoa CNTT Đại học Cần Thơ 18 Phan Thị Thanh Hà (2008), Bài giảng tóm tắt Internet dịch vụ, Đại học Đà Lạt 19 V ANTON SPRAUL (2012), Computer Science Made Simple, Broadway

20 Viện Công nghệ thơng tin Truyền thơng (2010), Giáo trình Tin học đại cương, Đại học Bách khoa Hà Nội

21 Võ Thanh Tú, Hồng Hữu Hạnh, Giáo trình mạng máy tính (2003), Đại học Khoa học Huế - Đại học Huế

II Internet

1 Nguyễn Hoài Tƣởng, Cách sử dụng hiệu dịch vụ lưu trữ đám mây,

http://vietsciexdir.net/ovsed-blog/blog/2012/04/, trích dẫn 4/8/2013

2 Nguyễn Hứa Phùng (2006) Ngơn ngữ lập trình/Chương1: Giới thiệu,

http://www.cse.hcmut.edu.vn/~nnlt/LectureNotes/Chuong_1.pdf, trích dẫn ngày 10/04/2014

3 Nguyễn Việt Anh Ngơn ngữ lập trình chương trình dịch,

http://uet.vnu.edu.vn/~anhnv/courses/thcs/9_Ngon_ngu_lap_trinh.pdf, trích dẫn ngày 10/04/2014

4 NIIT (2007) Bài giảng Ngơn ngữ lập trình – Các khái niệm, Giải thuật Lưu đồ,

: Webtietkiem.com tiếng Pháp Từ tiếng Anh thông tin và tính tốn c thống máy tính K nhƣ đồ họa máy tính, nhƣ lý thuyết độ phức tạp tính tốn N nh lý thuyết ngơn ngữ lập trình ng nh lập trình ng ngơn ngữ lập trình và hệ thống phức tạp và nh tƣơng tác ngƣời-máy tập câu lệnh hoặ ngôn ngữ lập trình theo liệu ha tài liệu li một phần mềm, nâ (http://www.fsf.org/licenses/gpl.html) c hệ điều hành c thập niên 1980 và u thập niên 1990, c n Windows 95 ra với Windows ME. với Windows, Ở Việt Nam, õ tiếng Việt, Vi từ dấu nhắc D độ dòng lệnh và n đồ họa c Microsoft Hệ điều hành MS-DOS giao diện đồ hoạ gApple Computer. với IBM (dự x86 c Intel) Windows NT đã MIPS) PowerPC v DEC Alpha do Linus Torvalds viết m 1991, Đại học Helsinki Phần Lan Ôn n GNU General Public License. số điện thoại di động. là tảng phần mềm tƣ do Research In Motion ph BlackBerry B trợ MIDP 1. WAP 1.2 h với Microsoft Exchange Server v Lotus Domino P Novell GroupWise, Lotus Notes kết hợp với BlackBerry Enterprise Server OTASL một hệ điều hành dựa g Linux đƣợc ó hình cảm ứng nhƣ điện thoại thơng minh và máy tính bảng B từ Google và mã nguồn mở và o Giấy phép Apache. rình Java c n TV, máy chơi game và nh Microsoft mã ASCII 255 hệ thập phân o phần mềm ứng dụng dùn byte, hủ WWW Tạ http://www.google.com http://www.yahoo.com http://www.altavista.com http://www.msn.com http://www.hotbot.com http://www.lycos.com http://www.google.com.vn. www.google.com/advanced_search tốn tử tìm kiếm). hỉ https://mail.google.com một trang web chia sẻ d ữ liệu miễn phí và không giới hạn thành viên đăng ký đề tải lên c tệp tin c ó dung lƣợng khơn 200 MB, URL để mở nhiều loại tệp http://vietsciexdir.net/ovsed-blog/blog/2012/04/, t http://www.cse.hcmut.edu.vn/~nnlt/LectureNotes/Chuong_1.pdf, t http://uet.vnu.edu.vn/~anhnv/courses/thcs/9_Ngon_ngu_lap_trinh.pdf, http://clip.vn/watch/Bai-1-Ngon-ngu-lap-trinh-Cac-khai-niem-Giai-thuat-va-Luu-do,i6J/,

Ngày đăng: 03/04/2021, 20:27

Xem thêm:

TỪ KHÓA LIÊN QUAN

w