Embedded linux ở việt nam
Đăng ngày 08/26/2018 Theo style vài ngày một topic ngẫu hứng. Chủ đề hôm nay mình muốn chia sẻ là về công việc Linux embedded ở Việt Nam - Hiện tại chúng ta đang làm gì, những thứ cần chuẩn bị đối với người mới muốn join vào lĩnh vực này. Đây có lẽ là vấn đề cần tìm hiểu đầu tiên đối với người mới. Mình hiện tại là technical leader về mảng này do đó công việc chủ yếu của mình là tìm hiểu về các kiến thức mới trong Linux embedded, training, phỏng vấn ứng viên, hô hào cổ động tinh thần học hành của anh em trong dự án. Công việc của mình do được tiếp xúc với nhiều người trong lĩnh vực này ở các công ty khác nhau nên đâu đó mình cũng nắm được bức tranh về Linux embedded ở Việt Nam. Những chia sẻ sau đây là từ view cá nhân của mình, nếu có điểm nào chưa hợp lý thì mọi người cứ góp ý nhé. 1. Linux embedded là gì? Đó là những hệ thống embedded mà người ta chạy hệ điều hành Linux lên đó. Linux embedded có những ưu điểm mà một hệ thống nhúng theo dạng code thuần vi điều khiển không có. Tính năng của nó đa dạng hơn rất nhiều, thời gian phát triển ứng dụng nhanh, được hỗ trợ nhiều từ các thư viện có sẵn trên mạng. Khả năng multi media mạnh, có khả năng tái sử dụng giữa các platform khác nhau. 2. Ở Việt Nam chúng ta đang làm gì về Linux embedded? Đối với view về sản phẩm thì hiện tại mạnh nhất là làm Linux embedded cho các thiệt bị trên ô tô. Như mình biết thì có FGA của Fsoft và LG Việt Nam là 2 đơn vị lớn nhất làm về mảng này, ngoài ra còn có thêm 1 công ty nữa của Hàn Quốc có thể là Toshiba hoặc Panasonic gì đó mình cũng ko nhớ rõ nữa. Mạnh nhì là làm Linux embedded cho các thiết bị mạng - bao gồm wifi, switch. Mảng này thì có Viettel và một số công ty như Dasan Việt Nam, Bosh, Humax, Panasonic nếu mình nhớ ko nhầm và một số công ty nhỏ khác mình không kể tên ở đây. Ngoài ra còn có Android embedded cho các thiết bị gia dụng như tivi, tủ lạnh... Mảng này thì tập trung vào các công ty của Hàn Quốc đặt tại Việt Nam như Humax, Panasonic, Samsung, LG... Mình cho Android embedded vào đây vì 1 người có thể làm giữa 2 mảng Android và Linux embedded được mà không gặp nhiều bỡ ngỡ lắm. Hiện tại ở Việt Nam mình ước tính có khoảng 1 đến 2 nghìn người làm về Linux embedded, nhưng phần lớn mọi người đều tập trung ở tầng application. Cái này do khả năng của chúng ta vẫn chưa đáp ứng được cho việc lập trình dưới tầng kernel. Số người có công việc chính là lập trình dưới tầng kernel chỉ khoảng 10% con số trên. Mục tiêu của group là để tăng con số 10% lên, do đó phần dưới mình sẽ nói về cách chuẩn bị kiến thức để join vào con số 10% này. Đối với các bạn đang làm ở tầng trên có thể post một bài mới để chúng ta thảo luận. 3. Những thứ cần chuẩn bị cho một bạn muốn join vào lĩnh vực Linux embedded? Trước tiên là bạn cần học tốt về C và một chút assembly. Sau đó là nắm chắc kiến thức về vi điều khiển. Bạn phải có khả năng đọc reference manual để lập trình driver cho một peripheral nào đó. Sau đó các bạn cần có kiến thức basic về hệ điều hành như file system, lập lịch, virtual memory... Sau đó là học lập trình Linux device driver basic. Đến đây thì các bạn đã có đủ kiến thức để trở thành 1 junior trong lĩnh vực này. Cả quá trình trên sẽ kéo dài 1 - 2 năm để học từ đầu. Nếu bạn càng ở những nấc thang cuối thì thời gian cần thiết sẽ càng giảm đi. Nếu đã lập trình tốt vi điều khiển thì mình ước lượng sẽ mất khoảng 3 - 6 tháng để chuyển sang Linux embedded. Hiện tại hệ thống training trên group mình cũng đang xây dựng theo hướng này. Đến đây là tất cả những gì mình biết. Cảm ơn mọi người đã đọc bài. Các comment hay: 1. Quân Đậu Cảm ơn anh rất nhiều. Cho em hỏi có nên học cả lập trình tầng app và cả tầng kernel không ạ? Nếu học cả 2 thì khi đi làm có thể đc phát huy cả 2 không hay chỉ làm chuyên về một tầng thôi ạ? Trả lời: Lập trình tầng app nếu ở dạng lập trình C thì là cần thiết. Vì kể cả sau này em lập trình thuần kernel thì vẫn cần lập trình app ở tầng user để tương tác với code dưới kernel. Còn nếu lập trình app dạng C++ hoặc java thì anh nghĩ ko cần thiết. Sau này nếu công việc cần thì ngồi mò làm sau cũng dc. Như anh đi làm 5 năm nhưng cũng chỉ code mỗi C thôi. Nếu mọi người làm trong lĩnh vực CNTT ở Việt Nam mình thì sẽ thấy người mình có khả năng làm việc không hề kém nhưng khoản chia sẽ kiến thức và build up cộng đồng thì :sosad: Em đam mê máy tính từ nhỏ nhưng gia đình định
hướng cho học xây dựng. 2011 em ra trường, nhà có xin cho vào làm nhà nước nhưng được 2 năm xong em bỏ vì chán. 2013 em bắt đầu học lại ở Bách Khoa:sweat:. Từ lúc bắt đầu học em đã thích tìm hiểu về OS, đặc biệt là phần OS kernel. Nhưng hồi đó định hướng nghề nghiệp về OS là một cái gì đó khá là mơ hồ, nên em cũng chỉ tìm hiểu theo kiểu sở thích chứ cũng không biết là để làm gì.:stick: Update 1: Tình hình của cộng đồng embedded đến cuối năm 2019: Page 16, sorry vì mình không đủ post để post link. |