Namespace là gì

Trong điện toán, một Namespace (tạm dịch) là một tập hợp các ký hiệu được sử dụng để tạo ra sắp xếp các đối tượng ở nhiều thể loại khác nhau, để các đối tượng này có thể được gọi bằng tên. Các ví dụ nổi bật bao gồm:

  • Hệ thống tệp (file system) là Namespace gán tên cho tệp.
  • Một số ngôn ngữ lập trình tổ chức các biến và chương trình con của chúng trong Namespace.
  • Mạng máy tính và hệ thống phân tán gán tên cho tài nguyên, chẳng hạn như máy tính, máy in, trang web, tệp (từ xa), v.v.
  • Hệ điều hành có thể phân vùng tài nguyên kernel (id tiến trình, người dùng, ổ cắm mạng) bằng các Namespace riêng biệt để hỗ trợ các thùng chứa ảo hóa.

Tại sao phải có Namespace

Trong thế giới thực, nếu như các tên bị trùng với nhau sẽ rất khó để quản lý về quyền trách nhiệm của mỗi bên, chẳng hạn như cấu trúc của World Wide Web (còn được hiểu là Web). Namespace cho phép ủy quyền gán định danh cho nhiều tổ chức phát hành tên trong khi vẫn duy trì tính duy nhất toàn cầu.

Cơ quan thực hiện việc đăng ký là các trung tâm đăng ký được chỉ định. Mỗi định danh Namespace được phân bổ cho một tổ chức, sau đó chịu trách nhiệm về việc gán tên trong Namespace được phân bổ của chúng. Tổ chức này có thể là một tổ chức phát hành tên tự gán tên hoặc cơ quan đăng ký khác ủy quyền thêm một phần Namespace của họ cho các tổ chức khác nhau.

Ví dụ:

Context Name Namespace identifier Local name
Path /home/user/readme.txt /home/user (path) readme.txt (file name)
Domain name www.example.com www (host name) example.com (domain)
C++ std::array std array
UN/LOCODE US NYC US (country) NYC (locality)
XML xmlns:xhtml=”http://www.w3.org/1999/xhtml”
<xhtml:body>
http://www.w3.org/1999/xhtml body
Perl $DBI::errstr DBI $errstr
Java java.util.Date java.util Date
Uniform resource name (URN) urn:nbn:fi-fe19991055 urn:nbn (National Bibliography Numbers) fi-fe19991055
Handle System 10.1000/182 10 (Handle naming authority) 1000/182 (Handle local name)
Digital object identifier 10.1000/182 10.1000 (publisher) 182 (publication)
MAC address 01-23-45-67-89-ab 01-23-45 (organizationally unique identifier) 67-89-ab (NIC specific)
PCI ID 1234 abcd 1234 (Vendor ID) abcd (Device ID)
USB VID/PID 2341 003f 2341 (Vendor ID) 003f (Product ID)
SPARQL dbr:Sydney dbr (Previously declared ontology, e.g. by specifying @prefix dbr: <http://dbpedia.org/resource/>) Sydney

Cách tạo ra Namespace

Cách đặt Namespace cũng tương tự như các đặt tên của con người. Mỗi người đều có một cái “tên riêng” và những người trong cùng một gia đình được chia sẻ “họ” với người thân của họ.

Ví dụ: Họ tên đầy đủ của một người là Nguyễn A. Nghĩa là người đó có họ là Nguyễn, họ chung của gia đình, được những người thân chia sẻ với nhau. Tên là A, là tên riêng, dùng để phân biệt bản thân họ với những người khác.

Namespace cũng được cấu trúc như hệ thống phân cấp để cho phép tái sử dụng tên trong các bối cảnh khác nhau. Hệ thống tệp phân cấp tổ chức các tệp trong thư mục.

Ví dụ: Trong Web, một trang web có tên là www.facebook.com. Thì tên www là tên máy chủ, còn facebook.com là tên miền. Như vậy, các trang web sẽ được phân biệt với nhau, giúp người dùng dễ dàng lưu trữ và sử dụng chúng.

LIÊN HỆ TRỰC TIẾP QUANG ÂN LAND

Quý khách hàng vui lòng liên hệ trực tiếp chủ đầu tư theo: HOTLINE TƯ VẤN 24/7: 0933 829 407 hoặc cung cấp nội dung theo mẫu bên dưới, chúng tôi sẽ phản hồi trong thời gian sớm nhất. Chân thành cảm ơn Quý khách hàng đã quan tâm đến các dự án của chúng tôi đầu tư, cũng như là dự án mà chúng tôi phát triển và phân phối!





Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *