You are on page 1of 5

Nguồn gốc:

Tính từ ảo xuất phát từ quang học, trong đó hình ảnh trong gương
hoặc tại tiêu điểm của thấu kính có thể được phân tích như thể bản
sao đảo ngược hoặc đảo ngược của vật thể hiện diện. Trong lĩnh vực
máy tính, các nhà thiết kế hệ điều hành đã sử dụng thuật ngữ ảo vào
đầu những năm 1960 để chỉ các thành phần của hệ điều hành mô
phỏng máy móc hoặc thiết bị.
Việc sử dụng ảo đầu tiên trong máy tính dường như là trong dự án
M44 / 44X tại Trung tâm Nghiên cứu Yorktown của IBM vào đầu
những năm 1960. David Sayre và Les Belady thuộc nhóm do Bob
Nelson dẫn đầu đã phát triển phương pháp phân vùng máy IBM 7044
thành các tiểu liên có 7044 hình ảnh với ít bộ nhớ hơn. Trong từ viết
tắt của dự án, M44 ám chỉ máy 7044 thực và 44X ám chỉ hình ảnh
7044 thử nghiệm. Nhóm nghiên cứu đã sử dụng thuật ngữ máy ảo để
chỉ các hình ảnh 44X. Các thành viên trong nhóm đã tiến hành các
nghiên cứu hiệu suất thử nghiệm sâu rộng về bộ nhớ ảo, kiểm soát
tải và các chính sách lập lịch trình.
Vào cuối những năm 1950 tại Đại học Manchester, Tom Kilburn và
nhóm của ông đã phát minh ra bộ nhớ ảo trong.Hệ thống tập bản đồ.
Họ gọi đó là “cửa hàng một cấp”. Kho lưu trữ một cấp đã mô phỏng
một bộ nhớ chính lớn với một bộ nhớ thực nhỏ và một trống phân
trang lớn.
Vào thời điểm bị lỗi trang, hệ thống của họ đã thay thế (xóa) một
trang khỏi bộ nhớ chính và tải trang cần thiết vào vị trí của nó từ
trống. Chính sách thay thế của hệ thống phân trang Atlas đã tìm cách
tối đa hóa thời gian giữa các lỗi trang bằng cách phát hiện các vòng
lặp chương trình và thay thế trang có thời gian dự đoán dài nhất cho
đến khi sử dụng lại. Chính sách đó — và do đó, hệ thống lưu trữ một
cấp — chỉ hoạt động tốt trên các chương trình được tính toán chủ
yếu bằng các vòng lặp.
Để tìm ra các chính sách thay thế mạnh mẽ hơn, nhóm của Nelson tại
IBM đã triển khai các máy ảo (44X) chứa các cửa hàng một cấp. Với
tấm thử nghiệm đó, họ phải chịu nhiều chính sách thay thế để giám
sát thử nghiệm rộng rãi. Họ gọi bộ lưu trữ một cấp là bộ nhớ của máy
ảo, hoặc đơn giản là bộ nhớ ảo. Nhiệm kỳ của họ bị mắc kẹt. Máy ảo
tiếp tục trở thành trụ cột chính của các máy tính lớn thương mại của
IBM.

Lịch sử
Cả máy ảo hệ thống và máy ảo xử lý đều có từ những năm 1960 và
tiếp tục là những lĩnh vực phát triển tích cực.
Máy ảo hệ thống:
Các máy ảo hệ thống đã phát triển nhờ tính năng chia sẻ thời gian,
đặc biệt là được triển khai trong Hệ thống chia sẻ thời gian tương
thích (CTSS). Chia sẻ thời gian cho phép nhiều người dùng sử dụng
máy tính đồng thời:với hệ thống chuyển đổi giữa các chương trình
theo từng lát thời gian, lưu và khôi phục trạng thái mỗi lần. Điều này
đã phát triển thành các máy ảo, đặc biệt là thông qua các hệ thống
nghiên cứu của IBM: M44 / 44X, sử dụng ảo hóa một phần và CP-40
và SIMMON, sử dụng ảo hóa hoàn toàn và là những ví dụ ban đầu về
siêu giám sát.
Kiến trúc máy ảo đầu tiên được phổ biến rộng rãi là CP-67 / CMS.
Một điểm khác biệt quan trọng là giữa việc sử dụng nhiều máy ảo
trên một hệ thống máy chủ để chia sẻ thời gian, như trong M44 / 44X
và CP-40 và sử dụng một máy ảo trên hệ thống máy chủ để tạo mẫu,
như trong SIMMON. Trình giả lập, với khả năng mô phỏng phần cứng
của các hệ thống trước đó để tương thích, có từ thời Hệ thống IBM /
360 vào năm 1963, trong khi mô phỏng phần mềm (khi đó được gọi
là "mô phỏng") có trước nó.
Máy ảo xử lí:
Xử lý máy ảo ban đầu là nền tảng trừu tượng cho một ngôn ngữ
trung gian được trình biên dịch sử dụng làm đại diện trung gian của
một chương trình; các ví dụ ban đầu có niên đại khoảng năm 1966.
Một ví dụ đầu năm 1966 là máy mã O, một máy ảo thực thi mã O (mã
đối tượng) được phát ra bởi giao diện người dùng của trình biên dịch
BCPL.
Ngôn ngữ Euler đã sử dụng một thiết kế tương tự, với ngôn ngữ
trung gian có tên là P (portable). Điều này đã được phổ biến vào
khoảng năm 1970 bởi Pascal, đặc biệt là trong hệ thống Pascal-P
(1973) và trình biên dịch Pascal-S (1975), trong đó nó được gọi là mã
p và kết quả là máy mã p.
Ngoài vai trò là một ngôn ngữ trung gian, mã p Pascal còn được thực
thi trực tiếp bởi một trình thông dịch thực thi máy ảo, đặc biệt là
trong UCSD Pascal (1978); điều này ảnh hưởng đến các trình thông
dịch sau này, đặc biệt là máy ảo Java (JVM). Một ví dụ ban đầu khác
là SNOBOL4 (1967), được viết bằng Ngôn ngữ triển khai SNOBOL
(SIL), một ngôn ngữ hợp ngữ cho một máy ảo, sau đó được nhắm
mục tiêu đến các máy vật lý bằng cách chuyển tiếp đến trình hợp dịch
gốc của chúng thông qua trình hợp dịch macro. Tuy nhiên, các macro
đã không còn được ưa chuộng nữa nên cách tiếp cận này đã ít ảnh
hưởng hơn.
Lịch sử máy ảo
Những tiến bộ đáng kể đã xảy ra trong việc triển khai Smalltalk-80,
đặc biệt là việc triển khai Deutsch / Schiffmann đã thúc đẩy quá trình
biên dịch đúng lúc (JIT) như một phương pháp triển khai sử dụng máy
ảo quy trình. Các máy ảo Smalltalk đáng chú ý sau này là VisualWorks,
Máy ảo Squeak và Strongtalk.
Một ngôn ngữ có liên quan đã tạo ra rất nhiều đổi mới máy ảo là
ngôn ngữ lập trình Self, ngôn ngữ này đi tiên phong trong việc tối ưu
hóa thích ứng và thu gom rác nhiều thế hệ. Những kỹ thuật này đã
được chứng minh là thành công về mặt thương mại vào năm 1999
trong máy ảo HotSpot Java.
Những đổi mới khác bao gồm việc có một máy ảo dựa trên thanh ghi,
chứ không phải là một máy ảo dựa trên ngăn xếp, điều này phù hợp
hơn với ngôn ngữ lập trình; vào năm 1995, điều này đã được tiên
phong bởi máy ảo Dis cho ngôn ngữ Limbo. OpenJ9 là một giải pháp
thay thế cho HotSpot JVM trong OpenJDK và là một dự án nhật thực
mã nguồn mở tuyên bố khởi động tốt hơn và tiêu thụ ít tài nguyên
hơn so với HotSpot.

Máy tính lượng tử


Máy tính lượng tử (còn gọi là siêu máy tính lượng tử) là một thiết bị
tính toán sử dụng trực tiếp các hiệu ứng của cơ học lượng tử như
tính chồng chập và vướng víu lượng tử để thực hiện các phép toán
trên dữ liệu đưa vào.
Lĩnh vực máy tính lượng tử được Yuri Manin nêu ra lần đầu tiên vào
năm 1980 và bởi Richard Feynman năm 1982. Máy tính lượng tử sử
dụng tính chất spin đại diện cho các bit lượng tử cũng được hình
thành khi khái niệm không thời gian lượng tử được đưa ra vào năm
1969.
Tính đến năm 2014 tính toán lượng tử vẫn ở giai đoạn sơ khai nhưng
đã có nhiều thí nghiệm nhằm thực hiện các phép tính lượng tử trên
một số nhỏ các qubit.[6] Cả phương diện thực nghiệm và nghiên cứu
lý thuyết đều đang được triển khai, và chính phủ cũng như quân đội
nhiều nước đã hỗ trợ cho các hoạt động nghiên cứu máy tính lượng
tử ở cả mục đích dân sự và an ninh.
Vai trò
Máy tính lượng tử quy mô lớn sẽ có khả năng giải được các vấn đề
phức tạp một cách nhanh hơn bất kỳ một máy tính cổ điển sử dụng
các thuật toán tốt nhất hiện nay, như thuật toán Shor để phân tích số
tự nhiên thành tích các số nguyên tố, hoặc mô phỏng hệ lượng tử
nhiều hạt. Cũng có những thuật toán lượng tử, như thuật toán
Simon, cho phép máy tính hoạt động nhanh hơn bất kỳ một máy tính
dựa trên thuật toán xác suất cổ điển. Tuy nhiên, khi có đủ thời gian
và tài nguyên, máy tính cổ điển có thể thực hiện bất kỳ một thuật
toán lượng tử.

You might also like