Monday, January 25, 2016

GIỚI THIỆU HỆ ĐIỀU HÀNH LINUX, HỆ THỐNG NHÚNG

Hiện nay, cùng với sự phát triển mạnh mẽ của hệ điều hành Windows của hãng Microsoft, trong thế giới công nghệ thông tin chứng kiến sự ra đời và phát triển như vũ bão của hệ điều hành mã nguồn mở Linux. Hệ điều hành Linux có khả năng tương thích với phần cứng cao, và hệ thống mã nguồn mở lớn cho phép người lập trình xây dựng ứng dụng “nhúng” một cách dễ dàng.

Bên cạnh đó, người sử dụng có thể xây dựng một hệ điều hành cho riêng mình, đây là thế mạnh của Linux nó giúp cho mỗi cơ quan, tổ chức, hay một quốc gia có thể xây dựng những hệ thống chương trình cho riêng mình nhằm tăng tính bảo mật. Đây là một ý nghĩa thực tiễn rất lớn về việc ứng dụng Linux trong các hệ thống điều khiển của nhiều lĩnh vực như: quân sự, ngân hàng, và các hệ thống điều khiển nhúng, .v.v…

1. Hệ điều hành Linux (Linux OS)
Linux là một hệ điều hành mã nguồn mở (open-source OS) chạy trên hầu hết các kiến trúc vi xử lý, bao gồm dòng vi xử lý ARM. Linux được hỗ trợ bởi một cộng đồng mã nguồn mở (GNU), chính điều này làm cho Linux rất linh hoạt và phát triển rất nhanh với nhiều tính năng không thua kém các hệ điều hành khác hiện nay. Tất cả các ứng dụng chạy trên hệ điều hành UNIX đều tương thích với Linux.

Hầu hết các bản Linux đều hỗ trợ rất nhiều ngôn ngữ lập trình, đặc biệt công cụ GCC cho phép người lập trình có thể biên dịch và thực thi ứng dụng viết bằng nhiều ngôn ngữ lập trình khác nhau: C/C++, Java, .v.v... Ngoài ra, Linux còn hỗ trợ ngôn ngữ lập trình để phát triển các ứng dụng đồ họa như: JTK+, Qt, .v.v...

Ngoài các thiết kế hệ điều hành dành cho máy tính desktop và máy chủ (server), các nhà cung cấp hệ điều hành linux còn thiết kế ra các bản chuyên biệt cho các mục đích khác nhau như: hỗ trợ kiến trúc máy tính, hệ thống nhúng (embedded Linux system), các hệ thống bảo mật, an ninh mạng, .v.v…

Do chi phí thấp, khả năng thay đổi tương thích với phần cứng dễ dàng, nên nhúng Linux thường được sử dụng rất nhiều trong các hệ thống nhúng (embedded system). Ngày nay, Linux đã trở thành một đối thủ cạnh tranh lớn về lĩnh vực hệ điều hành trong các dòng điện thoại thông minh (smartphone), các thiết bị PDA (personal digital assistant) và là một lựa chọn thay thế cho sự độc quyền của Windows CE và Palm OS.

2. Giới thiệu hệ thống nhúng (embeded system)
2.1 Hệ thống “nhúng” là gì?

Theo định nghĩa của IEEE (Hiệp hội kỹ sư điện và điện tử Hoa kỳ):
Hệ thống nhúng là một phần của hệ thống lớn hơn và thực hiện một số chức năng của hệ thống đó.

Nói một cách đơn giản khi một hệ tính toán (có thể là PC, PLC, vi xử lý, vi điều khiển, DSP, .v.v…) được nhúng vào trong một sản phẩm hay một hệ thống một cách “hữu cơ” và thực hiện một số chức năng cụ thể của hệ thống thì ta gọi đó là một hệ thống nhúng.

Các nhà thống kê trên thế giới đã thống kê được số vi xử lý ở trong các máy PC và các máy chủ (server), các mạng LAN, WAN, Internet chỉ chiếm không đầy 1% tổng số vi xử lý có trên thế giới. Hơn 99% số vi xử lý còn lại nằm trong các hệ thống “nhúng”.

Các hệ “nhúng” được tích hợp trong các thiết bị đo lường điều khiển, các sản phẩm điện tử và tự động hóa tạo nên đầu não và linh hồn của sản phẩm.

Trong các hệ “nhúng”, hệ thống điều khiển “nhúng” đóng một vai trò hết sức quan trọng. Hệ điều khiển “nhúng” là hệ thống mà chương trình máy tính được nhúng vào vòng điều khiển của sản phẩm nhằm điều khiển một đối tượng, điều khiển một quá trình công nghệ đáp ứng các yêu cầu đặt ra. Hệ thống điều khiển “nhúng” lấy thông tin từ các cảm biến, xử lý tính toán các thuật điều khiển và phát tín hiệu điều khiển cho các cơ cấu chấp hành.

Khác với các hệ thống điều khiển cổ điển theo nguyên lý cơ khí, thuỷ lực, khí nén, relay, mạch tương tự, v.v… Hệ điều khiển “nhúng” là hệ thống điều khiển số được hình thành từ những năm 1960 đến nay. Trước đây các hệ điều khiển số thường do các máy tính lớn đảm nhiệm, ngày nay chức năng điều khiển số này do các chip vi xử lý, các hệ nhúng đã thay thế. Phần mềm điều khiển ngày càng tinh xảo tạo nên độ thông minh của thiết bị và ngày càng chiếm tỷ trọng lớn trong giá thành của thiết bị.

Như vậy không phải tất cả các sản phẩm đo lường và điều khiển đều là các hệ nhúng. Hiện nay chúng ta còn gặp nhiều hệ thống điều khiển tự động hoạt động theo nguyên tắc cơ khí, thuỷ lực, khí nén, relay, hoặc điện tử tương tự, v.v…có các chương trình điều khiển được hình thành không cần sử dụng kỹ thuật “nhúng”.

Ngược lại phần lớn các sản phẩm điện tử, tự động hóa hiện nay đều có nhúng trong nó các chip vi xử lý hoặc một mạng nhúng. Ngày nay, các sản phẩm điện tử ngày càng tinh xảo và càng thông minh mà phần hồn của nó do các phần mềm nhúng trong nó tạo nên, và đó là xu hướng không thể đảo ngược của khoa học công nghệ ở thế kỷ 21.

Chức năng xử lý thông tin ở PC và ở các thiết bị “nhúng” có những nét khác biệt. Đối với PC và mạng Internet chức năng xử lý đang được phát triển mạnh ở các lĩnh vực như thương mại điện tử, ngân hàng điện tử, chính phủ điện tử, thư viện điện tử, đào tạo từ xa, báo điện tử, .v.v... Các ứng dụng này thường sử dụng máy PC để bàn, mạng WAN, LAN hoạt động trong thế giới ảo.

Còn đối với các hệ nhúng thì chức năng xử lý tính toán được ứng dụng cụ thể cho các thiết bị vật lý (thế giới thật) như điện thoại di động, quần áo thông minh, các thiết bị điện tử cầm tay, thiết bị y tế, xe ô tô, tàu tốc hành, phương tiện vận tải thông minh, máy đo, đầu đo cơ cấu chấp hành thông minh, các hệ thống điều khiển, nhà thông minh, .v.v...

2.2 Cấu trúc hệ thống “nhúng”
Các hệ nhúng là những hệ kết hợp phần cứng và phần mềm một cách tối ưu. Một số đặc trưng cơ bản của hệ “nhúng”:
–  Tính chuyên dụng cao.
–  Ràng buộc về hoạt động trong chế độ thời gian thực.
–  Hạn chế về bộ nhớ, năng lượng, giá thành cao.
Tuy nhiên, đòi hỏi hoạt động với độ tin cậy cao và tiêu tốn ít năng lượng.

2.3 Hệ thống điều khiển tích hợp (SoC)
Ngày nay, công nghệ thiết kế chip có xu hướng chuyển từ linh kiện riêng rẽ sang chip vi hệ thống (SoC) có khả năng lập trình được phát triển rất mạnh mẽ.

Các chip vi hệ thống (SoC) trong tương lai sẽ có tới 1000 bộ xử lý và 100 MB memory, đồng thời được tích hợp rất nhiều khối như PSD, ADC, I2C, PWM, DAC, Wireless, SPI, USB, CAN, Ethernet, .v.v… Các chip SoC này sẽ là nền tảng của các sản phẩm có khả năng kết nối mạng WAN-LAN không dây cho các dịch vụ thông tin, giải trí, truyền thông, định vị ở bất cứ đâu, bất cứ thời gian nào cho tất cả công dân trên hành tinh này. Các vật dụng sẽ có khả năng nhìn, nghe, nói, có cảm xúc và nhạy bén thích nghi với yêu cầu của con người.

Hiện nay, các sản phẩm của hệ thống nhúng đa phần đều sử dụng chip SoC với tốc độ xử lý lên đến hàng GHz mà điển hình là chip ARM-CortexA8. Với tính linh hoạt trong lập trình phần mềm cho các hệ nhúng nên SoC sẽ là công cụ chủ chốt cho các sản phẩm điện tử.

2.4 Nhúng Linux (Embedded Linux) chạy trên vi xử lý ARM
Embedded Linux hiện đang phát triển mạnh và chiếm vị trí số 1. Hiện nay 40% các nhà thiết kế các hệ nhúng cân nhắc đầu tiên sử dụng Embedded Linux cho các ứng dụng mới của mình và sau đó mới đến các hệ điều hành nhúng truyền thống như Win CE. Các đối thủ cạnh tranh của Embedded Linux hiện nay là các hệđiều hành nhúng tự tạo và Windows CE.

Hình 2.2 Embedded Linux chạy trên ARM9 kit

Embedded Linux có sự phát triển vượt bậc là do có sức hấp dẫn đối với các ứng dụng không đòi hỏi thời gian thực như; các hệ server nhúng, các ứng dụng giá thành thấp và đòi hỏi thời gian đưa sản phẩm ra thị trường nhanh. Mặt khác Linux là phần mềm mã nguồn mở nên bất kỳ ai cũng có thể hiểu và thay đổi theo ý mình. Linux cũng là một hệ điều hành có cấu trúc module và chiếm ít bộ nhớ trong khi Windows không có các ưu điểm này.

Bên cạnh các ưu điểm trên thì Embedded Linux cũng có các nhược điểm sau:
- Embedded Linux không phải là hệ điều hành thời gian thực nên có thể không phù hợp với một số ứng dụng nhưđiều khiển quá trình, các ứng dụng có các yêu cầu xử lý khẩn cấp.
- Embedded Linux thiếu một chuẩn thống nhất và không phải là sản phẩm của một nhà cung cấp duy nhất nên khả năng hỗ trợ kỹ thuật chưa cao.

Do thị trường của các sản phẩm nhúng tăng mạnh nên các nhà sản xuất ngày càng sử dụng các hệ điều hành nhúng để bảo đảm sản phẩm có sức cạnh tranh và Embedded Linux đang là sản phẩm hệ điều hành nhúng có uy tín chiếm vị trí số 1 trên thế giới. Phần mềm nhúng là phần mềm tạo nên phần hồn, phần trí tuệ của các sản phẩm nhúng. Phần mềm nhúng ngày càng có tỷ lệ giá trị cao trong giá trị của các sản phẩm nhúng.

Hiện nay, phần lớn các phần mềm nhúng nằm trong các sản phẩm truyền thông và các sản phẩm điện tử tiêu dùng (consumer electronics), tiếp đến là trong các sản phẩm ô tô, phương tiện vận chuyển, máy móc thiết bị y tế, các thiết bị năng lượng, các thiết bị cảnh báo bảo vệ, các sản phẩm đo lường và điều khiển.

Trên phương diện phần mềm (software) thì Embedded Linux là một hệ điều hành chủ chốt trong việc phát triển các sản phẩm nhúng hiện nay. Đối với bộ xử lý trung tâm thì có khoảng 75% trong tổng các CPU nhúng 32 bit hiện nay dựa trên kiến trúc vi xử lý ARM.

Nguồn: armlinux.info

Ai đang hỗ trợ và hưởng lợi từ Linux?

Nếu bạn vẫn “thần tượng” cộng đồng nguồn mở thì đã đến lúc nên nghĩ lại. Hệ điều hành nguồn mở miễn phí không được phát triển bởi các lập trình viên độc lập đóng góp công sức của họ vì cộng đồng mà phần lớn là vì tiền.
Linux kernel là cấp thấp nhất của phần mềm chạy trên một hệ thống Linux, chịu trách nhiệm quản lý phần cứng, chạy các chương trình ứng dụng, đảm bảo an ninh và duy trì tính toàn vẹn của toàn bộ thiết lập. Điều mà nhiều người không nhận ra là nhân Linux hiện chủ yếu được phát triển bởi một nhóm nhỏ các lập trình viên được trả tiền.
Một tỷ lệ lớn các nhà phát triển này đang làm việc cho các “ông lớn” trong ngành công nghiệp phần mềm và phần cứng, như IBM, Intel, Texas Instruments và Cisco. Đó là thông tin từ một báo cáo của Linux Foundation về phát triển nhân Linux mới được công bố trong tháng 2 vừa qua.

Ai đang hỗ trợ và hưởng lợi từ Linux, Linux, mã nguồn mở, nguồn mở, dự án nguồn mở,open source
Nhiều công ty công nghệ lớn đang trả tiền cho các lập trình viên phát triển nhân Linux.
Không ai lập trình miễn phíTrong thực tế, có hơn 80% số dòng lệnh của nhân Linux “rõ ràng được thực hiện bởi các nhà phát triển được trả tiền cho công việc của họ”, bởi các công ty lớn này (và đôi khi là các công ty nhỏ hơn), theo báo cáo.
Trong danh sách các công ty chi tiền cho các nhà phát triển nhân Linux không có tên của Microsoft, là công ty dựa trên mô hình kinh doanh phần mềm độc quyền, vốn coi nguồn mở là kẻ thù số 1, nay đã cởi mở hơn cũng bắt đầu hứng thú với mã nguồn miễn phí.
Nhưng trong danh sách các “nhà tài trợ” nguồn mở của báo cáo đáng chú ý có cái tên Huawei, công ty công nghệ của Trung Quốc được thành lập bởi một cựu sĩ quan quân đội Trung Quốc. Đó là một vấn đề đáng quan tâm, bởi mặc dù công ty phủ nhận có liên kết với chính phủ Trung Quốc, nhưng một số chính phủ như Mỹ, Anh và Australia, đã cấm mua một số sản phẩm phần cứng của Huawei. Chính phủ các nước này lo ngại rằng thiết bị của Huawei có thể chứa phần mềm mở cửa hậu được sử dụng để tiến hành các hoạt động gián điệp.
Khoảng 1% các thay đổi về nhân Linux hiện đang được viết bởi các lập trình viên nhận tiền công từ Huawei, theo báo cáo.
Giữ nguồn mở mở
Amanda McPherson, Phó chủ tịch diễn đàn các nhà phát triển tại Linux Foundation, chỉ ra rằng điểm căn bản của phần mềm mã nguồn mở là vẫn mở để xem xét và giám sát chặt chẽ, trái ngược với phần mềm độc quyền mà chạy trong nhiều sản phẩm phần cứng được bán bởi Huawei và các công ty khác.
“Bảo mật luôn là một mối quan tâm, nhưng mọi miếng vá thông qua các nhà bảo dưỡng, và có rất nhiều mã nguồn phải xem xét. Cơ chế đó an toàn hơn nhiều so với một hệ thống đóng không cho phép nhìn thấy mã nguồn”, theo bà McPherson.
Điều đó có thể đúng, nhưng những lỗ hổng bảo mật nghiêm trọng như “Trái tim rỉ máu” Heartbleed và Shellshock mới được phát hiện trong Bash và phần mềm nguồn mở OpenSSL chứng tỏ rằng mã nguồn không an toàn có thể được đưa vào các sản phẩm nguồn mở, do vô tình hay cố ý, mà có thể không bị phát hiện trong nhiều năm trời.
Thực tế là phần lớn các nhà phát triển nhân Linux được trả tiền công, đó là một sự thay đổi lớn của Linux so với tuyên bố của Linus Torvalds trên comp.os.minix trong tháng 8/1991 khi còn là một sinh viên tại Đại học Helsinki. Vào thời điểm đó, ông nói, “Tôi đang phát triển (miễn phí) một hệ điều hành (chỉ là một sở thích riêng, sẽ không lớn và chuyên nghiệp như GNU) cho các máy tính AT 386 (486)”.
Theo báo cáo thì công sức đóng góp của sinh viên và các tình nguyện viên cho nhân Linux đang giảm đều: từ 14,6% đóng góp trong năm 2012, nay chỉ còn 11,8%.
“Khi thu thập được những số liệu này, chúng tôi đã bất ngờ thấy rất nhiều người đóng góp được trả tiền, và trong thực tế, điều đó cũng là một bất ngờ đối với công chúng. Hóa ra Linux là một doanh nghiệp có tính thương mại cao”, McPherson nói. “Nhiều người nghĩ rằng các tình nguyện viên làm việc trong các tầng hầm. Tôi nghĩ rằng sự đóng góp của các công ty là điều tốt, mặc dù xuất phát từ động cơ ích kỷ. Họ đang hỗ trợ cho Linux, nhưng họ không thể sở hữu nó hoặc ra lệnh cho nó phát triển ra sao”.
Bà chỉ ra rằng nếu Linux là một ứng dụng, thì các nhà phát triển được trả tiền sẽ thêm các tính năng đáp ứng nhu cầu của các công ty chi trả cho họ. Nhưng nhân gồm nhiều mã nguồn cấp thấp, và những đóng góp của các nhà phát triển được trả tiền thường liên quan đến việc cung cấp trình điều khiển phần cứng trong nhân Linux.
Mất dần tính nghiệp dư
Vậy thì có một câu hỏi thú vị là lý do tại sao việc phát triển nhân Linux đã thay đổi quá nhiều từ “chỉ là một sở thích riêng” như tuyên bố ban đầu của Torvalds vào năm 1991, cho tới sự tham gia của các nhà phát triển chuyên nghiệp làm việc cho các công ty.
Dường như câu trả lời là các doanh nghiệp lớn, đặc biệt là các nhà sản xuất phần cứng như Intel hay Texas Instruments, có lợi trong việc đảm bảo rằng có trình điều khiển phần cứng của họ trong nhân Linux, hay nói cách khác Linux có thể hỗ trợ các sản phẩm của họ. Qua thời gian, Linux đã trở nên ngày càng phổ biến, và kiểu hỗ trợ như vậy trở nên ngày càng quan trọng.
Nhưng McPherson tin rằng có một lý do đơn giản hợp lý hơn. “Thiếu nguồn cung cấp các nhà phát triển nhân, vì vậy bất cứ ai chứng tỏ mình có khả năng viết code kiếm việc không khó. Trên thực tế, nguồn cung bị thiếu mới là vấn đề lớn”, báo cáo cho biết.
Trong một lưu ý tích cực hơn, báo cáo nêu một số thành tựu nổi bật theo như diễn tả của McPherson là “dự án phần mềm hợp tác nhất trong lịch sử”.
Nhờ những đóng góp từ 11.695 nhà phát triển làm việc cho hơn 1.200 công ty, nhân Linux đã được cập nhật với các bản phát hành chính mỗi 8-12 tuần. Mỗi bản phát hành bao gồm hơn 10.000 thay đổi, có nghĩa là cứ khoảng mỗi giờ lại có 7 thay đổi được chấp nhận đưa vào nhân, một tốc độ thay đổi đáng kinh ngạc

Hiện trạng phát triển Linux và phần mềm nguồn mở



Một số vấn đề định hướng cho Linux và phần mềm nguồn mở ở Việt Nam. Cách đây không lâu, phong trào phát triển và sử dụng hệ điều hành nguồn mở, trong đó nổi bật là Linux, đã bùng phát mạnh mẽ với mục tiêu lãng mạn: phá vỡ sự độc quyền của Microsoft, hạ giá thành phần mềm trong máy tính và tạo ra cái riêng của mình. Với Việt Nam, chúng ta đã có 2 cuộc hội thảo Quốc gia về phần mềm nguồn mở, cũng đã có 3 công ty công bố hệ điều hành Linux Việt Nam (Tổng công ty điện tử tin học VN, CMC, Vietkey), và Chính phủ vừa phê duyệt dự án tổng thể ứng dụng và phát triển phần mềm nguồn mở ở Việt Nam giai đoạn 2004-2008. Nhưng rồi, sau mỗi cuộc hội thảo, sau mỗi lần công bố sản phẩm mới, niềm hứng khởi học thuật trào lên rồi hạ xuống, những kỳ vọng rộ lên rồi lại rơi vào lãng quên.


Ngay gần đây nhất, công ty CMC cài đặt sẵn hệ điều hành Linux của mình trong máy, nhưng thử hỏi chính những người mua sử dụng nó như thế nào, hay là mua rồi lại phải mất công bỏ nó đi mà cài lại Windows. Chẳng có gì khác trước cả. Cái khác chăng là người lắp ráp có cái mà nói về nội địa hóa, có cái mà đối phó với bản quyền phần mềm cài trên máy. Rồi Vietkey Linux, các cuộc trao thưởng đã đưa sản phẩm này lên như là lối thoát của hệ điều hành Việt Nam, tưởng như sau đó chẳng còn phải lo gì đến ngày hiệp định thương mại Việt - Mỹ có hiệu lực, nhưng thực tế ít ai sử dụng. Bản chất mở của phần mềm nguồn mở đã khuyến khích khát vọng tự do phát triển của các nhà công nghệ. Nhưng đấy là khát vọng cá nhân, còn đối với một quốc gia thì lại không thể hoàn toàn tự do như vậy được. Để triển khai ứng dụng và phát triển Linux, đã có rất nhiều dự án được lập ra ở nhiều nước và tổ chức quốc tế. Có thể tạm phân thành các nhóm dự án thông tin Linux (trên 15 dự án), dự án cổng phần cứng (trên 20 dự án), dự án khoa học và hiệu năng cao (gần 10 dựa án), dự án phần mềm Linux (trên 80 dự án). Đã đến lúc cần phối hợp hành động giữa các cơ quan có trách nhiệm của Chính phủ, doanh nghiệp phần mềm, các trường và các nhà khoa học trong một (hoặc một vài) dự án chung về phát triển Linux Việt Nam. Những nội dung chính của dự án có thể là: lựa chọn dòng phân phối Linux phù hợp với từng môi trường ứng dụng Linux cụ thể ở Việt Nam, xây dựng Vietnam Linux Base Standards, lập và triển khai Vietnam Linux Documentation Project, lập quỹ Linux Việt Nam. Cần hình thành dần một cộng đồng phần mềm nguồn mở ở ngay Việt Nam. Cái đặc điểm phát triển nhanh của công nghệ thông tin nó không chờ đợi ai cả. Có thể hôm nay chúng ta còn đang bận tâm giải quyết vấn đề nội địa hóa máy tính để bàn, thì ngày mai loại máy thông dụng trên thị trường có khi lại là máy tính xách tay hoặc mini-PC. Cuộc rượt đuổi ấy sẽ tiếp tục mãi, nếu không có những định hướng chiến lược chính xác.[1]


Bộ quốc phòng và bộ công an đã sử dụng phần mềm nguồn mở để phát triển các ứng dụng về bảo mật và an toàn, an ninh thông tin. Công ty Vietsoftware đã trúng thầu xây dựng cổng thông tin Hà Nội với các ứng dụng được xây dựng trên nền nguồn mở. Công ty CMC đã trúng thầu xây dựng hệ thống thông tin của Đảng từ trung ương đến địa phương trên nền phần mềm nguồn mở việc triển khai đã được thực hiện ở Trung ương và một số địa phương thí điểm.[2]


Mới đây nhất trong ngày 15/06/2012, tại Hà Nội, bộ thông tin và truyền thông đã tổ chức buổi hội thảo phần mềm nguồn mở trong các cơ quan tổ chức Nhà nước. Hội thảo này là một phần của dự án phát triển công nghệ thông tin và truyền thông Việt Nam do ngân hàng Thế giới tài trợ. Tham dự hội thảo có thứ trưởng bộ thông tin và truyền thông ông Nguyễn Minh Hồng, đại diện lãnh đạo một số đơn vị chức năng thuộc bộ thông tin và truyền thông, đại diện lãnh đạo một số sở thông tin và truyền thông, đại diện câu lạc bộ VFOSSA, đại diện các doanh nghiệp viễn thông, công nghệ thông tin… phát biểu khai mạc hội thảo, thứ trưởng bộ thông tin và truền thông. Nguyễn Minh Hồng khẳng định: “lợi ích của phần mềm nguồn mở đã thấy rõ đó là tiết giảm chi phí trong việc sử dụng phần mềm cho ứng dụng công nghệ thông tin trong các tổ chức. Ứng dụng phần mềm nguồn mở có sự đảm bảo tốt hơn về an ninh an toàn thông tin khi các hệ thống thông tin ngày càng quan trọng nhưng dễ bị tổn thương”. Các chuyên gia hàng đầu thế giới đã khẳng định phần mềm nguồn mở làm giảm rủi ro tấn công từ bên ngoài điều đó giúp thúc đẩy phát triển ngành công nghiệp công nghệ thông tin, đặc biệt là ngành dịch vụ công nghệ thông tin khi sử dụng phần mềm nguồn mở. Thứ trưởng Nguyễn Minh Hồng cũng đề nghị các đơn vị chuyên trách công nghệ thông tin các bộ, sở thông tin truyền thông. Đề xuất thẳng thắn, rõ ràng, để Chính phủ xem xét triển khai trong thời gian tới như thế nào. Với cách làm hiện nay, kết quả còn rất hạn chế... cần thay đổi cách làm thì mới có thể đạt kết quả đột phá, mọi người có thể hài lòng với những việc đã và đang làm…[3]


[1] Lê Trung Trực, Linux và cơ chế quản lý Nhà nước, http://www.pcworld.com.vn/articles/kinh-doanh/giai-phap/2004/08/1186114/linux-va-vai-tro-cua-quan-ly-nha-nuoc/, [truy cập ngày 4 tháng 10 năm 2012]
[2] Sở khoa học công nghệ Bình định, một số suy nghĩ về triển khai ứng dụng và phát triển phần mềm nguồn mở ở địa phương, tạp chí khoa học công nghệ, http://www.dostbinhdinh.org.vn/MagazineNewsPage.asp?TinTS_ID=256&TS_ID=14, [truy cập ngày 6 tháng 10 năm 2012]
[3] Lợi ích phần mềm nguồn mở, http://e-info.vn/vn/index.php/thong-tin-dien-tu/87072-l%E1%BB%A3i-%C3%ADch-c%E1%BB%A7a-ph%C3%A2%CC%80n-m%C3%AA%CC%80m-ngu%C3%B4%CC%80n-m%C6%A1%CC%89.html, [truy cập ngày 6 tháng 10 năm 2012].
                                                                                                                                                                

Microsoft đang phát triển "hệ điều hành" Linux


Một nguồn tin vừa tiết lộ Microsoft đang phát triển ứng dụng cho nền tảng Linux.


Chúng ta đang ở trong một thời gian hết sức thú vị: Apple phát hành ứng dụng cho Android và bây giờ lại đến lượt Microsoft tuyên bố phát triển hệ điều hành dựa trên Linux của riêng công ty.
Điều này không có nghĩa là Windows 11 trong tương lai sẽ phát triển dựa trên Ubuntu, chúng ta không nói về một hệ điều hành dành cho máy tính để bàn mà là về Azure Cloud Switch. Microsoft vừa tiết lộ ứng dụng dành cho các thiết bị mạng Azure Cloud Switch sẽ được xây dựng dựa trên nền tảng Linux.
Công ty mô tả Azure Cloud Switch là một "hệ điều hành nền tảng cho các trung tâm dữ liệu", cho phép người dùng khắc phục các sự cố liên quan đến phần cứng mạng, bao gồm việc tìm kiếm và sửa lỗi một cách nhanh chóng.

Microsoft phát triển ứng dụng cho Linux 
Đây không phải là một phần mềm thương mại, nó được thiết kế để dùng cho nội bộ công ty Microsoft. Tuy nhiên, cũng rất thú vị khi biết rằng Microsoft cũng quan tâm đến hệ điều hành mã nguồn mở Linux.
Gần đây đã xuất hiện một số dấu hiệu cho thấy Microsoft sẽ phát hành nhiều ứng dụng cho Linux trong tương lai. Năm nay, Microsoft đã phát hành phiên bản Visual Studio thử nghiệm cho Windows, OS X và Linux. Đây là lần đầu tiên Microsoft phát hành công cụ phát triển cho cộng đồng Linux và cũng là một dấu hiệu nữa cho thấy hãng đang mở rộng sự hiện diện của mình trên mọi nền tảng.

Minh Trung
Theo Liliputing

Tìm hiểu Linux - một hệ điều hành và nền tảng đa năng

Linux có ở khắp mọi nơi. Nếu bạn nhìn kỹ vào điện thoại thông minh nhỏ nhất, đến xương sống ảo của Internet hoặc siêu máy tính lớn nhất và mạnh mẽ nhất, bạn đều thấy Linux. Điều đó không hề là kỳ tích đơn giản căn cứ vào phạm vi của các khả năng được mong đợi từ những nền tảng này. Hãy khám phá Linux và cách mà nó được dùng ở khắp mọi nơi từ các thiết bị lớn đến các thiết bị nhỏ như thế nào.
M. Tim Jones, Tác giả tự do, Consultant
Tim là một trong những tác giả viết nhiều và nổi tiếng nhất của chúng tôi. Hãy duyệt tất cả các bài viết của Tim trên developerWorks. Xem hồ sơ của Tim và kết nối với ông, các tác giả khác và các độc giả cùng tham gia trong cộng đồng developerWorks.
Linux® đang ở thời điểm phát triển mạnh. Tính đến năm 2013 thì Linux đã ra đời được 22 năm, một hệ điều hành hoàn thiện với sự hỗ trợ cho một loạt các mô hình sử dụng. Nhưng thật khó khi nghĩ rằng Linux chỉ là một hệ điều hành—nó giống như một con tắc kè hoa thì đúng hơn. Nhân mô đun và tính linh hoạt của nó có thể xử lý trong nhiều mô hình sử dụng (từ siêu máy tính lớn nhất đến các thiết bị nhúng nhỏ nhất) đến mức thật khó phân loại nó vào bất cứ thứ gì khác hơn là một công nghệ khả dụng. Trong thực tế, Linux là một nền tảng. Nó là một công nghệ then chốt cho phép tạo ra các sản phẩm mới, mà một vài trong số các sản phẩm đó mới chỉ được giới thiệu gần đây.
Hãy bắt đầu bằng một cuộc khảo sát nhanh về Linux, kiến trúc cơ bản và một số nguyên tắc quan trọng của nó. Sau đó, xem xét Linux áp dụng những nguyên tắc này như thế nào cho một loạt các mô hình sử dụng và tại sao nó là một nền tảng, chứ không chỉ là một hệ điều hành.

Linux là gì?

Nhìn bề ngoài, Linux là một hệ điều hành. Như thể hiện trong Hình 1, Linux gồm có một nhân kernel (mã cốt lõi quản lý các tài nguyên phần cứng và phần mềm) và một bộ sưu tập các ứng dụng của người dùng (chẳng hạn như các thư viện, các trình quản lý cửa sổ và các ứng dụng).
Hình 1. Linux nhìn bề ngoài
Sơ đồ cho thấy tất cả các thành phần của Linux cho những người dùng, nhân và phần cứng 

\Sơ đồ trên chỉ ra các thành phần quan trọng. Tầng cuối cùng chính là một tập hợp mã kiến trúc giúp Linux có thể hỗ trợ đa nền tảng phần cứng (ARM, PowerPC, Tilera TILE v.v...). Tất nhiên, chức năng này được đăng ký theo giấy phép GNU, tạo nên tính di động của Linux. 

Linux theo phong cách riêng của mình trong lĩnh vực về tính di động . Hệ thống con của trình điều khiển (là rất lớn về khả năng của nó) hỗ trợ động các mô đun được nạp mà không ảnh hưởng đến hiệu năng, tạo nên tính mô đun (thêm vào một nền tảng động hơn). Linux cũng bảo mật ở mức nhân kernel (trong một số lược đồ) tạo nên một nền tảng bảo mật Trong miền hệ thống tệp bên ngoài, Linux tạo nên một mảng lớn nhất về hỗ trợ hệ thống tệp của bất kỳ hệ điều hành nào, như là một ví dụ, tạo nên tính linh hoạt thông qua tính mô đun thiết kế. Linux thực hiện không chỉ các tính năng lên lịch trình tiêu chuẩn mà còn lên lịch trình thời gian thực bao gồm các bảo đảm về độ trễ ngắt).
Cuối cùng, Linux là mở, có nghĩa là trên thực tế bất cứ ai cũng có thể xem và cải thiện dựa vào nguồn gốc của nó. Tính mở này cũng giảm thiểu các cơ hội bị lợi dụng, tạo ra một nền tảng an toàn hơn. Nhiều công ty đóng góp cho Linux, bảo đảm rằng nó sẽ tiếp tục giải quyết một loạt các mô hình sử dụng trong khi vẫn duy trì các đặc tính cốt lõi của mình.
Bảy nguyên tắc quan trọng này chắc chắn không phải là các thuộc tính duy nhất mà Linux cung cấp, nhưng chúng cho phép Linux dùng như một nền tảng đa năng trên rất nhiều các mô hình sử dụng. Hơn nữa, Linux là như nhau trên các mô hình sử dụng này—không chỉ các nguyên tắc thiết kế mà còn bản thân mã của nó nữa. Người ta không thể nói điều này về các hệ điều hành khác (như Windows®—máy tính để bàn, máy chủ, hoặc thiết bị nhúng—hoặc Mac OS X hoặc Apple iOS), chúng có phân khúc dịch vụ và mô hình sử dụng khác.

Linux ở đâu?

Linux ở đâu có thể khó trả lời hơn là nó không ở đâu. Với khả năng biến đổi nhanh và mở rộng quy mô của mình, có thể tìm thấy Linux trong tất cả các phân khúc máy tính (và thậm chí một số phân khúc vẫn chưa được định nghĩa đầy đủ). Phần này xem xét một số các phân khúc điện toán quan trọng, bao gồm máy tính để bàn/netbook, máy chủ, cluster, máy tính lớn Mainframe, siêu máy tính, thiết bị cầm tay/máy tính bảng, thiết bị nhúng, ảo hóa và các máy thử nghiệm (xem Hình 2).
Hình 2. Các thuộc tính và các phân khúc của Linux được tập trung vào
Sơ đồ cho thấy các thuộc tính Linux và các phân khúc mà chúng giải quyết

Máy tính để bàn và netbook

Các máy tính để bàn và các netbook, nơi có nhiều người sử dụng Linux, là lĩnh vực trong đó Linux cạnh tranh nhiều nhất. Dữ liệu thị phần gần đây chỉ ra rằng Linux nắm giữ khoảng 1,5% thị trường máy tính để bàn, nhưng lại nắm giữ khoảng 32% thị trường netbook. Những con số này có thể xem ra là thấp, nhưng là một nhà phát triển, tôi có xu hướng thấy Linux nhiều hơn so với bất kỳ hệ điều hành khác nào.
Linux đã bắt đầu như là một hệ điều hành thử nghiệm đơn giản và với việc giới thiệu XFree86 vào năm 1994, một trình quản lý cửa sổ đã cho thấy sự hứa hẹn của một hệ điều hành máy tính để bàn còn non trẻ. Ngày nay, một số trình quản lý cửa sổ có sẵn cho Linux cho phép người dùng biến phong cách riêng của nó thành các nhu cầu của họ. Hơn nữa, Linux thay đổi quy mô tự động với các khả năng xử lý (như là đa luồng đối xứng và đa lõi), lập lịch trình hiệu quả.

Linux và thị trường việc làm

Năm 2012, một cuộc khảo sát của Dice.com và Linux Foundation cho thấy rằng 81% trong 2.000 người được hỏi cho rằng việc tuyển dụng làm về Linux là một ưu tiên. Không chỉ là Linux đang điều khiển ngành công nghiệp, mà nó còn đang hướng nghiệp nữa.

Máy chủ

Linux thống trị thị trường máy chủ (bao gồm các máy chủ web, máy chủ thư điện tử, máy chủ Hệ thống tên miền - DNS và các thiết bị tầng sau khác). Các khảo sát gần đây cho thấy rằng hơn 60% tất cả các máy chủ chạy Linux. Ngoài các dịch vụ web truyền thống, Linux cung cấp cho nhiều tài sản Internet lớn nhất (Facebook, eBay, Twitter và Amazon v.v...), với các yêu cầu và các mô hình sử dụng khác nhau. Ngoài các tùy chọn truyền thống (chẳng hạn như web hoặc thư điện tử), Linux còn cung cấp các mảng lớn nhất về các dịch vụ web (và các tùy chọn khác nhau cho các dịch vụ đó).

Điện toán Cluster và điện toán phân tán

Linux không chỉ là một yếu tố chính trong các mô hình điện toán cluster và các mô hình điện toán phân tán, nó còn là một đơn vị điều khiển và ở lõi của nhiều mô hình sử dụng mới. Hai mô hình chính đang phát triển nhanh chóng hiện nay là điện toán đám mây và dữ liệu lớn.
Điện toán đám mây là về phân phối Công nghệ thông tin (CNTT) như một dịch vụ và dựa vào một cụm các tài nguyên chia sẻ để thay đổi quy mô theo nhu cầu ứng dụng. Các đám mây cũng dựa vào ảo hóa để hỗ trợ quản lý tự động các nút trong một cơ sở hạ tầng to lớn. Trong các môi trường đám mây, 66% tin dùng Linux làm nền tảng chính của mình.
Linux cũng đang hướng chính mình làm nền tảng cho khoa học dữ liệu. Internet thay đổi quy mô của khối dữ liệu có thể thu thập được và các vấn đề mới phát sinh trong việc xử lý dữ liệu này để xác định các mẫu có giá trị của nó. Những thứ bây giờ được gọi là Big Data (Dữ liệu lớn) đã được phát triển trên Linux như là một cách thay đổi quy mô để thao tác dữ liệu vượt quá giới hạn của các phương pháp truyền thống trước đây. Hadoop và hệ sinh thái của nó là kết quả của tính mở của Linux, cùng với một lực lượng các nhà phát triển, những người thành thạo với nền tảng này.

Máy tính Mainframe

Năm 1991, một biên tập viên nổi tiếng đã dự đoán rằng máy tính Mainframe cuối cùng sẽ bị loại bỏ vào đầu năm 1996. Tuy nhiên sau hơn 20 năm, người ta vẫn tiếp tục xây dựng và bán các máy tính Mainframe và nhiều máy chạy Linux. IBM đã bắt đầu hỗ trợ Linux trên Mainframe vào năm 2000 (chẳng hạn như IBM® System z®) và cung cấp một trải nghiệm người dùng phổ biến trên các môi trường. Một bài báo gần đây của Michael Vizard đã viết rằng khoảng 25% khối lượng công việc của Mainframe mới dựa vào Linux. (Xem phần Tài nguyên.)

Siêu máy tính

Các siêu máy tính là một cuộc đua tranh liên tục để giữ danh hiệu nhanh nhất, từ siêu máy tính Jaguar của Phòng thí nghiệm quốc gia Oak Ridge (2009) đến Tianhe-I của Trung Quốc (2010) đến công ty hàng đầu hiện nay, máy tính RIKEN Kei của Nhật Bản (2011). Vào năm 2012, siêu máy tính Sequoia của IBM sẽ được phát hành và được dự kiến vượt quá hiệu năng của RIKEN hai lần. Điều mà mỗi siêu máy tính này có điểm chung là tất cả chúng đều chạy Linux. Linux không chỉ có hiệu quả, nó còn thích nghi với các nền tảng phần cứng khác nhau làm tăng hiệu năng của nó. Điều này cũng không đáng ngạc nhiên, dựa vào hơn 90% các siêu máy tính chạy Linux. (Xem phần Tài nguyên.)

Các thiết bị di động và máy tính bảng

Với một loạt các thiết bị của người tiêu dùng bị ràng buộc nhiều hơn, các thiết bị di động và máy tính bảng đang chứng tỏ sự tăng trưởng đáng kể. Các thiết bị này đại diện cho một nhân Linux cùng với một giao diện người dùng đồ họa (GUI) tùy chỉnh. Một ví dụ quan trọng của lĩnh vực này là hệ điều hành Android của Google, được sử dụng cả trong điện thoại thông minh lẫn trong máy tính bảng. Hiện nay, hơn 25% điện thoại thông minh chạy một dạng Linux (chủ yếu là Android), với gần 40% máy tính bảng chạy Android.
Các thiết bị này tin dùng các bộ xử lý dựa trên ARM (các hệ thống trên một chip) cho hiệu năng cao và tiêu thụ điện năng thấp. Bất kể nền tảng cơ bản nào, đây là những thiết bị Linux, không phân nhánh nhân và ứng dụng.
Mới đây, Microsoft® đã khẳng định rằng đối với Windows của họ chạy trên máy tính bảng chip ARM (WOA), và họ đang phát triển ứng dụng cho nền tảng này (nói cách khác, bạn không thể chạy các ứng dụng cũ trên máy tính bảng). So sánh điều này với Linux, Linux hỗ trợ rất nhiều cho các ứng dụng di động thay vì một hệ sinh thái ứng dụng bị hạn chế và đóng kín. (Xem phần Tài nguyên.)

Các thiết bị nhúng

Cuối cùng là các thiết bị nhúng, với các mức ràng buộc khác nhau (hiệu năng của bộ xử lý, các tài nguyên như bộ nhớ và v.v). Linux là lý tưởng trong hầu hết các trường hợp này vì khả năng thu hẹp quy mô của nó và sử dụng bất kỳ các bộ vi xử lý nhúng nào có sẵn trên thị trường. Tính linh hoạt này làm cho Linux trở thành một nền tảng được sử dụng rất nhiều trong truyền hình, giải trí trong xe hơi, các hệ thống định vị và nhiều kiểu thiết bị khác.
Linux có khả năng tùy chỉnh cao và tập trung vào mức tiêu thụ điện năng thấp. Để bảo đảm sự tập trung vào điện năng, sáng kiến Less Watts (Wát thấp hơn) theo dõi sự tiêu thụ điện năng của các bản phát hành nhân Linux. Dự án này chủ yếu tập trung vào các nền tảng của Intel, nhưng cũng có thể có ích với các bộ xử lý khác.
Linux là một đề xuất khá chuẩn cho các thiết bị nhúng và có thể xác định sự thành công hay thất bại của thiết bị (hỗ trợ phát triển và xuất hiện nhanh). Một thiết bị thú vị gần đây được gọi là Raspberry Pi, một máy tính có kích thước bằng thẻ tín dụng dựa trên ARM, chạy Linux và được dự định làm một thiết bị học tập để dạy lập trình. Thiết bị này được dự kiến có giá 35 Đô la Mỹ nhưng vẫn chưa có sẵn để mua. (Xem phần Tài nguyên.)

Nền tảng ảo hóa

Một trong những lĩnh vực thú vị nhất trong đó Linux hướng tới sự đổi mới là trong lĩnh vực ảo hóa. Linux là ngôi nhà của hệ điều hành cho tất cả các loại giải pháp ảo hóa có sẵn, cho dù nền tảng hoặc ảo hóa song song, ảo hóa hệ điều hành hay nhiều ý tưởng mơ hồ hơn như ảo hóa cộng tác. Linux là một hệ điều hành có thể biến mình thành một trình siêu giám sát - hypervisor (chẳng hạn như KVM - Máy tính ảo dựa vào nhân) cũng như lưu trữ trên máy chủ một số trình siêu giám sát nghiên cứu. Để mang lại hiệu quả hơn cho ảo hóa, Linux thực hiện Kernel SamePage Merging (Kết hợp trang giống nhau của nhân) để loại bỏ có hiệu quả các trang bộ nhớ dư thừa.
Linux cũng đang hướng tới kỹ nghệ cao về một sự tiến bộ mới trong ảo hóa được gọi là ảo hóa lồng nhau.Việc lồng nhau, như tên của nó cho thấy, cho phép một trình siêu giám sát lưu trữ trên máy chủ một trình siêu giám sát khách, rồi trình khách này lần lượt lưu trữ một tập hợp các máy ảo khách trên máy chủ. Mặc dù thoáng nhìn như là một trường hợp sử dụng cũ, nhưng ảo hóa lồng nhau sẽ thay đổi điện toán đám mây và mở rộng các kiểu của các ứng dụng có thể được lưu trữ trên máy chủ ở đó. Hiện nay, KVM của Linux hỗ trợ ảo hóa lồng nhau.

Nền tảng thử nghiệm

Cuối cùng nhưng không kém quan trọng là nền tảng của chính Linux—một nền tảng thử nghiệm mà qua đó đang khám phá ra nhiều ý tưởng mới. Năm 1991, Linux đã được giới thiệu như là một hệ điều hành đồ chơi, 20 năm sau bản phát hành đầu tiên của UNIX®. Hiện nay, Linux dùng làm một nền tảng để thử nghiệm trong nghiên cứu hệ thống tệp, điện toán cụm, những đám mây, sự tiến bộ ảo hóa và mở rộng các hạn chế theo đó một nhân của hệ điều hành đơn lẻ có thể được áp dụng cho rất nhiều mô hình sử dụng. Linux như là một nền tảng cho phép thử nghiệm tăng tốc thông qua việc sử dụng cả Linux lẫn một loạt các thành phần nguồn mở to lớn. Kết quả là một loạt các công nghệ thú vị được xây dựng từ Linux, gồm có HP webOS (Hệ điều hành web của HP), Google Chrome OS (Hệ điều hành web của Google) và Android.
Một thay đổi thú vị được Linux giới thiệu là sự không phù hợp của các nền tảng phần cứng cơ bản ngày càng tăng. Linux trình bày một trải nghiệm người dùng tương tự bất kể kiến trúc phần cứng cơ bản nào. Vì vậy, cho dù một đám mây có được lấp đầy bằng các máy chủ x86 của AMD hoặc các dịch vụ dựa trên ARM điện năng thấp hay không, các ứng dụng chạy trên Linux đều được trừu tượng hóa từ các kiến trúc vật lý. Sự trừu tượng hóa này cho phép những người dùng ra các quyết định trên nền tảng dựa vào các yêu cầu của họ chứ không bị buộc chặt vào kiến trúc chung nhưng cổ xưa và không hiệu quả. Linux cân bằng sự lựa chọn.
Linux cũng là một môi trường phát triển tích hợp (IDE) độc lập. Ngoài việc lưu trữ trên máy chủ một chuỗi công cụ của trình biên dịch tầm cỡ thế giới (GNC Compiler Collection – Bộ sưu tập trình biên dịch GNC), nó còn lưu trữ trên máy chủ một loạt các công cụ trải rộng từ các trình gỡ lỗi, các trình soạn thảo, các hệ thống kiểm soát phiên bản, các công cụ tệp và các trình vỏ và các trình thông dịch để giúp tự động hóa các nhiệm vụ phát triển. Trong khả năng này Linux làm cho nó trở thành một môi trường lý tưởng để phát triển phần mềm và nghiên cứu phần mềm. (Xem phần Tài nguyên.)

Tính đa năng của Linux

Việc hỗ trợ các mô hình sử dụng khác nhau được định nghĩa ở đây chỉ đơn giản là một tùy chọn đóng gói cho Linux. Các bản phân phối của Linux tập trung vào các thị trường máy tính để bàn và máy chủ, nơi các bản phân phối chuyên dụng tập trung vào nhúng (như uClinux, nếu thiết bị nhúng của bạn thiếu một đơn vị quản lý bộ nhớ). Bất cứ ai cũng có thể nhận một nhân Linux và đóng gói một tập hợp các ứng dụng của người dùng cho một mô hình sử dụng cụ thể, tận dụng những lợi ích khác nhau của Linux (một loạt các giao thức mạng và các hệ thống tệp, nhân động và có thể cấu hình được, các giao diện lập trình ứng dụng tiêu chuẩn). Đây là một trong những lý do mà nền tảng điện thoại thông minh đang phát triển nhanh nhất chạy Linux (với một giao diện người dùng tùy chỉnh cho phong cách riêng của nó)..

Hơn nữa

Nếu bạn đã so sánh Linux với một cây cầu, nó sẽ là một điều kỳ diệu của kỹ thuật hiện đại. Mô hình phát triển phân tán của nó đã thách thức hiện tại và kết quả là một trong những sản phẩm phần mềm linh hoạt nhất từng được tạo ra, bao trùm một loạt các mô hình sử dụng từ các thiết bị nhúng rất nhỏ đến các siêu máy tính to lớn. Linux đã phát triển các ngành công nghiệp và đã đi đầu trong việc nghiên cứu tiên phong về điện toán cụm, các hệ thống tệp, các đám mây và ảo hóa. Bất kể môi trường điện toán đang ở trên đường, Linux sẽ có ở đó.