CDN là viết tắt của Content Delivery Network – Mạng phân phối nội dung, nó hoạt động như thế nào và tác dụng của CDN trong lĩnh vực SEO là gì? Bài viết này sẽ giúp bạn giải đáp.
Với việc Google đưa yếu tố trải nghiệm của người dùng vào tiêu chí xếp hạng kết quả tìm kiếm, các nhà phát triển web và các doanh nghiệp trên toàn thế giới đang dành nhiều thời gian và tài nguyên hơn để cải thiện trải nghiệm người dùng.
Trải nghiệm của người dùng được Google tập hợp thành nhóm các chỉ số gọi là core web vitals tập trung vào thời gian tải trang, tương tác và ổn định hình ảnh, nếu bạn đang sở hữu một webstie, bây giờ là lúc để kiểm tra hiệu suất trang web của mình.
Trong bài đăng này, chúng ta sẽ tìm hiểu CDN là gì, nó hoạt động như thế nào và tại sao CDN lại quan trọng đối với SEO.
Tại sao bạn cần CDN
Người dùng internet thông thường không quan tâm đến cách các trang web hoạt động hoặc website sử dụng dịch vụ lưu trữ web hosting nào.
Tất cả những gì họ quan tâm là trải nghiệm của chính họ. Các yếu tố như tốc độ tải nhanh, nội dung chất lượng và điều hướng trực quan.
Tốc độ đồng nghĩa với tiền và điều này đặc biệt đúng đối với các trang web thương mại điện tử. Trên thực tế, các trang tải trong vòng 0 đến 2 giây có tỷ lệ chuyển đổi cao nhất.
Các trang tải trong khoảng từ 0 đến 5 giây. Tỷ lệ chuyển đổi giảm trung bình 4,42% với mỗi giây cần để tải trang (trên 5 giây người dùng thường có xu hướng thoát trước khi đợi xong).
Ngay cả đối với các trang web không phải thương mại điện tử, tốc độ tải trang ảnh hưởng đến tỷ lệ thoát; những trang tải trong 1 giây có tỷ lệ thoát trung bình chỉ 7% .
Tỷ lệ này tăng lên 11% đối với các trang mất 3 giây để tải xong và 38% người dùng rời đi ngay lập tức đối với các trang mất 5 giây để tải.
Hiện nay sử dụng CDN là một chiến lược phổ biến để đạt được tốc độ tải trang tối ưu cho cả máy tính để bàn và thiết bị di động. Nghiên cứu của Cisco cho thấy CDN toàn cầu dự kiến sẽ thực hiện 72% tổng lưu lượng truy cập internet vào năm 2022.
Giờ đây trong phần lớn trường hợp không sử dụng CDN, việc cải thiện trải nghiệm người dùng cạnh tranh với các trang web của đối thủ sử dụng CDN là điều không thể.
CDN là gì và nó hoạt động như thế nào?
Các trang web không sử dụng CDN dựa vào một máy chủ duy nhất để chuyển tải nội dung cho tất cả khách truy cập trang web, cho dù họ ở cách đó một dặm hay nằm trên toàn cầu.
Mặt khác, một mạng phân phối nội dung CDN bao gồm nhiều máy chủ được đặt rải rác theo khu vực địa lý.
Mạng CDN thường đặt máy chủ tại nơi các nhà cung cấp dịch vụ internet kết nối và trao đổi lưu lượng (IXPs).
Chủ sở hữu web trả tiền cho các dịch vụ CDN, để họ phân phối nội dung trang web như hình ảnh, video, âm thanh, tệp HTML, CSS và JavaScript đến từng máy chủ trong mạng.
Các máy chủ này lưu trữ các phiên bản website trong bộ nhớ cache, đảm bảo nó luôn sẵn sàng cho các yêu cầu truy cập của người dùng.
Khi người dùng yêu cầu một trang, nội dung sẽ được gửi qua máy chủ gần nhất về mặt địa lý. Nhờ vậy CDN làm giảm độ trễ của trang bằng cách giảm thiểu khoảng cách mà nội dung của trang web phải di chuyển khi người dùng cuối yêu cầu.
CDN cũng cải thiện tốc độ tải và trải nghiệm người dùng bằng cách tối ưu hóa phân phối dựa trên loại nội dung được yêu cầu, chẳng hạn như nội dung web chuẩn, nội dung động, phát trực tuyến video hoặc tải xuống tệp lớn.
Ngoài việc cải thiện tốc độ tải, sử dụng CDN làm tăng băng thông và giảm chi phí chung cho các máy chủ.
Trải nghiệm người dùng và SEO vốn luôn gắn liền với nhau và Google từ lâu đã xem xét các yếu tố UX để xác định thứ hạng tìm kiếm.
Ví dụ: bản cập nhật Thân thiện với thiết bị di động của Google năm 2015 đã thay đổi cách thức của giới SEO. Tiêu chí tính thân thiện với thiết bị di động trở thành một yêu cầu bắt buộc.
Vào tháng 7 năm 2018, Google đã xác nhận rằng tốc độ tải trang đích là một yếu tố xếp hạng tìm kiếm, bao gồm cả các tìm kiếm trên thiết bị di động.
Theo thông báo về thuật toán của Google, bản cập nhật tháng 5 năm 2021 sẽ khiến trải nghiệm người dùng trở nên quan trọng hơn .
Nhiều bản cập nhật thuật toán trước đây đã khiến chủ sở hữu trang web ngạc nhiên và buộc các chuyên gia SEO phải tiến hành nghiên cứu trên quy mô lớn để xác định và phân tích các thay đổi.
Nhưng lần này, Google đang cho chủ sở hữu trang web biết chính xác điều gì cần theo dõi và cải thiện.
CDN cung cấp số liệu phân tích nâng cao
Các nhà cung cấp CDN cao cấp cũng bao gồm báo cáo phân tích và thông tin chi tiết như một phần của dịch vụ.
CDN có thể thu thập và báo cáo thông tin quan trọng như phân tích đối tượng, dữ liệu lưu lượng truy cập dựa trên địa lý và truy vấn, chất lượng dữ liệu dịch vụ, phân tích sự kiện bảo mật và chẩn đoán người dùng.
Các gói CDN thường cung cấp bảng điều khiển thông tin chi tiết có thể tùy chỉnh giúp việc theo dõi các chỉ số hiệu suất này dễ dàng và tự động.
Sử dụng CDN cũng bảo vệ các trang web chống lại các cuộc tấn công từ chối dịch vụ (DDoS). Bởi vì CDN phân phối nội dung đến nhiều máy chủ, nó ngăn chặn các cuộc tấn công DDoS vào máy chủ gốc.
Hơn nữa, nếu một máy chủ trong mạng bị tấn công hoặc lưu lượng truy cập tăng vượt mức có thể xử lý, CDN sẽ định tuyến lại truy cập đến một máy chủ khác trong mạng.
Rủi ro tiềm ẩn của CDN trong lĩnh vực SEO
Lưu trữ hình ảnh
Mặc dù những lợi ích cho SEO của CDN là không thể phủ nhận, nhưng cũng có những nhược điểm tiềm ẩn.
Ví dụ: các nhân chuyên gia trong ngành SEO đã đặt câu hỏi về tác động của việc sử dụng CDN đối với thứ hạng hình ảnh.
Một bài báo năm 2019 của Barry Schwartz phân tích các thông tin trên Twitter giữa SEOer nổi tiếng Lily Ray và Nhà phân tích xu hướng quản trị trang web cấp cao của Google John Mueller. Khi Ray hỏi làm thế nào để giữ lại giá trị SEO cho hình ảnh được lưu trữ trên CDN, Mueller trả lời: “Bạn lưu trữ hình ảnh như thế nào không quan trọng, không có phần thưởng SEO nào nếu chúng trên cùng một máy chủ hoặc tên miền”.
Tuyên bố này của Mueller đã mâu thuẫn với quan điểm phổ biến trong ngành SEO rằng việc lưu trữ hình ảnh trên CDN – thậm chí là miền phụ của trang web – có thể làm ảnh hưởng đến thứ hạng của hình ảnh.
Quan điểm này được thể hiện trong bài viết phổ biến: Tốt hay xấu cho SEO? từ William Sen, Giám đốc điều hành và người sáng lập của Blue Media.
Trong bài viết, Sen cho rằng việc sử dụng CDN sẽ ảnh hưởng đến các nỗ lực tối ưu hóa hình ảnh, ngay cả khi bạn lưu trữ chúng trên một domain phụ:
“… Không bao giờ là chắc chắn khi nói rằng Google sẽ thừa nhận miền phụ của bạn là một phần của trang web. Đặc biệt là trong trường hợp này, vì chỉ có hình ảnh tồn tại dưới tên miền phụ đó, nên rất có thể Google sẽ chỉ xem tên miền phụ đó như một kho lưu trữ tệp và là một thực thể không liên quan đến trang web của bạn. Nó có thể có, hoặc có thể không. Google quyết định dựa trên thuật toán của riêng mình xem nó có coi miền phụ của bạn là một phần của trang web hay không – Google xử lý các miền phụ khác nhau với từng trang web. ”
Bài viết tiếp tục giải thích rằng Google sử dụng trình thu thập thông tin tập trung để thu thập thông tin và lập chỉ mục các trang web lớn, cung cấp cho chúng “sự đối xử đặc biệt” và phân tích chặt chẽ hơn so với trang web bình thường.
Cho dù bạn đồng ý với Sen hay tin tưởng vào Tweet của Mueller, điều tốt nhất bạn có thể làm để tận dụng SEO hình ảnh vẫn là thiết lập CDN của bạn với một domain phụ gắn liền với tên miền chính.
Ahrefs khuyên bạn nên thiết lập bản ghi CNAME để xóa tên miền phụ CDN của bạn.
Ahrefs cũng khuyên bạn nên khôi phục giá trị liên kết bằng cách sử dụng hình ảnh được lưu trữ trên CDN nhưng liên kết đến nguồn hình ảnh hoặc chính hình ảnh đó.
Bạn có thể sử dụng công cụ Site Explorer của Ahrefs để xác định các liên kết ngược trỏ đến hình ảnh được lưu trữ trên CDN. Sau đó liên hệ với nhà xuất bản và yêu cầu họ thay đổi URL hình ảnh trỏ về ảnh gốc trên site của bạn.
Nội dung trùng lặp
Một cạm bẫy khác cần tránh khi sử dụng CDN là khả năng trùng lặp nội dung. Tuy nhiên, nếu bạn thiết lập CDN của mình một cách chính xác, bạn sẽ không gặp bất kỳ vấn đề nào.
Brian Jackson từ KeyCDN cho biết bạn có thể giải quyết vấn đề này bằng cách sử dụng thiết lập tiêu đề chuẩn cho các trình thu thập thông tin của Google biết rằng nội dung trên CDN là bản sao của bản gốc.
Tối ưu trải nghiệm người dùng
Nếu bạn hiện không sử dụng CDN hoặc không hài lòng với nhà cung cấp hiện tại của mình, hãy cân nhắc chuyển đổi.
Mỗi khi Google tung ra bản cập nhật thuật toán cốt lõi mới, sẽ có “người chiến thắng” và “kẻ thua cuộc” trong số các trang web bị ảnh hưởng nhiều nhất.
Lưu lượng truy cập giảm đáng kể mà nhiều trang web phải đối mặt sau Cập nhật thuật toán Medic là một ví dụ về cách thuật toán có thể phá hủy các nỗ lực SEO trong một thời gian dài.
May mắn thay, Google đã quyết định thông báo cho quản trị viên web về bản cập. Google chưa bao giờ công khai chính xác các thuật toán tìm kiếm của họ.
Tuy nhiên, thông báo Cập nhật trải nghiệm người dùng, xác định Core Web Vitals và các tài nguyên được cung cấp để hỗ trợ chủ sở hữu web cho thấy mức độ minh bạch chưa từng có đối với Google.
Lần này, các chuyên gia SEO biết điều gì xảy ra và có thể chuẩn bị bằng cách cải thiện UX và đo lường nỗ lực của họ dựa trên các chỉ số hiệu suất được liệt kê trong nhóm Core Web Vitals.
Cải thiện tốc độ tải trang thông qua việc sử dụng CDN rất mạnh mẽ, trong số các chiến lược UX và SEO khác, CDN sẽ giúp trang web của bạn đáp ứng các tiêu chí của thuật toán mới.
Linux xuất hiện từ giữa những năm 1990 và hiện tại nó đã phổ biến trên toàn cầu với số lượng người dùng ấn tượng. Linux hiện hữu ở khắp mọi nơi: Nó có trong điện thoại, máy điều hòa nhiệt độ, trong xe ô tô, tủ lạnh, thiết bị Roku và tivi của bạn. Nó cũng vận hành hầu hết mạng Internet, tất cả 500 siêu máy tính hàng đầu thế giới và các sàn giao dịch chứng khoán của thế giới đều sử dụng linux.
Nhưng bên cạnh việc là nền tảng được lựa chọn để chạy máy tính để bàn, máy chủ và hệ thống nhúng trên toàn cầu, Linux là một trong những hệ điều hành đáng tin cậy, an toàn và vận hành với chi phí thấp.
Dưới đây là tất cả thông tin bạn cần để tìm hiểu về nền tảng Linux.
Giới thiệu về Linux
Cũng giống như Windows, iOS và Mac OS, Linux là một hệ điều hành. Trên thực tế, nó là một trong những nền tảng phổ biến nhất trên hành tinh, Android, được xây dựng dựa trên nhân Linux.
Hệ điều hành là phần mềm quản lý tất cả các tài nguyên phần cứng được liên kết với máy tính để bàn hoặc máy tính xách tay của bạn. Nói một cách đơn giản, hệ điều hành quản lý giao tiếp giữa phần mềm và phần cứng của bạn. Không có hệ điều hành (HĐH), các phần mềm ứng dụng sẽ không hoạt động.
Bootloader – Phần mềm quản lý quá trình khởi động máy tính của bạn. Đối với hầu hết người dùng, đây đơn giản là một màn hình khởi chạy trước khi khởi động vào hệ điều hành.
Kernel – Nhân là lõi của hệ thống và quản lý CPU, bộ nhớ và các thiết bị ngoại vi. Nhân thành phần sâu nhất của HĐH.
Init system – Đây là một hệ thống phụ khởi động giao diện người dùng và chịu trách nhiệm kiểm soát các chương trình chạy nền. Một trong những hệ thống init được sử dụng rộng rãi là systemd. Đây là hệ thống init quản lý quá trình khởi động, một khi quá trình khởi động ban đầu được bàn giao từ bootloader khởi động (tức là GRUB hoặc GRand Unified Bootloader).
Daemons – Đây là các dịch vụ nền (in, âm thanh, lập lịch, v.v.) khởi động sau khi bạn đăng nhập vào máy tính chạy linux.
Graphical server – Đây là hệ thống phụ hiển thị đồ họa trên màn hình của bạn. Nó thường được gọi là máy chủ X hoặc chỉ X.
Môi trường desktop – Đây là phần mà người dùng thực sự tương tác. Có nhiều môi trường máy tính để bàn để lựa chọn (Gnome, Cinnamon, Mate, Pantheon, Enlightenment, KDE, Xfce, v.v.). Mỗi môi trường máy tính để bàn bao gồm các ứng dụng tích hợp (như trình quản lý tệp, công cụ cấu hình, trình duyệt web và trò chơi).
Ứng dụng – Môi trường máy tính để bàn không cung cấp đầy đủ các ứng dụng. Cũng giống như Windows và macOS, Linux cung cấp hàng ngàn các loại phần mềm chất lượng cao có thể dễ dàng tìm thấy và cài đặt. Hầu hết các bản phân phối Linux hiện nay bao gồm các công cụ giống như App Store để tập trung và đơn giản hóa việc cài đặt ứng dụng. Ví dụ: Ubuntu Linux có Trung tâm phần mềm Ubuntu cho phép bạn nhanh chóng tìm kiếm trong số hàng ngàn ứng dụng và cài đặt chúng từ một vị trí tập trung.
Tại sao nên sử dụng Linux?
Đây là một câu hỏi mà hầu hết mọi người hỏi. Tại sao phải sử dụng một môi trường điện toán hoàn toàn khác, khi hệ điều hành đi kèm với hầu hết máy tính để bàn, máy tính xách tay và máy chủ hoạt động tốt?
Để trả lời câu hỏi đó, tôi sẽ đặt ra một câu hỏi khác. Hệ điều hành bạn đang sử dụng có thực sự hoạt động tốt không? Hoặc, bạn có phải vật lộn với các vấn đề như virus, phần mềm độc hại, chậm chạp, gặp sự cố, sửa chữa tốn kém và phí mua bản quyền ?
Nếu bạn không vừa lòng với những điều trên, Linux có thể là nền tảng hoàn hảo cho bạn. Linux đã phát triển thành một trong những hệ sinh thái máy tính đáng tin cậy. Kết hợp độ tin cậy đó với chi phí đầu vào bằng 0 và bạn có giải pháp tốt cho nền tảng máy tính để bàn.
Điều đó đúng, không có chi phí bản quyền. Bạn có thể cài đặt Linux trên bao nhiêu máy tính tùy thích mà không phải trả một xu nào cho việc cấp phép phần mềm hoặc máy chủ.
Chúng ta hãy xem chi phí của một máy chủ Linux so với Windows Server 2022. Giá của phiên bản Windows Server 2022 Standard hiện nay khoảng hơn 1.000 USD (được mua trực tiếp từ Microsoft). Đó là chưa bao gồm Giấy phép truy cập khách hàng (CAL) và giấy phép cho các phần mềm khác mà bạn có thể cần chạy (chẳng hạn như cơ sở dữ liệu, máy chủ web, máy chủ thư, v.v.).
Ví dụ: một người dùng CAL, cho Windows Server 2022, có giá $ 152. Nếu bạn cần thêm 10 người dùng, đó là thêm $ 1520 đô la để cấp phép phần mềm máy chủ. Với máy chủ Linux, tất cả đều miễn phí. Ngoài ra việc cài đặt đầy đủ cho một máy chủ web (bao gồm máy chủ cơ sở dữ liệu), chỉ cần một vài cú nhấp chuột hoặc dòng lệnh.
Nếu chi phí bằng 0 chưa đủ để giúp bạn suy nghĩ? Bạn nghĩ thế nào về việc có một hệ điều hành sẽ hoạt động, gần như không gặp sự cố, miễn là bạn sử dụng nó thường xuyên ?
Tôi đã sử dụng Linux được gần 20 năm (cả nền tảng máy tính để bàn và máy chủ) và không gặp vấn đề gì với ransomware, phần mềm độc hại hoặc vi-rút. Linux nói chung ít bị tổn thương hơn trước các cuộc tấn công như vậy. Đối với việc khởi động lại máy chủ, chúng chỉ cần kernel được cập nhật.
Tự do nghiên cứu cách chương trình hoạt động, và thay đổi nó thành những gì bạn muốn.
Tự do phân phối lại các bản sao để bạn có thể cho, tặng bạn bè hoặc hàng xóm của mình.
Tự do phân phối các phiên bản do bạn sửa đổi cho người khác.
Những tiêu chí này rất quan trọng để hiểu cộng đồng làm việc cùng nhau để tạo ra nền tảng Linux. Không còn nghi ngờ gì nữa, Linux là một hệ điều hành tự do sử dụng và tự do lựa chọn.
Những ai đang phân phối Linux
Linux có một số phiên bản khác nhau để phù hợp với bất kỳ người dùng nào. Từ những người dùng mới đến những người dùng khó tính, bạn sẽ tìm thấy một phiên bản của Linux phù hợp với nhu cầu của bạn.
Các phiên bản này được gọi là bản phân phối (hoặc, ở dạng ngắn, phân phối trực tiếp). Gần như mọi bản phân phối Linux đều có thể được tải xuống miễn phí, ghi vào đĩa (hoặc ổ USB) và cài đặt (trên bao nhiêu máy tùy thích).
Các bản phân phối Linux phổ biến bao gồm:
LINUX MINT
MANJARO
DEBIAN
UBUNTU
ANTERGOS
SOLUS
FEDORA
ELEMENTARY OS
OPENSUSE
Mỗi bản phân phối có một giao diện khác nhau trên máy tính để bàn. Một số cung cấp các giao diện người dùng rất hiện đại (chẳng hạn như Pantheon của hệ điều hành tiểu học), trong khi một số khác lại gắn bó với môi trường máy tính để bàn truyền thống hơn (openSUSE sử dụng KDE).
Đối với mảng máy chủ, bạn có thể lựa chọn:
Red Hat Enterprise Linux
Ubuntu Server
Centos
SUSE Enterprise Linux
Một số bản phân phối máy chủ ở trên là miễn phí (như Ubuntu Server và CentOS) và một số phải trả phí (như Red Hat Enterprise Linux và SUSE Enterprise Linux). Những bản trả phí cũng bao gồm dịch vụ hỗ trợ.
Bản linux nào phù hợp với bạn ?
Phiên bản nào bạn sử dụng sẽ phụ thuộc vào ba câu hỏi đơn giản:
Bạn có kỹ năng sử dụng máy tính như thế nào?
Bạn thích giao diện máy tính để bàn hiện đại hay tiêu chuẩn?
Máy chủ hay máy tính để bàn?
Nếu các kỹ năng máy tính của bạn khá cơ bản, bạn sẽ muốn gắn bó với một bản phân phối thân thiện với người mới như Linux Mint, Ubuntu. Hệ điều hành cơ bản hoặc Deepin. Nếu kỹ năng của bạn ở mức trên trung bình, bạn có thể lựa chọn một bản phân phối như Debian hoặc Fedora.
Tuy nhiên, nếu bạn đã khá thành thạo về quản trị hệ thống và máy tính, hãy sử dụng một bản phân phối như Gentoo. Nếu bạn thực sự muốn thử thách, bạn có thể xây dựng bản phân phối Linux của riêng mình, với sự trợ giúp của Linux From Scratch.
Nếu bạn đang tìm kiếm một bản phân phối dành cho máy chủ, bạn cũng có thể lựa chọn xem bạn có cần giao diện đồ họa hay không, nếu bạn muốn thao tác qua dòng lệnh. Máy chủ Ubuntu không cài đặt giao diện GUI.
Điều này có lợi thế là máy chủ của bạn sẽ không tốn tài nguyên cho việc tải đồ họa nhưng bạn sẽ cần nắm vững về dòng lệnh Linux. Tuy nhiên, bạn có thể cài đặt gói GUI trên máy chủ Ubuntu bằng một lệnh duy nhất như sudo apt-get install ub Ubuntu-desktop.
Nếu bạn quan tâm đến các tính năng mở rộng. Bạn muốn một bản phân phối dành cho máy chủ và mọi thứ bạn cần cho máy chủ của mình không? Nếu vậy, CentOS có thể là lựa chọn tốt. Hoặc, bạn muốn một bản phân phối máy tính để bàn và mở rộng thêm các phần khi bạn cần chúng không? Nếu vậy, Debian hoặc Ubuntu Linux có thể sẽ phù hợp với bạn.
Cài đặt Linux
Đối với nhiều người, suy nghĩ cài đặt một hệ điều hành có vẻ như là một công việc khó khăn. Linux cung cấp một trong những cách cài đặt khá đơn giản và dễ thực hiện.
Trong thực tế, hầu hết các phiên bản Linux cung cấp bản phân phối Live? có nghĩa là bạn có thể chạy hệ điều hành từ ổ đĩa flash CD/DVD hoặc USB mà không cần cài đặt bất kỳ thứ gì lên ổ cứng của bạn. Bạn vẫn có thể sử dụng thử đầy đủ các chức năng của nó. Khi bạn đã dùng thử và quyết định muốn sử dụng nó, bạn chỉ cần nhấp đúp vào biểu tượng Cài đặt và xem qua trình hướng dẫn cài đặt đơn giản.
Thông thường, các trình hướng dẫn cài đặt sẽ hướng dẫn bạn quy trình với các bước chi tiết và đơn giản nhất:
Chuẩn bị: Đảm bảo máy của bạn đáp ứng các yêu cầu để cài đặt. Nó cũng có thể hỏi bạn nếu bạn muốn cài đặt phần mềm của bên thứ ba (chẳng hạn như plugin để phát lại MP3, codec video và hơn thế nữa).
Thiết lập không dây (nếu cần): Nếu bạn đang sử dụng máy tính xách tay (hoặc máy có kết nối không dây), bạn sẽ cần kết nối với mạng để tải xuống phần mềm và cập nhật của bên thứ ba.
Phân bổ ổ cứng : Bước này cho phép bạn chọn cách bạn muốn cài đặt hệ điều hành. Bạn sẽ cài đặt Linux cùng với một hệ điều hành khác (được gọi là hệ thống khởi động kép), hay chỉ một hệ điều hành duy nhất, nâng cấp phiên bản Linux hiện có hoặc cài đặt từ phiên bản Linux hiện có.
Địa điểm: Chọn vị trí bạn muốn lưu hệ điều hành.
Bố trí bàn phím: Chọn bàn phím theo ngôn ngữ của bạn.
Thiết lập người dùng: Thiết lập tên người dùng và mật khẩu của bạn.
Khi hệ thống đã hoàn tất cài đặt, hãy khởi động lại và bạn đã sẵn sàng để sử dụng. Để có hướng dẫn sâu hơn về cài đặt Linux, hãy xem qua Cách cài đặt và dùng thử Linux hoặc tải xuống hướng dẫn PDF của Linux Foundation để cài đặt Linux.
Cài đặt phần mềm ứng dụng trên Linux
Giống như bản thân hệ điều hành các ứng dụng rất dễ cài đặt. Hầu hết các bản phân phối Linux hiện đại bao gồm một cửa hàng ứng dụng. Đây là một vị trí tập trung nơi phần mềm có thể được tìm kiếm và cài đặt. Ubuntu Linux (và nhiều bản phân phối khác) dựa trên Phần mềm Gnome, Hệ điều hành cơ bản có AppCenter, Deepin có Trung tâm phần mềm Deepin, openSUSE có AppStore của họ và một số bản phân phối dựa trên Synaptic.
Bất kể tên của chúng, mỗi công cụ này đều có chức năng tương tự? một nơi trung tâm để tìm kiếm và cài đặt phần mềm ứng dụng cho Linux. Tất nhiên, những phần mềm này phụ thuộc vào các GUI mà bạn sử dụng. Đối với các máy chủ không có GUI, bạn sẽ phải sử dụng giao diện dòng lệnh để cài đặt.
Chúng ta hãy xem xét hai công cụ khác nhau để minh họa việc cài đặt dòng lệnh có thể dễ dàng đến mức nào. Các ví dụ của chúng tôi dành cho các bản phân phối dựa trên Debian và các bản phân phối dựa trên Fedora.
Các bản dựa trên Debian sẽ sử dụng công cụ apt-get để cài đặt phần mềm và các bản dựa trên Fedora sẽ yêu cầu sử dụng công cụ yum. Cả hai hoạt động rất giống nhau. Chúng tôi sẽ minh họa bằng cách sử dụng lệnh apt-get. Giả sử bạn muốn cài đặt công cụ wget (đây là một công cụ tiện dụng được sử dụng để tải xuống các tệp từ dòng lệnh). Để cài đặt ứng dụng này bằng apt-get, lệnh sẽ như thế này:
sudo apt-get install wget?
Lệnh sudo được thêm vào vì bạn cần đặc quyền người dùng cao nhất để cài đặt phần mềm. Để cài đặt phần mềm tương tự trên phiên bản dựa trên Fedora, trước tiên bạn sẽ cần tiền tố su cho người dùng cao nhất (thực hiện lệnh su và nhập mật khẩu gốc) và thực hiện lệnh này:
yum install wget
Đó là tất cả những gì cần để cài đặt phần mềm trên máy Linux. Nó gần như không thử thách như bạn nghĩ. Vẫn còn nghi ngờ? Hình dung cách cài đặt máy chủ LAMP ? Với một lệnh duy nhất.
Bạn có thể cài đặt một máy chủ LAMP (Linux Apache MySQL PHP) hoàn chỉnh trên máy chủ hoặc phiên bản dành cho máy tính để bàn. Nó thực sự là dễ dàng.
Lời kết
Nếu bạn đang tìm kiếm một trong những nền tảng tin cậy, an toàn cho cả máy tính để bàn và máy chủ, thì một trong nhiều bản phân phối Linux có thể là lựa chọn tốt. Với Linux, bạn có thể đảm bảo máy tính để bàn của bạn hoặc máy chủ của bạn hoạt động và yêu cầu hỗ trợ tối thiểu.
Ping là công cụ được phát triển lần đầu tiên bởi Michael Muss vào năm 1983, sử dụng để xác minh xem một gói dữ liệu mạng có khả năng được chuyển đến một địa chỉ đích mà không bị lỗi hay không. Công cụ ping thường được sử dụng để kiểm tra lỗi mạng.
Hình ảnh trên là một ví dụ về những gì xảy ra khi ping được gửi. Trước tiên, người dùng sẽ bắt đầu bằng cách sử dụng lệnh ping để ping máy chủ của thietbiketnoi.com. Tiếp theo, yêu cầu được gửi qua mạng và bộ định tuyến đến máy tính đích có địa chỉ IP 104.31.77.31 trong ví dụ này.
Sau khi nhận được thành công, máy tính đích trả lời ping với phản hồi pong. Thời gian giữa hai lần truyền này được tính toán để xác định tốc độ mạng hay độ trễ của mạng từ máy bạn đang sử dụng đến một máy chủ có IP đích.
Mục đích của Ping
Ping là tín hiệu được gửi đến máy chủ yêu cầu phản hồi. Nó phục vụ hai mục đích chính:
1) để kiểm tra xem máy chủ có sẵn sàng không
2) để đo thời gian phản hồi mất bao lâu.
Yêu cầu ping có thể được thực hiện bằng lệnh ping, đây là lệnh tiêu chuẩn trong hầu hết các giao diện dòng lệnh. Trong windows 10 bạn có thể mở giao diện dòng lệnh bằng cách nhấn phím Start sau đó gõ cmd và chọn kết quả đầu tiên (chương trình Command Prompt).
Một số tiện ích mạng cũng cung cấp tính năng ping, cho phép bạn ping máy chủ bằng cách nhập địa chỉ IP hoặc tên miền. Hầu hết các chương trình ping gửi nhiều gói tin và cung cấp thời gian phản hồi tính bằng ms (mili giây) ở cuối dòng lệnh.
Để thực hiện lệnh ping từ giao diện dòng lệnh, chỉ cần nhập “ping” theo sau là địa chỉ IP hoặc tên miền của máy chủ bạn muốn ping (ví dụ: ping 123.123.123.123 ).
Bản thân ping gửi đi một gói dữ liệu duy nhất (thường là 32 hoặc 56 byte ) có chứa yêu cầu “echo”. Các máy chủ, nếu nhận được sẽ trả lời với một gói phản hồi ngược lại. Thời gian ping, được đo bằng mili giây, là thời gian khứ hồi để gói đến được máy đích và trả về cho người gửi.
Thời gian phản hồi Ping
Thời gian phản hồi Ping rất quan trọng vì chúng xác định tốc độ mạng Internet . Ví dụ: khi bạn truy cập trang web, thời gian ping xác định khoảng thời gian máy chủ cần để truyền mã HTML và các tài nguyên liên quan đến máy tính của bạn. Ping đặc biệt quan trọng trong chơi game trực tuyến, nơi các sự kiện xảy ra trong thời gian thực .
Mặc dù tốc độ kết nối Internet có thể ảnh hưởng đến ping, thời gian phản hồi ping thường liên quan trực tiếp đến khoảng cách vật lý giữa các hệ thống nguồn và đích. Do đó, kết nối nhanh giữa VN và US có thể sẽ có thời gian phản hồi ping lâu hơn kết nối chậm giữa HN và HCM. Sự tắc nghẽn mạng có thể làm chậm ping, đó là lý do tại sao ping thường được sử dụng để xác định sự cố .
Thời gian phản hồi Ping bao nhiêu là ổn định ?
<30 ms – ping tuyệt vời: hầu như không được chú ý; lý tưởng để chơi game online
30 đến 50 ms – ping trung bình: vẫn ổn để chơi game trực tuyến
50 đến 100 ms – thời gian ping hơi chậm: không quá đáng chú ý để duyệt web nhưng có thể ảnh hưởng đến chơi game
100 ms đến 500 ms – ping chậm: ảnh hưởng tối thiểu đến trình duyệt web, nhưng sẽ tạo ra độ trễ đáng chú ý trong chơi game online
> 500 ms: ping nửa giây trở lên sẽ tạo độ trễ đáng chú ý cho người sử dụng bất kể bạn đang làm gì; thường xảy ra khi nguồn và đích ở các khu vực khác nhau trên thế giới
Nếu ping không đến được máy đích do lỗi hoặc do nó bị chặn, máy tính gửi sẽ trả lại lỗi hết thời gian yêu cầu (request time out) hoặc hiển thị không có gói tin nhận được (lost package).
Kết quả trả về của lệnh ping cũng có thể được lưu vào một tệp thay vì hiển thị trên cửa sổ dòng lệnh.
Ví dụ chúng ta có thể sử dụng lệnh sau:
ping thietbiketnoi.com>ping.txt
Lệnh trên sẽ lưu kết quả của lệnh ping vào một tệp có tên ping.txt. Tập tin sẽ được tạo trong thư mục nơi lệnh ping được thực thi. Trong ví dụ đầu tiên ở trên, thư mục là ‘c:\cgi-bin\update’ và đây là nơi tệp ping.txt sẽ được tạo. Để thay đổi thư mục nơi tệp đầu ra được tạo, chúng ta có thể nhập một thư mục khác trong chính lệnh ping, như trong ví dụ dưới đây.
ping thietbiketnoi.com >c:\output\ping.txt
Lệnh ví dụ trên tạo tệp ping.txt trong thư mục ‘c:\output’, thay vì trong thư mục ‘c:\cgi-bin\update’.
Hoặc bạn cũng có thể thêm tham số ‘-t‘ vào sau lệnh ping để máy tính liên tục gửi lệnh ping đến máy đích cho đến khi bạn nhấn tổ hợp phím ‘Ctrl + C’ hoặc đóng cửa sổ dòng lệnh.
Gateway hiểu một cách đơn giản thì nó là cửa chính của một mạng khi giao tiếp với mạng khác (tất cả lưu lượng truy cập vào và ra đều phải đi qua nó), nó là một phần cứng mạng sử dụng trong viễn thông cho phép dòng dữ liệu chảy từ một mạng này sang mạng khác. Cổng Gateway khác với bộ định tuyến hoặc bộ chuyển mạch ở chỗ chúng giao tiếp bằng nhiều giao thức và có thể hoạt động ở bất kỳ lớp nào trong bảy lớp của mô hình kết nối (OSI).
Thuật ngữ cổng Gateway cũng có thể sử dụng để chỉ một máy tính hoặc chương trình máy tính được cấu hình để thực hiện các nhiệm vụ trên.
Cổng mạng Gateway là gì ?
Cổng mạng gateway cung cấp khả năng tương tác giữa các mạng có nhiều thiết bị khác nhau, chẳng hạn như trình dịch giao thức, bộ chuyển đổi, bộ cách ly lỗi hoặc bộ dịch tín hiệu. Cổng mạng thiết lập các thủ tục được chuẩn hóa giữa các mạng bằng cách sử dụng cổng Gateway.
Cổng mạng còn được gọi là cổng dịch giao thức hoặc cổng ánh xạ, có thể thực hiện chuyển đổi giao thức để kết nối với các công nghệ giao thức mạng khác nhau. Ví dụ: cổng mạng kết nối mạng nội bộ văn phòng hoặc nhà (LAN) với Internet (WAN). Nếu người dùng văn phòng hoặc máy tính ở nhà muốn tải một trang web, ít nhất hai cổng mạng được sử dụng để truy cập từ văn phòng hoặc mạng gia đình vào Internet và một cổng để truy cập từ Internet tới máy tính phục vụ trang web (server).
Trong các mạng doanh nghiệp, cổng mạng Gateway thường hoạt động như một máy chủ proxy và tường lửa.
Trên Microsoft Windows, tính năng Chia sẻ kết nối Internet cho phép máy tính hoạt động như một cổng kết nối bằng cách cung cấp kết nối giữa Internet và mạng nội bộ.
Cổng IP Gateway là gì
Trên mạng Internet (IP), các gói IP có đích bên ngoài lớp mạng con đã thiết lập sẽ được gửi đến cổng mạng IP Gateway. Ví dụ: nếu một mạng riêng có địa chỉ IPv4 cơ sở là 192.168.1.1 và có lớp mạng con là 255.255.255.0, thì mọi dữ liệu được gửi đến địa chỉ IP bên ngoài 192.168.1.0 sẽ được gửi đến cổng mạng IP Gateway (default gateway). Mạng IPv6 hoạt động theo cách tương tự. Trong khi chuyển tiếp gói IP sang mạng khác, cổng (IP Gateway)có thể thực hiện dịch địa chỉ mạng .
Cổng Internet-to-orbit gateway
Cổng Internet-I2O kết nối các máy tính hoặc mạng Internet với các hệ thống máy tính quay quanh Trái đất, chẳng hạn như vệ tinh hoặc tàu vũ trụ có người lái. Project HERMES, được điều hành bởi Cơ quan Vũ trụ Dân sự Ecuadorian (Ecuadorian Civilian Space Agency) triển khai loại cổng này lần đầu tiên vào ngày 6 tháng 6 năm 2009. Project HERMES có phạm vi phủ sóng tối đa 22.000 km và có thể truyền giọng nói và dữ liệu. Các mạng giáo dục toàn cầu cho hoạt động vệ tinh (GENSO) là một loại I2O gateway.
Một cổng lưu trữ đám mây là một thiết bị mạng hoặc máy chủ cung câp dịch vụ (API) lưu trữ đám mây như SOAP hoặc REST thông qua giao thức lưu trữ khối dựa trên iSCSI , Fibre Channel hoặc giao diện dựa trên file như NFS hoặc CIFS. Cổng lưu trữ đám mây cho phép các công ty tích hợp lưu trữ đám mây riêng vào các ứng dụng mà không cần chuyển các ứng dụng sang dịch vụ lưu trữ đám mây công cộng, do đó đơn giản hóa việc bảo mật dữ liệu.
Cổng IoT – IoT gateway là gì ?
Nền tảng Internet kết nối vạn vật (IOT) Gateway cung cấp cầu nối giữa các thiết bị IoT, các đám mây (cluod computing) và thiết bị sử dụng như điện thoại thông minh. Cổng IoT cung cấp một liên kết giao tiếp giữa các thiết bị và dịch vụ đám mây, nó cũng có thể cung cấp các dịch vụ ngoại tuyến và kiểm soát thời gian thực của các thiết bị IoT.
Để đạt được khả năng tương tác bền vững trong hệ sinh thái Internet vạn vật, hai kiến trúc chủ đạo cho các giao thức trao đổi dữ liệu được sử dụng: dựa trên Bus ( DDS , REST , XMPP ) và dựa trên broker-based ( AMQP , CoAP , MQTT , JMI ).
Các giao thức hỗ trợ trao đổi thông tin giữa các miền có thể tương tác được phân loại là trung tâm thông báo (AMQP, MQTT, JMS , REST) hoặc trung tâm dữ liệu (DDS, CoAP, XMPP). Các thiết bị được kết nối với nhau giao tiếp bằng các giao thức đơn giản không yêu cầu tài nguyên CPU lớn. C, Java, Python và một số ngôn ngữ kịch bản là các lựa chọn ưa thích của các nhà phát triển ứng dụng IoT.
Các nút IoT sử dụng các cổng IoT riêng biệt để xử lý chuyển đổi giao thức, lưu trữ cơ sở dữ liệu hoặc ra quyết định (ví dụ: xử lý va chạm), để bổ sung cho tài nguyên hạn chế của thiết bị. Một số lượng lớn các nhà sản xuất tham gia vào thiết kế và sản xuất cổng IoT Gateway. Các công ty như vậy bao gồm CISCO, Harman International Industries, Supermicro, Advantech, ADLINK, Yeastar and NXP.
Hệ điều hành tiếng anh là Operating system (OS) là phần mềm hệ thống quản lý phần cứng máy tính, tài nguyên hệ thống và cung cấp dịch vụ phổ biến cho các chương trình ứng dụng.
Vì sao cần hệ điều hành ?
Hệ điều hành thực hiện nhiệm vụ chia sẻ các tài nguyên hệ thống để sử dụng hiệu quả và phân bổ tài nguyên của bộ xử lý, lưu trữ hàng loạt, in ấn và các tài nguyên khác.
Cái gì điều khiển máy tính ?
Đối với các phần cứng như đầu vào và đầu ra và cấp phát bộ nhớ, hệ điều hành đóng vai trò trung gian giữa các chương trình và phần cứng máy tính, mặc dù mã nguồn ứng dụng thường được phần cứng thực thi trực tiếp nhưng hệ điều hành có vai trò điều phối và cấp phát các tài nguyên phần cứng. Hệ điều hành được thấy trên nhiều thiết bị không chỉ máy tính, từ điện thoại di động, máy chơi video game đến máy chủ web và các siêu máy tính.
Hệ điều hành máy tính để bàn và laptop (máy tính cá nhân – PC) chiếm ưu thế là Microsoft Windows với thị phần khoảng 82,74%. macOS của Apple Inc ở vị trí thứ hai (13,23%) và các hệ điều hành họ Linux được xếp chung ở vị trí thứ ba (1,57%).
Trong lĩnh vực di động (bao gồm cả điện thoại thông minh và máy tính bảng ), thị phần của Google Android chiếm tới 70% trong năm 2017. Theo dữ liệu quý 3 năm 2018, thị phần của Android trên điện thoại thông minh chiếm ưu thế với 87,5% và tăng trưởng 10,3% mỗi năm, tiếp theo là Apple’s iOS với 12,1% nhưng thị phần có xu hướng giảm 5,2% mỗi năm, trong khi các hệ điều hành khác chỉ còn 0,3%.
Các hệ điều hành họ Linux chiếm ưu thế trong các lĩnh vực máy chủ và siêu máy tính, ngoài ra còn các nhánh chuyên biệt khác của hệ điều hành này, như hệ thống nhúng và thực thi thời gian thực, được sử dụng cho nhiều ứng dụng.
Phân loại hệ điều hành
Đơn nhiệm vụ và đa nhiệm
Một hệ điều hành đơn nhiệm chỉ có thể chạy một chương trình tại một thời điểm, trong khi hệ điều hành đa nhiệm cho phép nhiều chương trình chạy đồng thời. Điều này được hệ điều hành thực hiện bằng cách chia sẻ thời gian, trong đó thời gian sử dụng bộ xử lý được chia thành nhiều luồng.
Các luồng này được đan xen lặp lại và được quản lý bởi một hệ thống con có nhiệm vụ lập lịch tác vụ của hệ điều hành. Trong đa nhiệm ưu tiên, hệ điều hành sẽ chia thời gian sử dụng CPU và dành một khoảng nhất định cho mỗi chương trình.
Các hệ điều hành giống Unix, như Solaris và Linux, AmigaOS Hỗ trợ đa nhiệm ưu tiên. Đa nhiệm hợp tác, CPU được chia thành các luồng để phân bổ thời gian sử dụng cho các luồng. Các phiên bản 16 bit của Microsoft Windows đã sử dụng đa nhiệm hợp tác. Các phiên bản 32 bit của cả Windows NT và Win9x đều sử dụng đa nhiệm ưu tiên.
Người dùng đơn và đa người dùng
Hệ điều hành một người dùng không có chức năng phân biệt người dùng về mặt sử dụng tài nguyên phần cứng (định nghĩa này khác với nhiều acc đăng nhập trên một máy), nhưng có thể cho phép nhiều chương trình chạy song song.
Hệ điều hành nhiều người dùng mở rộng khái niệm cơ bản về đa tác vụ với các phương thức xác định các tiến trình và tài nguyên, như không gian đĩa, cho nhiều người dùng và hệ thống cho phép nhiều người dùng tương tác với hệ thống cùng một lúc (ví dụ: nhiều người dùng trong cùng một mạng LAN sử dụng chung 1 ổ cứng và hệ điều hành).
Hệ điều hành phân tán là gì ?
Một hệ điều hành phân tán quản lý một nhóm các máy tính riêng biệt và kết hợp chúng như là một máy tính duy nhất. Sự phát triển của các máy tính nối mạng có thể được liên kết và giao tiếp với nhau đã tạo ra điện toán phân tán (Cloud computing). Tính toán phân tán được thực hiện trên nhiều máy. Khi các máy tính trong một nhóm hợp tác giải quyết một vấn đề, chúng tạo thành một hệ thống phân tán.
Templated
Trong một hệ điều hành, bối cảnh điện toán phân tán và điện toán đám mây, templating đề cập đến việc tạo một hình ảnh máy ảo duy nhất như một hệ điều hành khách, sau đó lưu nó làm công cụ cho nhiều máy ảo đang chạy. Kỹ thuật này được sử dụng cả trong ảo hóa, quản lý điện toán đám mây và phổ biến trong các trung tâm máy chủ lớn.
Hệ thống nhúng là gì ?
Hệ điều hành nhúng được thiết kế để sử dụng trong các hệ thống máy tính nhúng. Chúng được thiết kế để hoạt động trên các máy nhỏ như máy PDA với ít tài nguyên hơn. Nó có thể hoạt động với một số lượng tài nguyên hạn chế. Chúng được thiết kế rất nhỏ gọn và cực kỳ hiệu quả. Windows CE và Minix 3 là một số ví dụ về hệ điều hành nhúng.
Các thành phần của hệ điều hành
Nhiệm vụ chính của hệ điều hành
Các thành phần của một hệ điều hành có nhiệm vụ điều khiển các phần cứng của máy tính hoạt động cùng nhau. Tất cả phần mềm người dùng cần phải đi qua hệ điều hành để sử dụng bất kỳ phần cứng nào, dù đơn giản như chuột hay bàn phím hay phức tạp như Internet.
Lõi Kernel hệ điều hành là gì ?
Lõi hệ điều hành kết nối phần mềm ứng dụng với phần cứng của máy tính.
Với sự trợ giúp của phần mềm điều khiển và trình điều khiển thiết bị (driver), kernel (lõi) cung cấp mức độ kiểm soát cơ bản nhất đối với tất cả các thiết bị phần cứng của máy tính. Nó quản lý truy cập bộ nhớ cho các chương trình trên RAM, nó xác định chương trình nào có quyền truy cập vào tài nguyên phần cứng nào, nó thiết lập hoặc đặt lại trạng thái hoạt động của CPU để hoạt động tối ưu mọi lúc và tổ chức dữ liệu để lưu trữ tập tin trên các phương tiện như đĩa, băng, bộ nhớ flash, v.v.
Thực thi chương trình
Hệ điều hành cung cấp giao diện giữa chương trình ứng dụng và phần cứng máy tính, để chương trình ứng dụng chỉ có thể tương tác với phần cứng bằng cách tuân theo các quy tắc và quy trình được lập trình của hệ điều hành.
Hệ điều hành cũng là một tập hợp các dịch vụ giúp đơn giản hóa việc phát triển và thực thi các chương trình ứng dụng. Thực thi một chương trình ứng dụng liên quan đến việc tạo ra một quy trình bởi nhân hệ điều hành cấp phát không gian bộ nhớ và các tài nguyên khác, thiết lập mức độ ưu tiên cho chương trình trong các hệ thống đa tác vụ, tải mã nhị phân chương trình vào bộ nhớ và bắt đầu thực thi chương trình ứng dụng sau đó tương tác với người dùng và các thiết bị phần cứng.
Ngắt của hệ điều hành là gì ?
Ngắt là trung tâm của hệ điều hành, chúng cung cấp một cách hiệu quả để hệ điều hành tương tác và phản ứng với môi trường. (Phương án thay thế – hệ điều hành “xem” các nguồn đầu vào khác nhau là các sự kiện yêu cầu hành động – có thể được tìm thấy trong các hệ thống cũ có ngăn xếp rất nhỏ 50 hoặc 60 byte nhưng không thông dụng trong các hệ thống hiện đại có ngăn xếp lớn).
Lập trình dựa trên ngắt được hỗ trợ trực tiếp bởi hầu hết các CPU hiện đại. Các ngắt cung cấp cho máy tính một cách tự động lưu bối cảnh đăng ký cục bộ và chạy mã cụ thể để đáp ứng với các sự kiện. Ngay cả các máy tính rất cơ bản cũng hỗ trợ ngắt phần cứng và cho phép lập trình viên chỉ định mã có thể chạy khi sự kiện đó diễn ra.
Khi nhận được một ngắt, phần cứng của máy tính sẽ tự động tạm dừng bất kỳ chương trình nào đang chạy, lưu trạng thái của nó và chạy mã máy tính được liên kết trước đó với ngắt; điều này tương tự với việc đặt dấu trang vào một cuốn sách để đáp lại một cuộc gọi điện thoại. Trong các hệ điều hành hiện đại, các ngắt được xử lý bởi kernel của hệ điều hành. Ngắt có thể đến từ phần cứng của máy tính hoặc chương trình đang chạy.
Khi một thiết bị phần cứng kích hoạt ngắt, nhân của hệ điều hành quyết định cách xử lý sự kiện này, thường bằng cách chạy một số mã xử lý. Lượng mã được chạy tùy thuộc vào mức độ ưu tiên của ngắt (ví dụ: một người thường phản ứng với báo động phát hiện khói trước khi trả lời điện thoại).
Việc xử lý các ngắt phần cứng là một nhiệm vụ thường được giao cho trình điều khiển thiết bị, có thể là một phần của lõi kernel hệ điều hành, một phần của chương trình khác hoặc cả hai. Trình điều khiển thiết bị sau đó có thể chuyển tiếp thông tin đến một chương trình đang chạy bằng nhiều cách khác nhau.
Một chương trình cũng có thể kích hoạt một ngắt cho hệ điều hành. Ví dụ, nếu một chương trình muốn truy cập phần cứng, nó có thể làm gián đoạn kernel của hệ điều hành, điều này khiến cho điều khiển được chuyển trở lại kernel. Nhân sau đó xử lý yêu cầu. Nếu một chương trình muốn có thêm tài nguyên (hoặc muốn loại bỏ tài nguyên) như bộ nhớ, thì nó sẽ kích hoạt ngắt để báo cho kernel.
Chế độ chạy của hệ điều hành
Các thiết lập đặc quyền cho kiến trúc vi xử lý x86 có sẵn trong chế độ bảo vệ. Hệ điều hành xác định quá trình nào chạy trong mỗi chế độ.
Bộ vi xử lý hiện đại (CPU hoặc MPU) hỗ trợ nhiều chế độ hoạt động. CPU có khả năng cung cấp ít nhất hai chế độ: chế độ người dùng và chế độ giám sát (Supervisor). Khi hoạt động ở chế độ giám sát cho phép truy cập không hạn chế vào tất cả các tài nguyên máy, bao gồm tất cả các hướng dẫn MPU.
Hoạt động ở chế độ người dùng đặt giới hạn cho việc sử dụng lệnh và thường không cho phép truy cập trực tiếp vào tài nguyên máy. CPU cũng có thể có các chế độ khác tương tự chế độ người dùng, chẳng hạn như chế độ ảo để mô phỏng các loại bộ xử lý cũ hơn, như bộ xử lý 16 bit trên bộ xử lý 32 bit hoặc bộ xử lý 32 bit trên bộ xử lý 64 bit.
Khi bật nguồn hoặc reset, hệ thống bắt đầu ở chế độ giám sát. Khi một kernel hệ điều hành đã được tải và bắt đầu, ranh giới giữa chế độ người dùng và chế độ giám sát (còn được gọi là chế độ kernel) có thể được thiết lập.
Chế độ giám sát được sử dụng bởi kernel cho các tác vụ cấp thấp cần truy cập không hạn chế vào phần cứng, chẳng hạn như kiểm soát cách truy cập bộ nhớ và giao tiếp với các thiết bị như ổ đĩa và thiết bị hiển thị video.
Chế độ người dùng, ngược lại, được sử dụng cho hầu hết mọi thứ khác. Các chương trình ứng dụng, chẳng hạn như bộ xử lý văn bản và trình quản lý cơ sở dữ liệu, hoạt động trong chế độ người dùng và chỉ có thể truy cập tài nguyên máy bằng cách chuyển quyền điều khiển sang kernel, một quá trình gây ra chuyển đổi sang chế độ giám sát.
Thông thường, việc chuyển điều khiển sang kernel bằng cách thực hiện một lệnh ngắt. Việc ngắt phần mềm khiến bộ vi xử lý chuyển từ chế độ người dùng sang chế độ giám sát và bắt đầu thực thi mã cho phép kernel kiểm soát.
Trong chế độ người dùng, các chương trình thường có quyền truy cập vào một tập hợp các lệnh vi xử lý bị hạn chế và thường không thể thực hiện bất kỳ lệnh nào có khả năng gây gián đoạn cho hoạt động của hệ thống. Trong chế độ giám sát, các hạn chế thực thi lệnh thường được loại bỏ, cho phép truy cập không hạn chế vào tất cả các tài nguyên máy.
Thuật ngữ “tài nguyên chế độ người dùng” thường dùng để chỉ một hoặc nhiều thanh ghi CPU, chứa thông tin mà chương trình đang chạy không được phép thay đổi. Nỗ lực thay đổi các tài nguyên này thường gây ra sự chuyển đổi sang chế độ giám sát, trong đó hệ điều hành có thể xử lý hoạt động bất hợp pháp mà chương trình đang cố gắng, ví dụ, bằng cách buộc chấm dứt (“giết chết”) chương trình.
Quản lý bộ nhớ
Lõi hệ điều hành đa nhiệm phải chịu trách nhiệm quản lý bộ nhớ hệ thống đang được các chương trình sử dụng. Điều này đảm bảo rằng một chương trình không can thiệp vào bộ nhớ đã được sử dụng bởi một chương trình khác. Mỗi chương trình phải có quyền truy cập độc lập vào phần bộ nhớ mình được cấp phát.
Quản lý bộ nhớ hợp tác, được sử dụng bởi nhiều hệ điều hành ban đầu, giả định rằng tất cả các chương trình sử dụng trình quản lý bộ nhớ của nhân hệ điều hành một cách tự nguyện và không vượt quá bộ nhớ được phân bổ của chúng.
Hệ thống quản lý bộ nhớ này hầu như không còn sử dụng nữa, vì các chương trình thường chứa các lỗi có thể khiến chúng vượt quá bộ nhớ được phân bổ. Nếu một chương trình gặp lỗi, nó có thể khiến bộ nhớ được sử dụng bởi một hoặc nhiều chương trình khác bị ảnh hưởng hoặc ghi đè.
Các chương trình hoặc vi-rút độc hại có thể cố ý thay đổi bộ nhớ của chương trình khác hoặc có thể ảnh hưởng đến hoạt động của chính hệ điều hành. Với quản lý bộ nhớ hợp tác, chỉ cần một chương trình hoạt động sai đủ để làm sập cả hệ thống.
Bảo vệ bộ nhớ cho phép lõi hệ điều hành giới hạn quyền truy cập vào bộ nhớ của máy tính. Có nhiều phương pháp bảo vệ bộ nhớ khác nhau, bao gồm phân đoạn bộ nhớ và phân trang. Tất cả các phương pháp đều yêu cầu một số mức hỗ trợ phần cứng, không giống nhau trong tất cả các máy tính.
Trong cả phân đoạn và phân trang, các thanh ghi chế độ được bảo vệ nhất định chỉ định cho CPU địa chỉ bộ nhớ nào sẽ cho phép chương trình đang chạy truy cập. Nỗ lực truy cập các địa chỉ khác kích hoạt một ngắt làm cho CPU vào lại chế độ giám sát, chuyển quyền điều khiển về lõi.
Đây được gọi là vi phạm phân đoạn hoặc viết tắt là Seg-V và vì rất khó để xác định hành vi cho hoạt động đó và nó thường là dấu hiệu của chương trình xử lý sai, nên lõi hệ điều hành thường dùng đến việc chấm dứt chương trình vi phạm và báo cáo lỗi.
Các phiên bản Windows 3.1 đến ME có một số mức bảo vệ bộ nhớ, nhưng các chương trình có thể dễ dàng tránh được. Một lỗi bảo vệ chung sẽ được tạo ra, cho thấy đã xảy ra vi phạm bộ nhớ; tuy nhiên, hệ thống thường sẽ bị sập
Bộ nhớ ảo là gì ?
Bộ nhớ ảo
Nhiều hệ điều hành có thể “lừa” các chương trình sử dụng bộ nhớ nằm rải rác trên đĩa cứng và RAM như thể nó là một bộ nhớ liên tục, được gọi là bộ nhớ ảo.
Việc sử dụng địa chỉ bộ nhớ ảo (như phân trang hoặc phân đoạn) có nghĩa là kernel có thể chọn bộ nhớ mà mỗi chương trình có thể sử dụng tại bất kỳ thời điểm nào, cho phép hệ điều hành sử dụng cùng một vị trí bộ nhớ cho nhiều tác vụ.
Nếu một chương trình cố gắng truy cập bộ nhớ không nằm trong phạm vi bộ nhớ có thể truy cập hiện tại của nó, kernel sẽ bị gián đoạn theo cách tương tự như chương trình vượt quá bộ nhớ được phân bổ. Trong UNIX loại ngắt này được gọi là lỗi trang .
Khi kernel phát hiện ra lỗi trang, nó thường điều chỉnh phạm vi bộ nhớ ảo của chương trình đã kích hoạt, cấp cho nó quyền truy cập vào bộ nhớ được yêu cầu. Điều này mang lại cho lõi Kernel quyền tùy ý chọn nơi lưu trữ bộ nhớ của một ứng dụng cụ thể hoặc thậm chí liệu nó có thực sự được phân bổ hay không.
Trong các hệ điều hành hiện đại, bộ nhớ được truy cập ít thường xuyên hơn có thể được lưu trữ tạm thời trên đĩa hoặc phương tiện khác để cung cấp không gian cho các chương trình khác sử dụng. Điều này được gọi là hoán đổi, vì một vùng bộ nhớ có thể được sử dụng bởi nhiều chương trình và những gì vùng nhớ chứa có thể được hoán đổi hoặc trao đổi theo yêu cầu.
“Bộ nhớ ảo” cung cấp cho người lập trình hoặc người dùng giả lập rằng có một lượng RAM lớn hơn nhiều trong máy tính so với thực tế.
Hệ điều hành đa nhiệm là gì ?
Đa nhiệm đề cập đến việc chạy nhiều chương trình máy tính độc lập trên cùng một máy tính; nó đang thực hiện nhiều nhiệm vụ cùng một lúc. Vì hầu hết các máy tính có thể thực hiện một hoặc nhiều việc cùng một lúc, điều này thường được thực hiện thông qua chia sẻ thời gian, điều đó có nghĩa là mỗi chương trình sử dụng một phần thời gian của máy tính để thực thi.
Lõi kernel hệ điều hành chứa một chương trình lập lịch xác định thời gian mỗi tiến trình thực hiện và trong đó điều khiển thực thi theo thứ tự sẽ được chuyển đến các chương trình. Điều khiển được chuyển đến kernel, cho phép chương trình truy cập vào CPU và bộ nhớ. Sau đó, điều khiển được trả về kernel thông qua một số cơ chế, để chương trình khác có thể được phép sử dụng CPU. Cái gọi là chuyển điều khiển giữa kernel và ứng dụng này được gọi là chuyển đổi ngữ cảnh .
Một cơ chế ban đầu chi phối việc phân bổ thời gian cho các chương trình được gọi là đa nhiệm hợp tác. Trong cơ chế này, khi điều khiển được chuyển đến một chương trình bởi kernel, nó có thể thực thi bao lâu tùy thích sau đó trả lại quyền điều khiển cho kernel. Điều này có nghĩa là một chương trình độc hại hoặc gặp trục trặc có thể ngăn chặn bất kỳ chương trình nào khác sử dụng CPU, và nó có thể treo toàn bộ hệ thống nếu nó chạy một vòng lặp vô hạn.
Các hệ điều hành hiện đại mở rộng các khái niệm về quyền ưu tiên ứng dụng cho trình điều khiển thiết bị và kernel, do đó hệ điều hành cũng có quyền kiểm soát ưu tiên đối với thời gian chạy.
Cơ chế đa nhiệm ưu tiên là đảm bảo rằng tất cả các chương trình đều được cung cấp thời gian thường xuyên trên CPU. Vì vậy tất cả các chương trình đang chạy phải được giới hạn trong khoảng thời gian chúng được phép sử dụng CPU mà không bị gián đoạn. Để thực hiện điều này, lõi kernel hệ điều hành sử dụng một ngắt thời gian. Bộ định thời được quản lý bởi lõi kernel sẽ kích hoạt trở về chế độ giám sát sau khi hết thời gian đã chỉ định. (Xem các phần trên về Ngắt.)
Trên một số hệ điều hành đơn người dùng, đa nhiệm hợp tác có thể phù hợp, vì máy tính cá nhân thường chạy một số lượng nhỏ các chương trình được thử nghiệm tốt. Windows NT là phiên bản đầu tiên của Microsoft Windows thực thi đa nhiệm được ưu tiên, nhưng nó không đến được thị trường người dùng phổ thông cho đến khi Windows XP phát hành (Windows NT được nhắm đến các chuyên gia).
Truy cập ổ cứng và hệ thống tập tin (định dạng ổ cứng)
Hệ thống tệp cho phép người dùng và chương trình sắp xếp các tệp trên máy tính thông qua việc sử dụng các thư mục.
hệ thống tập tin
Truy cập dữ liệu được lưu trữ trên ổ cứng là tính năng lõi của tất cả các hệ điều hành. Máy tính lưu trữ dữ liệu trên các đĩa bằng các tệp được cấu trúc theo các cách cụ thể để cho phép truy cập nhanh hơn, độ tin cậy cao hơn và để sử dụng tốt hơn không gian có sẵn của ổ cứng.
Cụ thể trong đó các tệp được lưu trữ trên ổ cứng được gọi là hệ thống tệp và cho phép các tệp có tên và thuộc tính. Nó cũng cho phép chúng được lưu trữ trong một hệ thống phân cấp các thư mục hoặc thư mục được sắp xếp trong cây thư mục .
Các hệ điều hành ban đầu thường hỗ trợ một loại ổ cứng duy nhất và chỉ một loại hệ thống tệp. Các hệ thống tệp ban đầu bị giới hạn về khả năng, tốc độ và loại tên tệp và cấu trúc thư mục mà chúng có thể sử dụng. Những hạn chế này thường giới hạn các hệ điều hành khiến cho chúng rất khó hỗ trợ nhiều hơn một hệ thống tệp.
Mặc dù nhiều hệ điều hành đơn giản hơn hỗ trợ một loạt các tùy chọn để truy cập các hệ thống lưu trữ, các hệ điều hành như UNIX và Linux hỗ trợ một công nghệ được gọi là hệ thống tệp ảo hoặc VFS.
Hệ điều hành như UNIX hỗ trợ một loạt các thiết bị lưu trữ, bất kể thiết kế hay hệ thống tệp của chúng, cho phép chúng được truy cập thông qua giao diện lập trình ứng dụng chung (API). Điều này khiến các chương trình không cần biết hệ thống tệp của thiết bị nó đang truy cập.
VFS cho phép hệ điều hành cung cấp cho các chương trình quyền truy cập vào số lượng thiết bị không giới hạn với vô số hệ thống tệp được cài đặt trên chúng, thông qua việc sử dụng trình điều khiển thiết bị và trình điều khiển hệ thống tập tin.
Một thiết bị lưu trữ được kết nối, như ổ cứng, được truy cập thông qua trình điều khiển thiết bị. Trình điều khiển thiết bị hiểu ngôn ngữ của ổ đĩa và có thể dịch ngôn ngữ đó sang ngôn ngữ tiêu chuẩn được sử dụng bởi hệ điều hành để truy cập tất cả các ổ đĩa.
Khi lõi kernel có trình điều khiển thiết bị phù hợp, nó có thể truy cập nội dung của ổ đĩa ở định dạng thô, có thể chứa một hoặc nhiều hệ thống tệp. Trình điều khiển hệ thống tệp được sử dụng để dịch các lệnh truy cập từng hệ thống tệp cụ thể vào một nhóm lệnh tiêu chuẩn mà hệ điều hành có thể sử dụng để thao tác với tất cả các hệ thống tệp.
Các chương trình sau đó có thể xử lý các hệ thống tệp này trên cơ sở tên tệp và thư mục/thư mục, được chứa trong cấu trúc phân cấp. Nó có thể tạo, xóa, mở và đóng tệp, cũng như thu thập thông tin khác nhau về chúng, bao gồm quyền truy cập, kích thước, không gian trống và ngày tạo và sửa đổi.
Sự khác biệt giữa các hệ thống tệp làm cho việc hỗ trợ tất cả các hệ thống tệp khó khăn. Các ký tự được phép trong tên tệp, sự hiện diện của các loại thuộc tính tệp khác nhau làm cho việc thực hiện một giao diện duy nhất cho mọi hệ thống tệp là một nhiệm vụ khó khăn.
Các hệ điều hành có xu hướng khuyến nghị sử dụng các hệ thống tệp được thiết kế riêng cho chúng; ví dụ: NTFS trong Windows và ext3 và ReiserFS trong Linux. Tuy nhiên, trên thực tế, trình điều khiển của bên thứ ba thường có sẵn để hỗ trợ cho các hệ thống tệp được sử dụng rộng rãi nhất trong hầu hết các hệ điều hành (ví dụ: NTFS có sẵn trong Linux thông qua NTFS-3gvà ext2/3 và ReiserFS có sẵn trong Windows thông qua phần mềm của bên thứ ba).
Trong Windows, mỗi hệ thống tệp thường bị giới hạn trong ứng dụng đối với một số phương tiện nhất định; ví dụ: CD phải sử dụng ISO 9660 hoặc UDF và kể từ Windows Vista, NTFS là hệ thống tệp duy nhất mà hệ điều hành có thể được cài đặt trên đó.
Có thể cài đặt Linux lên nhiều loại hệ thống tệp. Không giống như các hệ điều hành khác, Linux và UNIX cho phép mọi hệ thống tệp được sử dụng cài đặt và bất kể phương tiện lưu trữ, cho dù đó là ổ cứng, đĩa (CD, DVD …), ổ flash USB hay thậm chí chứa trong một tập tin nằm trên một hệ thống tập tin khác
Trình điều khiển thiết bị là gì ?
Vai trò của hệ thống điều khiển
Một trình điều khiển thiết bị là phần mềm được phát triển để cho phép tương tác với các thiết bị phần cứng. Thông thường, điều này tạo thành một giao diện để giao tiếp với thiết bị phần cứng, thông qua bus máy tính hoặc hệ thống liên lạc cụ thể mà phần cứng được kết nối, cung cấp các giao diện cần thiết cho hoạt động của hệ thống hoặc chương trình ứng dụng.
Đây là một chương trình máy tính dành cho phần cứng chuyên biệt và một hệ điều hành cụ thể cho phép một chương trình ứng dụng chạy dưới nhân hệ điều hành tương tác với thiết bị phần cứng.
Mục tiêu thiết kế chính của trình điều khiển thiết bị là sự khác nhau giữa các thiết phần cứng (ngay cả trong cùng một loại thiết bị). Các thiết kế phần cứng mới hơn được phát hành bởi các nhà sản xuất cung cấp hiệu suất đáng tin cậy hơn hoặc tốt hơn nhưng các thiết kế mới hơn này thường có cách thức giao tiếp khác với thế hệ trước.
Hệ điều hành không thể biết cách điều khiển mọi thiết bị, cả hiện tại và trong tương lai. Để giải quyết vấn đề này, về cơ bản, các hệ điều hành tạo cơ chế kiểm soát và nhận dạng mọi loại thiết bị. Sau đó, chức năng của trình điều khiển thiết bị là dịch các thao tác của hệ điều hành này thành các thao tác cụ thể với thiết bị phần cứng.
Về lý thuyết, một thiết bị mới, được điều khiển theo cách mới, sẽ hoạt động chính xác nếu có trình điều khiển phù hợp. Trình điều khiển mới này đảm bảo rằng thiết bị hoạt động như bình thường theo yêu cầu của hệ điều hành.
Trong các phiên bản Windows trước Vista và các phiên bản Linux trước 2.6, tất cả các thực thi với trình điều khiển đều theo cơ chế hợp tác, nghĩa là nếu một trình điều khiển đi vào một vòng lặp vô hạn thì nó sẽ đóng băng hệ thống.
Các phiên bản mới hơn của các hệ điều hành kết hợp tính năng ưu tiên kernel (tương tự như cách hệ điều hành phân bổ thời gian sử dụng CPU cho các chương trình), trong đó kernel tự tách khỏi trình điều khiển để thực hiện các tác vụ khác cho đến khi nhận được phản hồi từ trình điều khiển thiết bị hoặc thực hiện nhiệm vụ khác.
Mạng
Hiện nay hầu hết các hệ điều hành đều hỗ trợ nhiều giao thức mạng, phần cứng và ứng dụng để sử dụng chúng. Điều này có nghĩa là các máy tính chạy hệ điều hành không giống nhau có thể tham gia vào một mạng chung để chia sẻ các tài nguyên như tệp, máy in và máy quét … Sử dụng kết nối có dây hoặc không dây.
Mạng về cơ bản có thể cho phép hệ điều hành truy cập vào tài nguyên của máy tính khác từ xa để sử dụng các chức năng tương tự. Điều này bao gồm mọi thứ từ giao tiếp đơn giản, đến sử dụng các hệ thống tệp được nối mạng hoặc thậm chí chia sẻ phần cứng đồ họa hoặc âm thanh của máy tính khác.
Một số dịch vụ mạng cho phép tài nguyên của máy tính được truy cập trực tiếp chẳng hạn như SSH cho phép người dùng nối mạng truy cập trực tiếp vào giao diện dòng lệnh của máy tính.
Mạng máy khách/máy chủ cho phép một chương trình trên máy tính (được gọi là máy khách) kết nối qua mạng với máy tính khác (được gọi là máy chủ). Máy chủ cung cấp các dịch vụ khác nhau cho các máy tính khách.
Các dịch vụ này thường được cung cấp thông qua các cổng hoặc các điểm truy cập được đánh số trên địa chỉ IP của máy chủ. Mỗi cổng thường được liên kết với một chương trình đang chạy, chịu trách nhiệm xử lý các yêu cầu tới cổng đó. Một ‘daemon’, là một chương trình người dùng, có thể lần lượt truy cập tài nguyên phần cứng của máy tính đó bằng cách chuyển yêu cầu đến kernel hệ điều hành.
Nhiều hệ điều hành cũng hỗ trợ một hoặc nhiều giao thức mạng mở hoặc dành riêng cho nhà cung cấp, ví dụ SNA trên các hệ thống IBM, DECnet trên các hệ thống từ Digital Equipment Corporation và các giao thức dành riêng cho Microsoft (SMB) trên Windows.
Các giao thức cụ thể cho các tác vụ cũng có thể được hỗ trợ như NFS để truy cập tệp. Các giao thức như ESound hoặc esd có thể dễ dàng được mở rộng qua mạng để cung cấp âm thanh từ các ứng dụng cục bộ, trên phần cứng âm thanh của hệ thống từ xa.
Bảo mật của hệ điều hành là gì ?
Một máy tính được bảo mật phụ thuộc vào một số công nghệ. Hệ điều hành hiện đại cung cấp quyền truy cập vào một số tài nguyên, có sẵn cho phần mềm chạy trên hệ thống và cho các thiết bị bên ngoài như mạng thông qua kernel.
Hệ điều hành phải có khả năng phân biệt giữa các yêu cầu nên được phép xử lý và các yêu cầu khác không được xử lý. Mặc dù một số hệ thống có thể chỉ đơn giản phân biệt giữa “đặc quyền” và “không đặc quyền”, các hệ thống thường có phương pháp dạng nhận dạng người yêu cầu, chẳng hạn như tên người dùng. Để thiết lập quá trình xác thực danh tính.
Thông thường tên người dùng phải được phân quyền và mỗi tên người dùng có thể có mật khẩu. Các phương pháp xác thực khác, như thẻ từ hoặc dữ liệu sinh trắc học, có thể được sử dụng thay thế.
Trong một số trường hợp, đặc biệt là các kết nối từ mạng, tài nguyên có thể được truy cập mà không cần xác thực (chẳng hạn như đọc tệp qua chia sẻ mạng). Cũng được xác định bởi khái niệm danh tính người yêu cầu là ủy quyền ; các dịch vụ và tài nguyên cụ thể mà người yêu cầu có thể truy cập sau khi đăng nhập vào hệ thống được gắn với tài khoản người dùng của người yêu cầu hoặc với các nhóm người dùng được cấu hình khác nhau mà người yêu cầu thuộc nhóm đó.
Ngoài mô hình cho phép hoặc không cho phép bảo mật, một hệ thống có mức độ bảo mật cao cũng cung cấp các tùy chọn kiểm soát. Cho phép theo dõi các yêu cầu truy cập vào tài nguyên (chẳng hạn như “ai đã đọc tệp này?”). Bảo mật nội bộ hoặc bảo mật từ một chương trình đã chạy chỉ có thể nếu tất cả các yêu cầu phải được thực hiện thông qua các ngắt đến lõi kernel hệ điều hành. Nếu các chương trình có thể truy cập trực tiếp vào phần cứng và tài nguyên, chúng không thể được bảo mật.
Bảo mật bên ngoài liên quan đến một yêu cầu từ bên ngoài máy tính, chẳng hạn như đăng nhập từ xa hoặc một loại kết nối mạng nào đó. Các yêu cầu bên ngoài thường được chuyển qua trình điều khiển thiết bị đến kernel của hệ điều hành, nơi chúng có thể được chuyển qua các ứng dụng hoặc được thực hiện trực tiếp.
Bảo mật hệ điều hành từ lâu đã là một mối quan tâm vì dữ liệu rất nhạy cảm được lưu trữ trên máy tính, cả về bản chất thương mại và quân sự. Chính phủ Hoa Kỳ, Bộ Quốc phòng (DoD) tạo ra các tiêu chuẩn Hệ thống đánh giá tính tin cậy (TCSEC) là một tiêu chuẩn mà bộ yêu cầu cơ bản để đánh giá hiệu quả của an ninh.
Điều này trở nên quan trọng đối với các nhà sản xuất hệ điều hành, bởi vì TCSEC được sử dụng để đánh giá, phân loại và chọn hệ điều hành đáng tin cậy đang được xem xét để xử lý, lưu trữ và truy xuất thông tin nhạy cảm.
Các dịch vụ mạng bao gồm các dịch vụ như chia sẻ tệp, dịch vụ in, email, trang web và giao thức truyền tệp (FTP), hầu hết có thể bị xâm phạm bảo mật. Ở tuyến đầu của bảo mật là các thiết bị phần cứng được gọi là tường lửa hoặc hệ thống phát hiện/ngăn chặn xâm nhập.
Ở cấp độ hệ điều hành, có một số phần mềm tường lửa có sẵn, cũng như các hệ thống phát hiện/ngăn chặn xâm nhập. Hầu hết các hệ điều hành hiện đại bao gồm tường lửa phần mềm, được bật theo mặc định. Một tường lửa phần mềm có thể được cấu hình để cho phép hoặc từ chối lưu lượng mạng đến từ một dịch vụ hoặc ứng dụng chạy trên hệ điều hành.
Giải pháp thay thế là kiểu hộp cát (sandbox) cho những hệ điều hành không đáp ứng được các yêu cầu bảo mật. Nó cung cấp cơ chế cho hệ điều hành không chạy chương trình người dùng dưới dạng mã gốc, mà thay vào đó, giả lập bộ xử lý hoặc cung cấp máy ảo cho chương trình thực thi.
Bảo mật nội bộ đặc biệt phù hợp với các hệ thống nhiều người dùng; nó cho phép mỗi người dùng hệ thống có các tệp riêng tư mà người dùng khác không thể truy xuất được. Bảo mật nội bộ cũng rất quan trọng, vì một chương trình có khả năng vượt qua hệ điều hành, bao gồm việc bỏ qua kiểm soát.
Giao diện người dùng là gì ?
Các hệ điều hành máy tính cá nhân đều có giao diện người dùng . Giao diện người dùng thường được gọi là shell và cần thiết để hỗ trợ tương tác của con người. Giao diện người dùng thể hiện cấu trúc thư mục và yêu cầu các dịch vụ từ hệ điều hành, thu thập dữ liệu từ các thiết bị phần cứng đầu vào, như bàn phím, chuột hoặc đầu đọc thẻ và yêu cầu hệ điều hành hiển thị lời nhắc, thông báo trạng thái trên các thiết bị phần cứng đầu ra, như màn hình hoặc máy in.
Hai hình thức phổ biến nhất của giao diện người dùng trước đây là giao diện dòng lệnh, trong đó các lệnh được gõ từng dòng và giao diện người dùng đồ họa, nơi có môi trường trực quan (phổ biến nhất là WIMP ).
Giao diện người dùng đồ họa
Hầu hết các hệ thống máy tính hiện đại đều hỗ trợ giao diện người dùng đồ họa (GUI). Trong một số hệ thống máy tính, chẳng hạn như các phiên bản Mac OS cổ điển, GUI được tích hợp vào kernel.
Giao diện người dùng đồ họa Mac OS sơ khai
Mặc dù về mặt kỹ thuật, giao diện người dùng đồ họa không phải là dịch vụ của hệ điều hành, việc kết hợp vào lõi kernel hệ điều hành có thể cho phép GUI phản ứng nhanh hơn bằng cách giảm số lượng chuyển đổi ngữ cảnh cần thiết để GUI thực hiện các chức năng đầu ra.
Các hệ điều hành khác có thể tách giao diện đồ họa khỏi lõi kernel hệ điều hành. Trong những năm 1980 UNIX, VMS và nhiều hệ điều hành được xây dựng theo cách này. Linux và macOS cũng được xây dựng theo cách này.
Các bản phát hành hiện nay của Microsoft Windows như Windows Vista triển khai một hệ thống con đồ họa cho giao diện người dùng; tuy nhiên, các phiên bản giữa Windows NT 4.0 và Windows Server 2003 được tích hợp vào lõi kernel.
Nhiều hệ điều hành máy tính cho phép người dùng cài đặt hoặc tạo bất kỳ giao diện người dùng nào họ muốn. Các giao diện Window X kết hợp với GNOME hoặc KDE Plasma 5 là một điển hình trên các hệ điều hành Unix như hệ thống (BSD, Linux, Solaris).
Một số giao diện (theme) Windows đã được phát hành cho Microsoft Windows, cung cấp các lựa chọn thay thế cho giao diện Windows đi kèm, nhưng bản thân giao diện đồ họa không thể tách rời khỏi Windows.
Giao diện người dùng đồ họa Linux hiện tại
Nhiều GUI dựa trên Unix đã tồn tại theo thời gian, hầu hết có nguồn gốc từ X11. Sự cạnh tranh giữa các nhà cung cấp Unix (HP, IBM, Sun) khác nhau đã dẫn đến sự phân mảnh, mặc dù nỗ lực chuẩn hóa vào những năm 1990 của COSE và CDE thất bại vì nhiều lý do, và cuối cùng bị lu mờ bởi Gnome và K .
Giao diện người dùng đồ họa phát triển theo thời gian. Ví dụ: Windows đã sửa đổi giao diện người dùng của mình mỗi khi một phiên bản Windows chính được phát hành và GUI Mac OS đã thay đổi đáng kể với sự ra mắt của Mac OS X vào năm 1999.
Hệ điều hành thời gian thực
Hệ điều hành thời gian thực (RTOS) là một hệ điều hành dành cho các ứng dụng có thời hạn cố định (tính toán thời gian thực). Các ứng dụng này bao gồm một số hệ thống nhúng nhỏ, bộ điều khiển động cơ ôtô, robot công nghiệp, tàu vũ trụ, điều khiển công nghiệp và một số hệ thống máy tính quy mô lớn.
Một ví dụ ban đầu về hệ điều hành thời gian thực quy mô lớn là trung tâm xử lý giao dịch được phát triển bởi American Airlines và IBM cho Hệ thống đặt chỗ hàng không Sabre .
Các hệ thống nhúng có thời hạn cố định sử dụng hệ điều hành thời gian thực như VxWorks, PikeOS, eCos, QNX, MontaVista Linux và RTLinux. Windows CE là một hệ điều hành thời gian thực chia sẻ các API tương tự với Windows trên máy tính để bàn nhưng không chia sẻ cơ sở mã nguồn. Hệ điều hành Symbian cũng có nhân RTOS (EKA2) bắt đầu với phiên bản 8.0b.
Một số hệ thống nhúng sử dụng các hệ điều hành như Palm OS , BSD và Linux , mặc dù các hệ điều hành này không hỗ trợ tính toán thời gian thực.
Phát triển hệ điều hành như một sở thích
Trong một số trường hợp, người dùng có thể tự phát triển hệ điều hành theo ý thích sử dụng trên một thiết bị điện toán “homebrew”, ví dụ, một máy tính bảng đơn giản được cung cấp bởi bộ vi xử lý 6502. Hoặc có thể dành cho một kiến trúc đã được sử dụng rộng rãi.
Phát triển hệ điều hành với các tính năng hoàn toàn mới, hoặc có thể bắt đầu bằng cách mô hình hóa một hệ điều hành hiện có. Trong cả hai trường hợp, người dùng thường phát triển cho riêng họ hoặc có thể là một nhóm nhỏ và đôi khi của những cá nhân có cùng sở thích.
Ví dụ về một hệ điều hành tự phát triển cá nhân như Syllable và TempleOS .
Sự đa dạng của hệ điều hành và tính linh hoạt
Phần mềm ứng dụng thường được viết để sử dụng trên một hệ điều hành cụ thể và đôi khi ngay cả đối với phần cứng cụ thể. Khi chuyển ứng dụng chạy trên HĐH khác, chức năng mà ứng dụng đó yêu cầu có thể được hệ điều hành đó thực hiện khác (tên của các chức năng, ý nghĩa của các đối số, v.v.) yêu cầu ứng dụng phải được điều chỉnh hoặc thay đổi.
Unix là hệ điều hành đầu tiên không được viết bằng ngôn ngữ assembly, khiến nó rất dễ tương thích với các hệ thống khác với hệ thống ban đầu của nó.
Chi phí cho việc hỗ trợ đa dạng hệ điều hành có thể tránh được bằng cách viết các ứng dụng dựa trên các nền tảng phần mềm như Java hoặc Qt .
Một cách tiếp cận khác cho các nhà cung cấp hệ điều hành là áp dụng các tiêu chuẩn. Ví dụ, các lớp trừu tượng POSIX và OS cung cấp các điểm tương đồng giúp giảm chi phí chuyển đổi.
Apple thực sự đã thành công trên công nghệ máy ảnh mới của iPhone 12 Pro trong năm nay, nhưng một trong những tính năng hấp dẫn nhất là một định dạng ảnh mới có tên Apple ProRaw.
Định dạng ảnh mới, hiện được tích hợp trên iPhone 12 Pro và iPhone 12 Pro Max, hứa hẹn mang đến cho các nhiếp ảnh gia sự kết hợp tối ưu giữa tính năng chụp ảnh thông minh và tính linh hoạt của chỉnh sửa ảnh thô.
Nhưng điều đó có nghĩa là gì, và nó sẽ hoạt động như thế nào trong thực tế? Dưới đây là những gì chúng tôi được nghe từ Giám đốc cấp cao về Kỹ thuật phần mềm máy ảnh của Apple về ProRaw và cách nó có thể giúp đưa việc chỉnh sửa ảnh trên iPhone của bạn lên một tầm cao mới.
Tuy nhiên, trước khi chúng tôi đi sâu vào vấn đề đó, chúng tôi sẽ hướng dẫn bạn về cách bật ProRaw cho iPhone 12 Pro hoặc iPhone 12 Pro Max …
Cách bật Apple ProRaw
Apple ProRaw hiện tích hợp sẵn cho iPhone 12 Pro và iPhone 12 Max như một phần của iOS 14.3. Bước đầu tiên là đảm bảo bạn đã cập nhật lên phiên bản iOS 14.3 bằng cách đi tới Cài đặt> Chung> Cập nhật phần mềm.
Sau khi cập nhập hoàn tất, bây giờ bạn sẽ có tùy chọn bật Apple ProRaw trong cài đặt máy ảnh của mình. Để tìm tùy chọn đó, hãy đi tới Cài đặt> Máy ảnh> Định dạng và bật tùy chọn Apple ProRaw (như trong hình trên).
Lưu ý: Hình ảnh ProRaw được lưu với đuôi DNG lớn hơn đáng kể so với các tệp nén tiêu chuẩn như HEIC / JPEG (lớn hơn mười lần), vì vậy bạn có thể không muốn sử dụng định dạng mới mọi lúc.
Tuy nhiên, bật ProRaw bằng phương pháp trên không khiến nó bật vĩnh viễn. Để chụp ảnh ProRaw, bạn cần phải nhấn vào biểu tượng RAW (biểu tượng này bị tắt mặc định mỗi lần mở) trong ứng dụng máy ảnh. Khi tắt tính năng này, iPhone của bạn sẽ lưu ảnh ở định dạng trong cài đặt ‘chụp ảnh’ (HEIF hoặc JPEG).
Ngoài ra, nếu bạn muốn luôn bật ProRaw mặc định, bạn sẽ cần thực hiện điều đó trong cài đặt được lưu trữ của mình (Cài đặt> Máy ảnh> Cài đặt lưu trữ). Nhưng đối với hầu hết mọi người, Apple ProRaw được sử dụng cho một số tình huống nhất định – ví dụ: vào ban đêm hoặc trong các tình huống tương phản với ánh sáng mặt trời chói chang và bóng tối.
Ảnh chụp định dạng gốc
Để giải thích tại sao đôi khi bạn có thể muốn sử dụng Apple ProRaw, chúng ta cần tìm hiểu vấn đề rộng hơn – tại sao chúng ta có các định dạng chụp ảnh khác nhau?
Mặc dù nó nghe có vẻ phức tạp, nhưng các định dạng hình ảnh có thể rất hữu ích, giống như cách bạn lựa chọn giữa việc lái xe số tự động hay số sàn.
Bạn có thể đã nghe nói về định dạng ảnh thô (ảnh RAW gốc). Định dạng này thường được sử dụng bởi những tay chơi chuyên nghiệp, những file ảnh này gần như hoàn toàn chưa được xử lý. Nhược điểm là kích thước và độ phức tạp của chúng, nhưng lợi ích đáng kể là sự tự do chỉnh sửa mà chúng mang lại cho bạn.
Với ảnh thô, bạn hoàn toàn có thể thay đổi cân bằng trắng, độ phơi sáng, tông màu và màu sắc của ảnh sau khi chụp mà không làm giảm chất lượng ảnh.
Theo nghĩa này, chúng đối lập với các tệp JPEG và HEIF, là những định dạng được chế biến sẵn như mỳ tôm ăn nhanh. Chúng nhanh chóng và tiện lợi, nhưng cũng làm mất đi khá nhiều dữ liệu trên bức ảnh mà bạn không thể phục hồi sau khi lưu.
Vậy Apple ProRaw kết hợp ưu điểm của cả hai loại định dạng này như thế nào ? Nói tóm lại, nó có thể cung cấp cho những người trước đây đã bỏ qua định dạng thô một lựa chọn đơn giản và nhẹ hơn, ở giữa hai định dạng nén hoặc thô – như Apple nói, “tốt nhất của cả hai thế giới“. Và lý do tại sao Apple cần một định dạng mới ? cho đến nay, máy ảnh đơn giản là không chụp ảnh theo cách như trên các điện thoại trước iPhone 12 Pro.
Xử lý ảnh thô đơn giản hơn
Vấn đề mà Apple ProRaw đang cố gắng giải quyết là trên những chiếc iPhone trước đây, định dạng thô chưa thực sự làm hài lòng những nhiếp ảnh gia mới bắt đầu hoặc chuyên nghiệp. Đây có lẽ là lý do tại sao Apple chưa bao giờ đưa chế độ thô vào ứng dụng Máy ảnh mặc định của mình, thay vào đó để các ứng dụng bên thứ ba cung cấp.
Đối với người mới bắt đầu, ảnh chụp thô đôi khi có thể không hài lòng, vì kết quả thường kém ấn tượng so với ảnh đã xử lý. Ngoài ra ảnh thô cũng đồng nghĩa bỏ qua một số tính năng xử lý đa khung hình từ công nghệ Deep Fusion của Apple.
Đối với những nhiếp ảnh gia chuyên nghiệp ProRaw giúp họ vẫn có thể điều chỉnh độ phơi sáng và tông màu của một bức ảnh thô để có được kết quả tuyệt vời, nhưng những bức ảnh vẫn được hưởng lợi từ các tính năng xử lý thông minh được cung cấp bởi công nghệ AI ? Với một số khung hình đã được hợp nhất một cách thông minh và áp dụng tính năng giảm nhiễu, nó sẽ giống như nhận được sự trợ giúp tức thì từ một trình chỉnh sửa chuyên nghiệp, trong khi vẫn giữ được tính tùy chỉnh cao của định dạng ảnh thô
Đây là ưu điểm của Apple ProRaw. Như Alok Deshpande, Giám đốc Cấp cao về Kỹ thuật Phần mềm Máy ảnh của Apple, giải thích, ProRaw “cung cấp nhiều lợi ích của việc xử lý hình ảnh đa khung hình và chụp ảnh tính toán, như Deep Fusion và Smart HDR, và kết hợp chúng với chiều sâu và tính linh hoạt của định dạng thô “.
Apple cũng nói thêm: “Để đạt được điều này, chúng tôi đã xây dựng một tiến trình mới, bổ sung các phần chúng tôi thực hiện vào CPU, GPU, ISP và công cụ AI kết hợp chúng vào một tệp hình ảnh sâu mới, được tính toán tại thời điểm chụp, không có bất kỳ độ trễ màn trập nào. Và chúng tôi thực hiện điều này cho cả bốn máy ảnh, tự động điều chỉnh cho các cảnh khác nhau trong khi vẫn duy trì trải nghiệm máy ảnh trực quan của chúng tôi. “
Nhận xét cuối cùng, đó thực sự là chìa khóa để hiểu tại sao ProRaw có thể trở thành một định dạng mới phổ biến, ít nhất là đối với những người dùng iPhone 12 Pro. Thay vì khiến bạn bối rối với một lưới thanh trượt và các thuật ngữ khó hiểu như ‘tốc độ màn chập’, chỉnh sửa ProRaw diễn ra trực tiếp trong ứng dụng Ảnh.
Ngoài ra tính năng chụp và chỉnh sửa Apple ProRaw cũng có sẵn trong các ứng dụng của bên thứ ba. Ví dụ, ứng dụng máy ảnh Halide đã thêm một số tùy chọn chụp ProRaw bổ sung, như ProRaw +, cung cấp cho bạn tùy chọn chọn độ sâu bit thấp hơn và kích thước tệp nhỏ hơn 50%.
Vì ProRaw sử dụng định dạng tệp DNG tiêu chuẩn nên nó cũng tương thích với các ứng dụng chỉnh sửa như Adobe Lightroom. Vì vậy, nếu bạn thấy các tùy chọn chỉnh sửa trong ứng dụng Apple Photos hơi quá hạn chế, bạn nên có thêm các tùy chọn chỉnh sửa ở nơi khác.
Apple ProRaw sẽ thay thế ảnh gốc ?
Apple ProRaw sẽ không thay thế định dạng thô, mà nó chỉ là một công cụ hữu ích khác trong kho vũ khí của các nhiếp ảnh gia di động. Nhiều người chụp có kinh nghiệm sẽ vẫn thích ảnh thô tiêu chuẩn, vì nó cung cấp cho bạn một nguyên liệu tinh khiết để chỉnh sửa theo phong cách của bạn.
Tính đơn giản của các định dạng nén như JPEG và HEIF cũng sẽ tiếp tục phổ biến. Đây là những định dạng tệp phổ biến không chiếm nhiều dung lượng lưu trữ và có thể được xem và chia sẻ ở mọi nơi. Giống như tệp thô, các tệp ProRaw cần được xử lý trước khi chúng có thể được chia sẻ trực tiếp đến những nơi như mạng xã hội, điều mà một số người có thể thấy là quá phức tạp.
Nhưng chúng tôi cũng nóng lòng muốn thử nghiệm chỉnh sửa ProRaw để xem liệu nó có thực sự hữu ích cho việc chỉnh sửa ảnh trên thiết bị di động như cách mà Apple hứa hẹn hay không. Hiện tại nhược điểm duy nhất của Apple ProRaw là có ít thiết bị hỗ trợ nó – Apple không cho biết liệu định dạng này có xuất hiện trên các iPhone khác hay không và chúng tôi nghi ngờ là không.
Tuy nhiên, trong khi việc phổ cập chắc chắn sẽ chậm, bạn có thể mong đợi Apple ProRaw thành công khi nhiều nhiếp ảnh gia iPhone thấy những lợi ích của việc chỉnh sửa ảnh trên thiết bị di động.
CLIP là từ viết tắt của Continuous Liquid Interface Production – phương pháp in chất lỏng liên tục là một phương pháp in 3D độc quyền sử dụng máy chiếu ảnh tia UV liên tục để tạo ra các vật thể rắn có mặt nhẵn và nhiều hình dạng bằng vật liệu nhựa . Nó được phát minh bởi Joseph DeSimone , Alexander và Nikita Ermoshkin và Edward T. Samulski và ban đầu thuộc sở hữu của EiPi Systems, nhưng hiện đang được phát triển bởi Carbon .
Quá trình in liên tục bắt đầu với một bể chứa nhựa photopolymer lỏng. Phần đáy của bể chứa trong suốt với tia cực tím (“cửa sổ”). Một chùm tia cực tím chiếu qua cửa sổ, chùm tia chiếu sáng có biên dạng chính xác là mặt cắt của vật thể. Tia UV làm cho nhựa đông lại. Đồng thời mô hình in cũng được dâng lên đủ tương ứng với tốc độ nhựa chảy xuống dưới và duy trì tiếp xúc với đáy của bể chứa. Một màng thấm Oxy tạo ra một “vùng chết” (vùng đóng rắn) ngăn nhựa bám vào cửa sổ.
Không giống như kỹ thuật in 3D thông thường, quá trình in diễn ra liên tục. Các nhà phát minh tuyên bố rằng nó có thể tạo ra các vật thể nhanh hơn 100 lần so với các phương pháp in 3D hiện tại.
Các mẫu in 3D bằng công nghệ CLIP có các mặt nhẵn, không giống như các máy in 3D hiện tại khác, có bề mặt thô khi chạm vào do hiệu ứng voxel trong công nghệ in 3D thông thường. Một số loại nhựa có khả năng tạo ra các vật thể có độ dẻo cao và không thể sản xuất bằng các phương pháp trước đó.
Carbon đã trở nên nổi tiếng thông qua buổi nói chuyện TED do người sáng lập CARBON3D đưa ra. Trong bài thuyết trình này, Joseph M. DeSimone đã chứng minh rằng có thể in 3D một vật thể phức tạp trong khoảng 10 phút. Khoản đầu tư 100 triệu đô la gần đây của Google vào công ty cũng góp phần làm cho nó trở nên nổi tiếng trong ngành in 3D và trong thế giới công nghệ.
Công nghệ dựa trên CLIP của Carbon kết hợp các đặc tính cấp kỹ thuật của nhựa nhiệt dẻo với độ phân giải và độ hoàn thiện bề mặt đặc biệt. Nó có khả năng ứng dụng khả thi cho các ngành công nghiệp như ô tô, y tế và điện tử tiêu dùng.
Carbon cũng tạo ra các vật liệu in đa dạng và ngày càng tăng cho phép các nhà thiết kế sản phẩm và kỹ sư xây dựng các nguyên mẫu cho bộ phận sản xuất.
Một trong những đặc điểm cơ bản nhất của tên miền là nó là duy nhất, có nghĩa là không có hai website (hoặc máy chủ) nào trên Internet có thể có cùng một tên miền.
Nếu bạn muốn hiện diện trên Internet, bạn cần đăng ký một tên miền sau đó sẽ dùng làm tên trực tuyến duy nhất của bạn. Khách truy cập sẽ tương tác với bạn bằng tên miền này thông qua trang web của bạn hoặc qua email.
Sự khác biệt giữa tên miền và URL
Thông thường hai thuật ngữ, tên miền và URL được sử dụng cùng với nhau. Về mặt kỹ thuật, cả hai không giống nhau.
Như đã đề cập trước đó, một tên miền được sử dụng để xác định các máy tính trên Internet. Mặc dù vậy, những máy tính này sử dụng địa chỉ IP, là một dãy số, chẳng hạn như 185.113.25.55. Vì con người thấy chuỗi ký tự dễ nhớ hơn là số, những người tiên phong của web đã nghĩ ra tên miền để xác định các thực thể trên Internet chứ không phải địa chỉ IP.
Mặt khác, một URL hoặc bộ định vị tài nguyên thống nhất được tạo thành từ tên miền cũng như một số phần thông tin khác, bao gồm cả giao thức và đường dẫn.
Ví dụ: https://thietbiketnoi.com/category/cong-nghe là một URL trong đó thietbiketnoi.com là tên miền, trong khi https là giao thức truyền và /category/cong-nghe là đường dẫn đến một phần cụ thể trên trang web.
Trong hầu hết các trình duyệt hiện đại, bạn không cần nhập URL đầy đủ để truy cập một trang web. Chỉ cần nhập tên miền và trình duyệt sẽ thêm giao thức và các phần thông tin khác cần thiết để hiển thị trang web.
Tên miền hoạt động như thế nào?
Khi bạn nhập tên miền vào trình duyệt, nó sẽ gửi yêu cầu đến máy chủ hệ thống tên miền (DNS-Domain Name System). Điều này có thể được lưu trữ bởi ISP của bạn hoặc bởi một bên thứ ba có uy tín dựa trên một mạng lưới máy chủ toàn cầu phân tán.
Các máy chủ này có nhiệm vụ tra cứu các máy chủ định danh được liên kết với tên miền và sau đó chuyển tiếp yêu cầu của bạn đến các máy chủ định danh đó. Máy chủ định danh là máy tính được quản lý bởi công ty lưu trữ nội dung trang web của bạn.
Các máy chủ định danh sẽ lần lượt chuyển tiếp yêu cầu đến máy tính lưu trữ trang web. Máy tính này được gọi là máy chủ web và được cung cấp bởi phần mềm máy chủ HTTP như Apache, Nginx và Tomcat, có nhiệm vụ tìm nạp trang web, sau đó được gửi lại và hiển thị trên trình duyệt web của bạn.
Các loại Tên miền – Domain
Tên miền thường được chia thành hai hoặc nhiều phần, mỗi phần được phân tách bằng dấu chấm, chẳng hạn như thietbiketnoi.com ; Phần ở bên phải của dấu chấm cuối cùng trong tên miền là tên miền cấp cao nhất (TLD). Đây thường là một trong các TLD chung (gTLD) như .com, .net và .org.
Sau đó, có ccTLD, là các tên miền cấp cao nhất của mã quốc gia như .uk và .in. Chúng được sử dụng để xác định các trang web dành cho các khu vực cụ thể, chẳng hạn như bbc.co.uk hoặc abc.net.au.
Không giống như gTLD, nhiều TLD dành cho một trường hợp sử dụng cụ thể. Ví dụ: .edu dành riêng cho các tổ chức giáo dục, trong khi .gov chỉ có thể được sử dụng bởi các cơ quan Chính phủ. Bạn có thể xem danh sách tất cả các TLD hợp lệ tại đây.
Tên miền phụ là gì ? Subdomains
Bên cạnh cách phân loại nêu trên, tên miền còn được phân loại theo một kiểu khác.
Một loại tên miền phổ biến mà bạn thường nghe nói đến là tên miền phụ hay subdomains, chính xác như nghĩa của nó, một tên miền trong một miền. Tên miền phụ thường được đặt trước tên của miền gốc, ví dụ: blog.puppylinux.com.
Tên miền phụ hữu ích vì chúng giúp bạn lưu trữ hiệu quả một trang web khác mà không cần mua thêm tên miền. Miền phụ thường được sử dụng để lưu trữ nội dung khác với miền chính. Ví dụ: Google sử dụng miền phụ support.google.com để cung cấp trợ giúp và hỗ trợ cho tất cả các dịch vụ được cung cấp bởi công cụ tìm kiếm.
Một loại miền phổ biến khác là tên miền chuyển hướng. Điều này thường được sử dụng làm tên khác cho miền chính và chuyển hướng các yêu cầu đến miền chính. Các công ty thường sử dụng tên miền chuyển hướng để bảo vệ các lỗi chính tả phổ biến cho tên miền chính của họ, chẳng hạn như microsft.com hoặc gooogle.com. Nhiều người cũng sử dụng tên miền chuyển hướng để đăng ký tên miền chính với các TLD khác, chẳng hạn như yahoo.net.
Ai quản lý các tên miền domain ?
Công ty Internet Corporation for Assigned Names and Numbers (ICANN) là một tổ chức phi lợi nhuận được tạo ra và thực hiện các chính sách cho tên miền. ICANN được thành lập vào năm 1998 để đảm bảo mọi người đều có thể sử dụng Internet.
ICANN cho phép bán tên miền thông qua các công ty được gọi là Nhà đăng ký tên miền. Các công ty đăng ký tên miền này được phép thay đổi chủ sở hữu tên miền và trả một khoản phí nhỏ cho ICANN mỗi khi họ cần đăng ký tên miền.
Mua tên miền bằng cách nào?
Bạn có thể mua tên miền từ một trong nhiều công ty đăng ký tên miền, chẳng hạn như Namecheap, GoDaddy, HostGator và một số công ty khác. Các công ty đăng ký thường tính phí cho tên miền theo năm, một số cho phép bạn trả trước lên đến 10 năm tại thời điểm đăng ký.
Ngoài tên miền, bạn cũng cần có không gian lưu trữ trang web. Trên thực tế, hầu như các công ty luôn cung cấp cả 2 dịch vụ này, ngoài việc bán cho bạn gói lưu trữ còn cung cấp dịch vụ đăng ký tên miền. Sự sắp xếp này cho phép bạn quản lý cả hai dịch vụ trong một tài khoản.
Mặc dù quy trình chính xác của việc mua tên miền khác nhau, nhưng bạn thường bắt đầu bằng cách tìm kiếm xem tên miền mong muốn của bạn có sẵn hay không. Hầu hết mọi công ty đăng ký tên miền đều có một công cụ dành riêng cho mục đích này.
Sau đó, bạn sẽ phải trả tiền cho tên miền và giá phụ thuộc vào TLD (phần đuôi của tên miền), một số đắt hơn những tên khác. Các công ty đăng ký tên miền hầu như sẽ cung cấp cho bạn tùy chọn mua và đặt tên miền với các TLD khác nhau và thậm chí có thể cung cấp chiết khấu nếu bạn chọn làm như vậy. Sau khi tên miền được thanh toán và đăng ký, bạn sẽ có thể sử dụng nó để triển khai trang web của mình.
Lớp bảo mật SSL là một tiêu chuẩn bảo mật để mã hóa giao tiếp giữa máy chủ web và trình duyệt web của bạn. Mặc dù thuật ngữ này vẫn được sử dụng phổ thông, nhưng giao thức SSL trên thực tế đã được thay thế bằng giao thức TLS, viết tắt của Transport Layer Security.
Bất kỳ trang web nào có địa chỉ web HTTPS đều sử dụng giao thức SSL/TLS. Bất cứ khi nào trình duyệt web kiểm tra và thấy chứng chỉ SSL hợp lệ, nó sẽ hiển thị biểu tượng ổ khóa màu xanh lá cây bên cạnh địa chỉ. Đây là một dấu hiệu trực quan cho người dùng lướt web biết rằng tất cả giao tiếp giữa trình duyệt của họ và máy chủ web đang được thực hiện qua một kênh được mã hóa.
Tại sao cần chứng chỉ SSL?
Bất kỳ thông tin nào được gửi qua Internet đều đi qua các máy tính trung gian khác nhau trước khi đến máy chủ web đích. Điều này có nghĩa là bất kỳ máy tính trung gian nào ở giữa đều có thể truy cập dữ liệu đã truyền, có thể bao gồm thông tin như tên người dùng và mật khẩu cũng như các thông tin nhạy cảm khác. Chứng chỉ SSL giảm thiểu rủi ro này bằng cách đảm bảo rằng tất cả thông tin được gửi qua Internet đều được mã hóa theo cách mà chỉ người nhận mới có thể đọc được.
Trên thực tế, một số trang web chẳng hạn như ngân hàng và cổng thanh toán, cần thực hiện các bước nhất định để bảo mật thông tin trước khi họ có thể yêu cầu người dùng cung cấp thông tin nhạy cảm. Một trong những yêu cầu này là sử dụng chứng chỉ SSL đã được xác thực.
Ngay cả khi bạn không yêu cầu người dùng cung cấp thông tin nhạy cảm, việc sử dụng chứng chỉ SSL vẫn mất phí. Trở lại năm 2014, Google thông báo rằng trong nỗ lực của mình để làm cho môi trường web an toàn hơn, công cụ tìm kiếm bắt đầu sử dụng HTTPS như một tiêu chí xếp hạng. Điều này làm các trang web sử dụng chứng chỉ SSL hợp lệ được coi là tốt hơn và được xếp hạng cao hơn trong kết quả tìm kiếm, vì vậy chứng chỉ SSL trở thành một công cụ SEO cơ bản nhưng cần thiết.
Chứng chỉ SSL chứa những gì?
Về mặt kỹ thuật, chứng chỉ SSL là một tệp dữ liệu trên máy chủ web chứa một số phần thông tin quan trọng nhất của chứng chỉ là khóa công khai của trang web.
Khóa này đi kèm với tên miền và thông tin chi tiết về cá nhân hoặc tổ chức mà chứng chỉ được cấp. Chứng chỉ cũng chứa thông tin về cơ quan đã cấp nó cùng với chữ ký số của nó. Các thông tin khác bao gồm ngày cấp chứng chỉ, thời hạn hiệu lực của nó, cùng với ngày hết hạn của chứng chỉ.
Khóa công khai (và khóa riêng tương ứng) về cơ bản là các chuỗi ký tự dài giúp mã hóa và giải mã dữ liệu được truyền đi. Điều quan trọng cần lưu ý là dữ liệu sau khi được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa riêng.
Khi một trình duyệt web cố gắng giao tiếp với máy chủ, nó sẽ gọi chứng chỉ để xác minh danh tính của máy chủ và sau đó lấy khóa công khai của nó. Sau đó tạo một kênh được mã hóa giữa chính nó và máy chủ web. Tất cả dữ liệu được truyền qua kênh này chỉ có thể được giải mã bởi máy chủ web có khóa riêng tư.
Ai phát hành chứng chỉ SSL?
Chứng chỉ SSL được cấp bởi Tổ chức phát hành chứng chỉ (CA) đáng tin cậy. Các trình duyệt web, hệ điều hành và ngày nay thậm chí cả thiết bị di động lưu trữ một danh sách các chứng chỉ gốc CA đáng tin cậy.
Chứng chỉ gốc rất có giá trị vì bất kỳ chứng chỉ SSL nào được ký bằng khóa riêng của nó sẽ được trình duyệt web tự động tin cậy. Ngược lại, nếu CA không đáng tin cậy, trình duyệt sẽ hiển thị thông báo lỗi không đáng tin cậy cho người dùng cuối.
Các công ty như DigiCert, IdenTrust, GlobalSign và Let’s Encrypt được gọi là Tổ chức phát hành chứng chỉ đáng tin cậy. Các nhà phát triển trình duyệt web và hệ điều hành như Microsoft, Mozilla, Google, Opera, v.v., tin tưởng các CA này và bằng cách kiểm tra bất kỳ chứng chỉ SSL nào được ký bằng khóa riêng của họ.
Các loại chứng chỉ SSL
Có một số loại chứng chỉ SSL khác nhau có thể được phân thành ba loại.
Chứng chỉ Domain-Validated (DV) là chứng chỉ bao gồm mã hóa cơ bản và xác minh quyền sở hữu của các bản ghi đăng ký tên miền. Đây là loại chứng chỉ rẻ nhất và có thể được cấp trong vòng vài phút.
Tiếp theo là các chứng chỉ Organization-Validated (OV) ngoài việc mã hóa và xác minh cơ bản còn xác thực thông tin chi tiết về chủ sở hữu như tên và địa chỉ của họ. Sẽ mất từ vài giờ đến vài ngày để nhận được chứng chỉ OV do cần xem xét, xác minh thủ công các thông tin liên quan.
Cuối cùng, có các chứng chỉ Extended Validation (EV) được tin cậy nhất vì chúng cũng xác minh sự tồn tại thực tế và hoạt động của chủ sở hữu trang web. Họ tuân theo một bộ nguyên tắc nghiêm ngặt cho quá trình xác minh, có thể mất vài tuần.
Hơn nữa, tất cả các loại chứng chỉ SSL cũng có hai biến thể. Chứng chỉ một tên miền duy nhất đảm bảo một tên miền đủ điều kiện. Nó rẻ hơn chứng chỉ bảo vệ nhiều tên miền phụ.
Chứng chỉ SSL tự ký là gì ? self-signed SSL certificate
Về mặt kỹ thuật, bất kỳ ai cũng có thể tạo chứng chỉ SSL của riêng mình bằng cách tạo ghép nối khóa công khai-riêng tư. Các chứng chỉ này được gọi là chứng chỉ tự ký vì chữ ký điện tử được sử dụng không phải từ CA của bên thứ ba mà là từ khóa riêng của chính trang web.
Mặc dù chúng thuận tiện nhất và có thể được tạo ngay lập tức, vì không có xác minh của bên thứ ba, nhưng trình duyệt web không coi chứng chỉ tự ký là đáng tin cậy. Đây là lý do tại sao mặc dù thông tin liên lạc được mã hóa, các trình duyệt web vẫn đánh dấu trang web là “không an toàn”. Hầu hết các trình duyệt web sẽ cảnh báo bạn rằng trang web sử dụng chứng chỉ tự ký, trước khi hiển thị nội dung của trang web.
Cách để nhận chứng chỉ SSL?
Vì vai trò của SSL trong xếp hạng công cụ tìm kiếm, bạn nên đăng ký chứng chỉ SSL cho web site của mình.
Bước đầu tiên là xác định loại chứng chỉ bạn cần, phần lớn phụ thuộc vào số lượng miền và miền phụ bạn cần bảo mật. Quá trình này quan trọng hơn rất nhiều đối với các công ty trong các ngành được quản lý như ngân hàng, những người cần đảm bảo chứng chỉ SSL của họ đáp ứng các yêu cầu đã xác định.
Có một số nhà cung cấp chứng chỉ SSL và tùy thuộc vào loại chứng chỉ cũng như uy tín và sự tin cậy của cơ quan cấp chứng chỉ, chi phí của chứng chỉ SSL có thể dao động từ vài đô la đến vài trăm đô la mỗi năm.
Tuy nhiên, ngày nay bạn cũng có thể nhận được chứng chỉ SSL miễn phí, nhờ vào Let’s Encrypt CA. Nó được thành lập bởi EFF, Mozilla và Đại học Michigan, với Cisco và Akamai là nhà tài trợ sáng lập.
Let’s Encrypt là một CA phi lợi nhuận đã cung cấp chứng chỉ SSL miễn phí kể từ tháng 4 năm 2016. Chứng chỉ của họ có giá trị trong 90 ngày và có thể được gia hạn bất cứ lúc nào trong thời gian hiệu lực này. Theo nghiên cứu riêng của Let’s Encrypt, chứng chỉ của họ đã được sử dụng phần lớn trong phân khúc khách hàng bao gồm các trang web nhỏ, chẳng hạn như blog cá nhân và doanh nghiệp nhỏ.
CDN là viết tắt của Content Delivery Network (mạng phân phối nội dung). Bạn có thể coi CDN như một mạng lưới các máy chủ chuyên cung cấp nội dung. Các máy chủ này được đặt một cách chiến lược trên toàn cầu với mục đích đẩy nhanh việc phân phối nội dung web. Theo một số ước tính, phần lớn lưu lượng truy cập Internet được phục vụ bởi CDN.
CDN hoạt động như thế nào?
Mục tiêu của CDN là giảm thời gian từ khi máy người dùng yêu cầu một trang web được gửi đến khi nó hiển thị hoàn toàn trên trình duyệt web. CDN giúp cắt giảm thời gian này bằng cách giảm khoảng cách vật lý giữa người dùng và nội dung.
Vì vậy, ví dụ, hãy xem xét rằng một khách truy cập từ Vương quốc Anh muốn truy cập một trang web từ một máy chủ web ở Hoa Kỳ. Yêu cầu về nội dung và dữ liệu sẽ phải vượt qua Đại Tây Dương, điều này sẽ dẫn đến sự chậm trễ đáng chú ý. Tuy nhiên, CDN giảm độ trễ bằng cách lưu trữ phiên bản của trang web Hoa Kỳ trong máy chủ ở Vương quốc Anh và phục vụ phiên bản này cho khách truy cập tại Vương quốc Anh nhanh hơn nhiều.
Nhiều máy chủ được đặt ở các vị trí địa lý chiến lược trên khắp thế giới được gọi là Điểm hiện diện (PoP). Các PoP này thường chứa một số máy chủ lưu trữ bộ nhớ đệm các bản sao giống hệt nhau của các trang web trong hệ thống CDN, chúng phục vụ cho người dùng khi được yêu cầu. Vì vậy, khi người dùng yêu cầu một trang web trong hệ thống CDN, thì các PoP gần nhất với khách truy cập sẽ phản hồi yêu cầu với thời gian nhanh hơn so với máy chủ web gốc.
Ngoài việc chuyển hướng yêu cầu tới PoP và phân phát nội dung được lưu trong bộ nhớ cache, CDN cũng sẽ giao tiếp với máy chủ gốc trong trường hợp nó cần phân phối bất kỳ nội dung nào chưa được lưu trong bộ nhớ cache trước đó hoặc trên thực tế được tạo động.
Mặc dù CDN được sử dụng phổ biến nhất để cung cấp nội dung tĩnh, nhưng nó không phải là loại nội dung duy nhất mà bạn có thể truyền bằng CDN. Ngày nay, CDN cung cấp tất cả các loại nội dung đa phương tiện bao gồm video độ nét cao và âm thanh, đồng thời cũng giúp hỗ trợ việc tải xuống phần mềm, có thể là ứng dụng, trò chơi và thậm chí là các bản cập nhật hệ điều hành. Có thể phân phối bất kỳ dữ liệu nào có thể được số hóa và không được tạo động qua CDN.
Lợi ích của việc sử dụng CDN
Lợi thế rõ ràng CDN mang lại cho chủ sở hữu trang web có khách truy cập thường xuyên từ nhiều vị trí địa lý, nội dung của họ sẽ được phân phối nhanh hơn đến những người dùng này.
Ngoài việc tăng tốc phân phối nội dung, CDN còn mang lại nhiều lợi thế khác. Đối với người mới bắt đầu, nó làm giảm chi phí cơ sở hạ tầng CNTT vì bạn không còn cần phải mua các máy chủ trên toàn cầu. Các CDN thường có giá hợp lý hơn và cũng dễ triển khai và quản lý hơn một nhóm máy chủ trên toàn thế giới.
Tương tự như vậy, CDN cung cấp cho chủ sở hữu trang web khả năng dễ dàng tăng hoặc giảm quy mô theo yêu cầu lưu lượng truy cập của họ. Chúng cũng thực hiện cân bằng tải cho website, vì chúng giúp gánh bớt tải khỏi máy chủ gốc bằng cách xử lý lưu lượng truy cập đến, chuyển hướng người dùng đến nội dung lưu trữ trong cache, giảm tắc nghẽn mạng, mang lại cho khách truy cập trải nghiệm người dùng tốt hơn.
Nhiều nhà cung cấp CDN cũng có khả năng phát hiện và ngăn chặn các cuộc tấn công từ chối dịch vụ (DDos) phân tán, do đó bảo vệ máy chủ gốc của bạn, đồng thời đảm bảo truy cập không bị gián đoạn vào website của bạn.
Vì CDN tính phí dịch vụ của họ dựa trên lượng dữ liệu được phân phối (thường là mỗi GB), họ thu thập và cung cấp phân tích dữ liệu có thể hữu ích cho người tạo nội dung. Tùy thuộc vào loại hoặc siêu dữ liệu được CDN thu thập, chủ sở hữu trang web có thể sử dụng phân tích dữ liệu để cải thiện nội dung của họ và xác định các lỗ hổng trong chiến lược tiếp cận của họ.
Một trong những lợi thế gián tiếp của việc sử dụng CDN là xếp hạng SEO được cải thiện . Điều này xuất phát từ một trong những yếu tố mà các công cụ tìm kiếm tính đến khi xếp hạng một trang web là thời gian tải trang. Các công cụ tìm kiếm sẽ xếp hạng các trang web nhanh hơn cao hơn các trang web chậm hơn với tỷ lệ thoát cao.
Cách chọn CDN nào tốt ?
Giống như với tất cả các dịch vụ cơ sở hạ tầng web, không có sự thiếu hụt các nhà cung cấp CDN để lựa chọn. Chúng tôi khuyên bạn nên bắt đầu bằng cách lập danh sách các loại nội dung bạn muốn phân phối qua CDN, khu vực địa lý bạn muốn bao phủ, lượng băng thông bạn cần và ngân sách của bạn.
Tiếp theo, bạn cần liệt kê các nhà cung cấp CDN dựa trên một số cân nhắc chung trước khi tìm nhà cung cấp tốt nhất đáp ứng yêu cầu của bạn. Toàn bộ ý tưởng của việc sử dụng CDN là cung cấp nội dung nhanh hơn, đó là lý do tại sao bạn nên đảm bảo CDN bạn chọn nhanh hơn máy chủ gốc của bạn.
Lưu ý các CDN được tối ưu để cung cấp loại nội dung bạn lưu trữ. Ví dụ: trong khi hầu hết các CDN sẽ cung cấp tất cả các loại dữ liệu, có những CDN chuyên biệt đã tối ưu hóa mạng của họ để cung cấp một loại nội dung cụ thể, đặc biệt là video phát trực tuyến Full HD và 4K. Một số nhà cung cấp CDN có uy tín cũng sẽ sử dụng thêm các lớp bộ nhớ đệm để giảm tải trên máy chủ gốc của bạn.
Khả năng mở rộng của CDN cũng là một yếu tố quan trọng, đặc biệt là đối với các trang web thỉnh thoảng có lưu lượng truy cập tăng đột biến. CDN tốt nhất không nên chỉ cung cấp khả năng mở rộng mà còn phải cho phép tự động hóa quy trình để theo kịp lưu lượng truy cập.
Bên cạnh các tính năng phân phối nội dung này, cũng hãy để ý lượng thời gian mà các CDN cần để truyền nội dung của bạn trên toàn mạng của họ. Tương tự, bạn cũng cần lưu ý thời gian cần thiết để CDN xóa cache trong trường hợp bạn cần gỡ bỏ một phần nội dung.