Có một thực tế rằng lập trình viên không thích powershell, mình cũng vậy.
Lý do không phải powershell tệ, mà là các công cụ chạy trên powershell không nhiều. Đặc biệt gây khó khăn trong việc phát triển phần mềm trong một team dùng nhiều hệ điều hành linux/mac/windows.
Gần đây Microsoft trình làng một chức năng mới có tên Windows Subsystem for Linux - viết tắt là WSL.
Về cơ bản, tính năng này cho phép bạn dùng song song cả windows và linux.
Điều này có ý nghĩa rất lớn với mình (và mình cũng nghĩ có ý nghĩa rất lớn đối với giới lập trình nói chung).
Mình bắt đầu thử chuyển công việc của mình qua WSL từ 6 tháng trước và ai thấy cũng hỏi một câu:
Sao ông không dùng linux đi cho rồi, cài vậy chi cho nặng máy?
Lý do không phải powershell tệ, mà là các công cụ chạy trên powershell không nhiều. Đặc biệt gây khó khăn trong việc phát triển phần mềm trong một team dùng nhiều hệ điều hành linux/mac/windows.
Gần đây Microsoft trình làng một chức năng mới có tên Windows Subsystem for Linux - viết tắt là WSL.
Về cơ bản, tính năng này cho phép bạn dùng song song cả windows và linux.
Điều này có ý nghĩa rất lớn với mình (và mình cũng nghĩ có ý nghĩa rất lớn đối với giới lập trình nói chung).
Mình bắt đầu thử chuyển công việc của mình qua WSL từ 6 tháng trước và ai thấy cũng hỏi một câu:
Sao ông không dùng linux đi cho rồi, cài vậy chi cho nặng máy?
Quảng cáo
Nguyên nhân hàng đầu là về UI/UX, mình không thích UI/UX trên linux, nhìn kiểu amateur ý.
Nguyên nhân thứ 2 là về hệ sinh thái, mình cần windows để làm các thứ chỉ bên windows mới có.
WSL có chậm không?
Trước hết WSL là máy ảo, đúng, nó là máy ảo. Nhưng bạn có biết hệ điều hành windows của bạn cũng là máy ảo?Để hiểu được vấn đề, trước hết ta phải nhớ rằng:
"Công nghệ ảo hóa được cung cấp bởi CPU, không phải hệ điều hành, ở một thời điểm chỉ một phần mềm duy nhất được sử dụng tính năng này"
ok, giờ hãy nhìn lại về các loại máy ảo:
Như hình trên, ta có 2 loại máy ảo:
Type 2: Đây là dạng máy ảo kiểu VM ware, virtual box …
Các loại máy ảo này chạy trên hệ điều hành (host system), trong trường hợp này là Windows, (không phải Linux như trong hình đâu nhé). VM Ware sẽ là phần mềm sử dụng công nghệ ảo hóa của CPU để tạo ra các máy ảo khác như ubuntu, mac os …
Type 1: Đây là dạng máy ảo mà tất cả các VM chạy trực tiếp trên một nền tảng ảo hóa, không thông qua một hệ điều hành nào cả. Nếu các bạn bật tính năng Hyper-V trong windows lên thì chính windows cũng đang chạy trên một tầng ảo hóa (là Hyper-V), có nghĩa windows các bạn đang dùng cũng là một con máycon, Hyper-V là tầng ảo hóa, Hyper-V là phần mềm sử dụng công nghệ ảo hóa của CPU.
Điều đó có nghĩa các máy ảo Type 1 sẽ nhanh hơn rất rất nhiều so với các máy ảo Type 2, do không phải thông qua một OS trung gian.
Quảng cáo
Bên cạnh đó, do một ở một thời điểm chỉ có một phần mềm được sử dụng công nghệ ảo hóa, nên nếu bật Hyper-V thì VM-Ware không chạy được và ngược lại.
Đến đây chắc các bạn cũng đoán được WSL là dạng máy nào rồi phải không?
WSL là máy ảo dạng 1, hiệu suất của nó tương đương với hiệu suất của Windows chạy trên Hyper-V.
Vậy hiệu suất so với chạy trên máy vật lý thì như thế nào, bật Hyper-V lên có khiến máy chậm đi không?
Với cảm nhận của mình thì không, mình không cảm thấy bất kì điều gì khác biệt cả.
Không tin các bạn có thể xem kết quả benchmark ở đây:
Does Enabling WSL2 Affect Performance of Windows 10 Applications (pugetsystems.com)
WSL khiến docker chạy nhanh hơn
Thật vậy, khi chạy linux container với docker, Windows phải làm một số thứ để giả lập môi trường linux. Điều này khiến việc start một container hoặc khởi động docker cũng rất ì ạch.Nhưng khi đã có WSL thì mọi chuyện trở nên dễ dàng hơn. Docker sử dụng WSL để chạy phần engine và UI thì vẫn chạy trên windows. Điều này khiến cho Docker trên windows nhanh hơn rất rất nhiều và tốn ít ram hơn. Thật toẹt vời các bác ạ.
Quảng cáo
WSL có chiếm nhiều RAM không?
Câu trả lời ngắn gọn là không. WSL chiếm rất rất ít ram, khoảng hơn 200MB thôi. Các bạn đừng nhìn vào Task Manager nhé, số ram Task manager báo là Ram hệ thống cấp cho máy ảo WSL để đỡ phải cấp đi cấp lại nhiều lần, còn số ram máy ảo thực tế sử dụng các bạn dùng lệnh htop để xem nhé.Số ram này còn chưa bằng số ram mình mất khi phải chạy docker trực tiếp trên windows nữa nên coi như chả mất gì.
Restart máy mà lại không restart
Nghe hơi hư trúc nhưng thật ra lại rất mộ dung phục.Khi bạn muốn restart môi trường làm việc thì chỉ cần restart lại service LxssManager là được, cỡ 30 giây là xong, chia tay với màn hình boot luôn.
Nhiều khi cảm thấy mình cài cắm nhiều thứ rác quá, muốn xóa hết cài lại từ đầu thì chỉ cần clear dữ liệu của con WSL là xong, chả liên quan gì đến dữ liệu trong windows, max nhanh gọn.
VS code hỗ trợ WSL tận răng
Phải gọi là được hỗ trợ từ răng cửa tới tận răng khôn luôn, bác nào code trên VS code thì sướng thôi rồi.Bất lợi khi dùng WSL
- Không hỗ trợ lưu dữ liệu máy ảo trên ổ đĩa khác ổ C. Điều này có nghĩa nếu máy bạn lỗi, cần cài lại win thì bạn liệu mà dùng đĩa cứu hộ vào ổ C mà copy file máy ảo ra trước.
- Không nên copy file qua lại giữa WSL và windows, tại định dạng file khác nhau, copy file text qua lại bọn nó không hiểu. Nhưng copy các file định dạng khác như pdf, png, jpg các thứ thì thoải mái.
Chốt
Trải nghiệm của mình với WSL trên windows rất tuyệt vời. Có thể nói với WSL, ta đã có những điều tốt nhất từ Windows lẫn Linux.Mình nghĩ các bạn nên thử và chuyển dần qua WSL nếu có thể.
Từ giờ sẽ không có khái niệm lập trình trên windows chán nữa, tại nói vậy chả khác nào nói lập trình trên linux chán cả. =))
Các bạn có trải nghiệm gì thì cũng comment luôn nhé.
==***==
==***==
Nơi hội tụ Tinh Hoa Tri Thức - Khơi nguồn Sáng tạo
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com
---
Khóa học Hacker và Marketing từ A-Z trên ZALO!
Khóa học Hacker và Marketing từ A-Z trên Facebook!
Bảo mật và tấn công Website - Hacker mũ trắng
KHÓA HỌC LẬP TRÌNH PYTHON TỪ CƠ BẢN ĐẾN CHUYÊN NGHIỆP
Khóa học Lập trình Visual Foxpro 9 - Dành cho nhà quản lý và kế toán
Khóa học hướng dẫn về Moodle chuyên nghiệp và hay Xây dựng hệ thống đào tạo trực tuyến chuyên nghiệp tốt nhất hiện nay.
Khóa học AutoIt dành cho dân IT và Marketing chuyên nghiệp
Khoá học Word từ cơ bản tới nâng cao, học nhanh, hiểu sâu
Khóa học hướng dẫn sử dụng Powerpoint từ đơn giản đến phức tạp HIỆU QUẢ Khóa học Thiết kế, quản lý dữ liệu dự án chuyên nghiệp cho doanh nghiệp bằng Bizagi Khóa học Phân tích dữ liệu sử dụng Power Query trong Excel
Khóa học Lập trình WEB bằng PHP từ cơ bản đến nâng cao
Khóa học "Thiết kế bài giảng điện tử", Video, hoạt hình kiếm tiền Youtube bằng phần mềm Camtasia Studio Khóa học HƯỚNG DẪN THIẾT KẾ VIDEO CLIP CHO DÂN MARKETING CHUYÊN NGHIỆP HƯỚNG DẪN THIẾT KẾ QUẢNG CÁO VÀ ĐỒ HỌA CHUYÊN NGHIỆP VỚI CANVA Hãy tham gia khóa học để trở thành người chuyên nghiệp. Tuyệt HAY!😲👍
GOOGLE SPREADSHEETS phê không tưởng Hãy tham gia khóa học để biết mọi thứ
Khóa học sử dụng Adobe Presenter-Tạo bài giảng điện tử
Để thành thạo Wordpress bạn hãy tham gia khóa học Khóa học sử dụng Edmodo để dạy và học hiện đại để thành công ==***== Bảo hiểm nhân thọ - Bảo vệ người trụ cột Cập nhật công nghệ từ Youtube tại link: congnghe.hocviendaotao.com
Tham gia nhóm Facebook
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com
Bảo mật và tấn công Website - Hacker mũ trắng
KHÓA HỌC LẬP TRÌNH PYTHON TỪ CƠ BẢN ĐẾN CHUYÊN NGHIỆP

Khóa học AutoIt dành cho dân IT và Marketing chuyên nghiệp
Khoá học Word từ cơ bản tới nâng cao, học nhanh, hiểu sâu
Khóa học hướng dẫn sử dụng Powerpoint từ đơn giản đến phức tạp HIỆU QUẢ
Khóa học Thiết kế, quản lý dữ liệu dự án chuyên nghiệp cho doanh nghiệp bằng Bizagi
Khóa học Phân tích dữ liệu sử dụng Power Query trong Excel
Khóa học Lập trình WEB bằng PHP từ cơ bản đến nâng cao
kiếm tiền Youtube bằng phần mềm Camtasia Studio
Khóa học HƯỚNG DẪN THIẾT KẾ VIDEO CLIP CHO DÂN MARKETING CHUYÊN NGHIỆP
HƯỚNG DẪN THIẾT KẾ QUẢNG CÁO VÀ ĐỒ HỌA CHUYÊN NGHIỆP VỚI CANVA
Hãy tham gia khóa học để trở thành người chuyên nghiệp. Tuyệt HAY!😲👍
GOOGLE SPREADSHEETS phê không tưởng
Hãy tham gia khóa học để biết mọi thứ
Khóa học sử dụng Adobe Presenter-Tạo bài giảng điện tử
Để thành thạo Wordpress bạn hãy tham gia khóa học
Khóa học sử dụng Edmodo để dạy và học hiện đại để thành công
==***==
Bảo hiểm nhân thọ - Bảo vệ người trụ cột
Tham gia nhóm Facebook
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com
Nguồn: Tinh Tế

Topics: Công nghệ mới