Diễn đàn Ubuntu Việt Nam

Cộng đồng người sử dụng Ubuntu Việt Nam
Hôm nay, T.Sáu Tháng 10 31, 2014 12:20 pm

Múi giờ UTC + 7 Giờ


Software Freedom Day 2014 - TP HCM
Vui lòng sang ask.ubuntu-vn.org để đặt câu hỏi

Các chủ đề mới nếu là đặt câu hỏi sẽ bị đóng, mong các bạn chú ý



Tạo chủ đề mới Gửi bài trả lời  [ 66 bài viết ]  Chuyển đến trang 1, 2, 3, 4, 5 ... 7  Trang kế tiếp
Người gửi Nội dung
Gửi bàiĐã gửi: T.Sáu Tháng 2 27, 2009 4:52 pm 
Thành Viên Mới

Ngày tham gia: T.Sáu Tháng 1 16, 2009 12:13 pm
Bài viết: 82
Chào các bro, em lập topic này để các bro thảo luận và em học hỏi =)), mọi vấn đề liên quan đến nhân, từ lịch sử, công nghệ, vận hành, tương thích của nhân, tất cả đều viết ở đây.
Em hỏi câu đầu tiên =))
Tính khả chuyển của nhân là nghĩa như thế nào, ví dụ khi lập trình điều khiển cho một con chíp ví dụ như 8051 chẳng hạn thì thông qua mô hình phần cứng của nó để mình lập trình cho nó hoạt động, tức là đoạn mã mình lập bám rất sát với nguyên lý hoạt động của 8051, vậy mà sao linux chạy được hầu hết các nền tảng phần cứng khác nhau nhở =)) =)) mà không phải lập trình lại, hay lập trình riêng cho từng nền tảng khác nhau mà được tích hợp hết vào trong một nhân :-?

_________________
Pháp Luân Đại Pháp Hảo
http://www.falundafa.org
http://www.chinhphap.com


Sửa lần cuối bởi hapm vào ngày T.Sáu Tháng 2 27, 2009 6:32 pm với 1 lần sửa.
sửa tiêu đề bài viết


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: T.Sáu Tháng 2 27, 2009 5:20 pm 
Đóng góp tích cực
Hình đại diện của thành viên

Ngày tham gia: CN Tháng 12 21, 2008 1:20 pm
Bài viết: 764
Đến từ: Vườn hoa trung tâm thành phố Vinh
Hình ảnh
Hình vẽ trên mô phỏng kiến trúc nhân Linux. Trên cùng là giao diện lời gọi hệ thống (read, write,...). Bốn lớp ở giữa chính là phần cơ bản của nhân Linux, bao gồm Quản lý tiến trình, Quản lý bộ nhớ, Hệ thống file ảo và Ngăn xếp mạng. Hai lớp ở tầng dưới cùng là Driver thiết bị (chiếm phần lớn nhân!) và Mã lệnh phụ thuộc kiến trúc (Architecture-dependent code - ADP). Chính ADP chính là phần mã thay đổi theo từng kiến trúc phần cứng cụ thể, do đó khi mang nhân Linux sử dụng cho các phần cứng khác nhau, chúng ta chỉ cần thay đổi phần ADP rồi biên dịch lại. Đây là tính khả chuyển của Linux.

_________________
Hình ảnh

Làm chủ Linux Bash shell với ký tự "!"
Làm chủ Linux Bash shell: Xử lý string trong Bash shell
Làm chủ Linux Bash shell: Tùy biến command promt với biến $PS1
Làm chủ Linux Bash shell: Chuyển hướng xuất/nhập trong Linux


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: T.Bảy Tháng 2 28, 2009 4:43 pm 
Thành Viên Mới

Ngày tham gia: T.Sáu Tháng 1 16, 2009 12:13 pm
Bài viết: 82
quy ước bỏ qua thank nhé để tránh rườm rà.
Trong phần giải thích về arch bác giải thích rằng đấy là phần mã phụ thuộc kiến trúc ADC/ADP? và với kiến trúc khác nhau thì ta chỉ việc thay đổi ở phần này. Việc thay đổi trong ADP là do thuật toán hay là thao tác của mình là viết lại phần đó?
Em thấy là từ đây xuất hiện mấy vấn đề liên quan
- Cách hoạt động của chương trình tự động dò tìm thiết bị trong windows như driver detective, driver graber, cpu-z,...
- Môi trương java run time và mã bytecode như thế nào mà hoạt động đa dạng như vậy nhỉ :-?
- Trong kernel linux có sẵn trình thông dịch với chức năng cho chạy thử một đoạn mã để thử-sai thiết bị :-?
- Thuật toán tìm kiếm theo kiểu vét cạn có được sử dụng trong kernel hay không? nếu giả sử kernel hỗ trợ hoàn toàn 9 thiết bị để chạy, và một thiết bị mới vừa cắm nóng(PnP)?

Em mới học năm thứ 3 thôi nhé =)) , các bác diễn giải dễ hiểu nhé =))

_________________
Pháp Luân Đại Pháp Hảo
http://www.falundafa.org
http://www.chinhphap.com


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: T.Bảy Tháng 2 28, 2009 6:41 pm 
Thành Viên Mới
Hình đại diện của thành viên

Ngày tham gia: T.Tư Tháng 6 25, 2008 2:15 pm
Bài viết: 36
Mời bạn đọc các cuốn sau mà bất cứ sinh viên năm 3 nào cũng phải đọc:

Understanding Linux Kernel, Second Edition
http://www.flazx.com/selectpreview/0596002130

Linux Kernel Development, Second Edition
http://www.flazx.com/selectpreview/0672327201

The Linux(R) Kernel Primer : A Top-Down Approach for x86 and PowerPC Architectures
http://www.flazx.com/selectpreview/0131181637

Understanding the Linux Kernel, Third Edition
http://www.flazx.com/selectpreview/0596005652

Linux Kernel in a Nutshell (In a Nutshell (O'Reilly)
http://www.flazx.com/selectpreview/0596100795

Professional Linux Kernel Architecture (Wrox Programmer to Programmer)
http://www.flazx.com/selectpreview/0470343435

Chúc cuối tuần thư giãn với những cuốn sách bỗ ích trên (:|

_________________
Dont Use Linux


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: T.Bảy Tháng 2 28, 2009 6:51 pm 
Thành Viên Mới

Ngày tham gia: T.Bảy Tháng 2 28, 2009 6:12 pm
Bài viết: 4
chào các bác. em mới tham gia diễn dàn. doc bài viết của bác "tân_khổngminh" thấy rất có ích. em có một số câu muốn hỏi các bác. các bác giải thích dùm em với.
em dang làm về FPGA có thể nói là tương đối sâu rồi. thời gian vừa rồi cầy sâu về EDK của Xilinx. trong đó nó cho phép mình nhồi các hệ điều hành vào mấy con vi điều khiển 32 bit trong FPGA đó là MicroBlaze và PowerPC. mình chưa làm hệ thống nhúng kiểu này bao giờ. có mấy vắn đề mình chưa hiểu như sau.
1. hệ điều hành nhúng cài trên PC của mình: cần cài hệ điều hành gì có thể cài Ubuntu được không?
2. nhân hệ điều hành là gì và nó có vị trí như thế nào trong hệ điều hành.
3. em thấy mọi người trao đổi kernel 2.4 hay 2.6 thì các phiên bản này đóng vai trò gì trong hệ điều hành. khi cài nó đã có chưa hay mình phải cài thêm vào. giả sư khi cài ubuntu xong mình cần cài thêm vào.
4. vấn đề biên dịch lại nhân là như thế nào
mong các bác giải thích cho newbie như em.


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: T.Bảy Tháng 2 28, 2009 9:43 pm 
Thành Viên Tích Cực
Hình đại diện của thành viên

Ngày tham gia: T.Bảy Tháng 12 20, 2008 11:07 am
Bài viết: 521
tl20003 đã viết:
1. hệ điều hành nhúng cài trên PC của mình: cần cài hệ điều hành gì có thể cài Ubuntu được không?

hệ điều hành cài trên PC của mình thì còn gì gọi là hệ điều hành nhúng nữa =)). Cài MAC, hay windows đều được chẳng nhất thiết phải cài linux :D. Để phát triển các ứng dụng cho hệ thống nhúng người ta thường dùng cross-compile. Tức là trình biên dịch được cài trên host là PC (chạy windows linux hay Mac) để biên dịch chương trình chạy trên target.
tl20003 đã viết:
2. nhân hệ điều hành là gì và nó có vị trí như thế nào trong hệ điều hành.

Nhìn vào cái sơ đồ của bác TKM là biết rồi. Hệ điều hành quản lý hết phần cứng phía bên dưới, thực hiện quản lý bộ nhơ, quản lý các process, thực hiện scheduler... tạo một môi trường cho các phần mềm ứng dụng chạy trên đó.
tl20003 đã viết:
3. em thấy mọi người trao đổi kernel 2.4 hay 2.6 thì các phiên bản này đóng vai trò gì trong hệ điều hành. khi cài nó đã có chưa hay mình phải cài thêm vào. giả sư khi cài ubuntu xong mình cần cài thêm vào.

2.4 là version cũ còn 2.6 là version mới ( hiển nhiên là có nhiều cải tiến so với version cũ). Ngày nay các distro đều đã dùng kernel version 2.6. Còn với embedded system thì một số board vẫn dùng kernel 2.4. Cái kernel là cái quan trọng nhất, ko kernel thì làm sao mà chạy được, chỉ có chạy kernel với minor version nào thôi :D
tl20003 đã viết:
4. vấn đề biên dịch lại nhân là như thế nào.

cài trình biên dịch, cài các gói cần thiết, cấu hình, cross-compile thì sửa makefile để trỏ đến cross-compiler rồi biên dịch thế thôi.
Linux cho Microblaze của bạn thì bạn phải tìm hiểu xem cái kernel có hỗ trợ hay ko. kernel 2.6 mới thì mình ko rõ nhưng có một bản port cho Microblaze là dựa trên uClinux (một project để chạy linux trên các thiết bị nhúng (có thể chạy trên các thiết bị ko có MMU (memory management unit)). chi tiết bạn tham khảo link bên dưới.
http://www.uclinux.org/ports/
http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux/

đó mới chỉ là kernel, chỉ có kernel ko thì cũng ko thể chạy được. phải có một filesystem chứa các phần mềm ứng dụng nữa.
chúc vui.

_________________
Linux, vim and emacs be fan


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: CN Tháng 3 01, 2009 1:31 am 
Thành Viên Mới

Ngày tham gia: T.Bảy Tháng 2 28, 2009 6:12 pm
Bài viết: 4
Em cảm ơn bác "cation_h" rất nhiều. qua phần giải thích của bác em đã mở mang được nhiều thứ. em cứ tưởng phải cài hệ điều hành nhúng trên PC của mình thì mới nhúng được nhân "kernel" vào chíp của em. nhưng có một vấn đề em vẫn chưa thực sự hiểu là ở chỗ. mình lấy các lõi kernel (ví dụ kernel 2.4 hay 2.6) ở đâu. vấn đề thứ 2 là nó còn liên quan đến sau này mình viết các driver cho các ngoại vi của mình, điều này có phải viết trong hệ đỉều hành nhúng hay không? em thấy bọn Xilinx giới thiệu một loạt các lõi của các hãng khác nhau. không biết là mình lên dùng của bọn nào nhỉ.http://www.xilinx.com/ise/embedded/epar ... isting.htm
một lần nữ em cảm ơn bác "cation_h" mong bác chia sẻ cho những người gà mờ như bọn em chút kinh nghiệm


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: CN Tháng 3 01, 2009 12:33 pm 
Thành Viên Tích Cực
Hình đại diện của thành viên

Ngày tham gia: T.Bảy Tháng 12 20, 2008 11:07 am
Bài viết: 521
tl20003 đã viết:
Em cảm ơn bác "cation_h" rất nhiều. qua phần giải thích của bác em đã mở mang được nhiều thứ. em cứ tưởng phải cài hệ điều hành nhúng trên PC của mình thì mới nhúng được nhân "kernel" vào chíp của em. nhưng có một vấn đề em vẫn chưa thực sự hiểu là ở chỗ. mình lấy các lõi kernel (ví dụ kernel 2.4 hay 2.6) ở đâu. vấn đề thứ 2 là nó còn liên quan đến sau này mình viết các driver cho các ngoại vi của mình, điều này có phải viết trong hệ đỉều hành nhúng hay không? em thấy bọn Xilinx giới thiệu một loạt các lõi của các hãng khác nhau. không biết là mình lên dùng của bọn nào nhỉ.http://www.xilinx.com/ise/embedded/epar ... isting.htm
một lần nữ em cảm ơn bác "cation_h" mong bác chia sẻ cho những người gà mờ như bọn em chút kinh nghiệm

Vấn đề thứ nhất, kernel của linux chuẩn (theo chính thống chưa patch gì cả) bạn có thể down tại trang kernel.org (tất cả các version từ stable đến unstable). Tuy nhiên cái kernel này có thể chưa support vi xử lý của bạn hoặc chưa được cấu hình đúng với hệ thống của bạn do vậy cần patch kernel này. file patch có thể do người bán phần cứng hoặc phần mềm cung cấp. Nếu ko có thi bạn sẽ phải tự sừa kernel hoặc dùng cái project open source như uClinux là một ví dụ hoặc file patch do các guru đã viết và vận dụng trên hệ thống giống của bạn.
Về phần device driver, bạn có thể tích hợp trực tiếp vào kernel để nó biên dịch cùng kernel hoặc viết các loadable module, sau đó load cái module này sử dụng lệnh insmod. Chi tiết bạn đọc quyển (linux device driver 3th edition của O'reily). Tất nhiên là việc viết chương trình và biên dịch được tiến hành trên máy host rồi cross-compile cho target.
Nếu bạn ko sửa được kernel, ko viết được device driver, ko tìm được project open source nào hoặc muốn được sửa dụng dịch vụ và có $$ tốt thì có thể đi mua một cái RTOS do các công ti đã viết sẵn (cũng dựa trên linux), được support tốt để chạy trên hệ thống của mình.

chúc vui

_________________
Linux, vim and emacs be fan


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: CN Tháng 3 01, 2009 2:08 pm 
Thành Viên Mới

Ngày tham gia: T.Bảy Tháng 2 28, 2009 6:12 pm
Bài viết: 4
em cảm động quá. cảm ơn bác"cation_h" rất nhiều. những gì em viết câu hỏi chưa khô mực đã được bác trả lời rất cụ thể.
theo như bác nói thì. kernel là lõi riêng trên trang "kernel.org" nó cho Free. còn những công ty mà bọn Xilinx nó đưa ra thì là họ đã sửa các lõi này (cụ thể là sửa phần"ADD" như bác "Tan_khong minh" nói) theo các bo của Xilinx rồi bán đúng không ạ. cũng theo bác thì do là lõi riêng lên giả sử khi mình cài các hệ điều hành nhúng ví dụ như Ubuntu thì ban đầu chưa có lõi mình phải add vào hả bác. em là sinh viên mới ra trường lên chư có $$ bác ạ. em sẽ cố gắng nghiên cứu có gì không hiểu bác giúp em với nhé. còn khi nào có dự án mà cần các patch chuẩn và nhanh thì chắc chắn phải nhờ đến các bác rồi. bác có thể cho em xin mail của bác được không? để có gì em trao đổi dễ hơn. tiện thể bác cho em địa chỉ công ty bán các lõi kernel đã patch để khi nào có $$ em mua.
thanks a lot!


Đầu trang
 Xem thông tin cá nhân  
 
Gửi bàiĐã gửi: CN Tháng 3 01, 2009 2:32 pm 
Thành Viên Mới

Ngày tham gia: T.Bảy Tháng 2 28, 2009 6:12 pm
Bài viết: 4
em quên mất. mail của em là:
tl20003@yahoo.com.


Đầu trang
 Xem thông tin cá nhân  
 
Hiển thị bài viết cách đây:  Sắp xếp theo  
Tạo chủ đề mới Gửi bài trả lời  [ 66 bài viết ]  Chuyển đến trang 1, 2, 3, 4, 5 ... 7  Trang kế tiếp

Múi giờ UTC + 7 Giờ


Đang trực tuyến

Đang xem chuyên mục này: pororo8 khách.


Bạn không thể tạo chủ đề mới.
Bạn không thể trả lời bài viết.
Bạn không thể sửa những bài viết của mình.
Bạn không thể xóa những bài viết của mình.
Bạn không thể gửi tập tin đính kèm.

Chuyển đến:  
POWERED_BY
Vietnamese translation by nedka