全志t3处理器,有实现多操作系统运行的吗?
比如一个核心运行linux,其他核心裸跑。
离线
A33/H3的就见过有人这么玩过,是在Q群看到的,只看到秀了一把,没有教程。
离线
A33/H3的就见过有人这么玩过,是在Q群看到的,只看到秀了一把,没有教程。
哪个qq群?
离线
LINUX本身就支持这么用的 可以搜索相关的关键词,理论上不难
好像LINUX有专用命令,可以指定进程独占用一个CPU,这个CPU只响应专用的特定硬件IRQ这些(裸机系统相当于一个进程,独占一个CPU ,有自己的内存,IRQ等)
关键词:
【linux】CPU进程绑定技术(指定当前运行的CPU核)
Linux绑定硬件IRQ到指定CPU核
https://blog.gtwang.org/linux/run-program-process-specific-cpu-cores-linux/
這裡介紹如何在 Linux 中以特定的 CPU 核心執行程式,不要讓系統自動排程。
現在不管是伺服器或是一般個人電腦的 CPU 大部分都是多核心的架構,而各種應用軟體、編譯器與作業系統也受到這個趨勢的影響,也都會有針對多核心處理器做的最佳化設計。
通常在多核心的作業系統中常使用處理器的親和性(processor affinity,亦稱 CPU pinning)來處理需要高效能計算的應用,這個技術是屬於作業系統的一個特殊功能,它可以讓行程在特定的 CPU 核心中持續執行,不受作業系統排程的干擾。
將行程綁定在特定的 CPU 核心上有許多優點,例如一個 cache bound 的程式跟其他比較耗費 CPU 計算的程式一起執行時,將程式綁定在特定的 CPU 核心可以減少 cache miss 的狀況。另外在兩個行程頻繁的藉由 shared memory 進行溝通時,將兩個行程都綁定在同一個 NUMA 節點中也可以增進執行效率。
這裡我們會以 Linux 系統為例,介紹如何在 Linux 系統中將一般的程式綁定在一個選定的處理器核心中執行。
在 Linux 系統中若要將特定的處理器核心指定給一個程式或行程使用,可以使用 taskset,透過這個指令使用者就可以設定或取得行程的處理器親和性。
最近编辑记录 jiangchun9981 (2020-05-16 09:55:26)
离线
LINUX本身就支持这么用的 可以搜索相关的关键词,理论上不难
好像LINUX有专用命令,可以指定进程独占用一个CPU,这个CPU只响应专用的特定硬件IRQ这些(裸机系统相当于一个进程,独占一个CPU ,有自己的内存,IRQ等)
关键词:
【linux】CPU进程绑定技术(指定当前运行的CPU核)
Linux绑定硬件IRQ到指定CPU核https://blog.gtwang.org/linux/run-program-process-specific-cpu-cores-linux/
這裡介紹如何在 Linux 中以特定的 CPU 核心執行程式,不要讓系統自動排程。現在不管是伺服器或是一般個人電腦的 CPU 大部分都是多核心的架構,而各種應用軟體、編譯器與作業系統也受到這個趨勢的影響,也都會有針對多核心處理器做的最佳化設計。
通常在多核心的作業系統中常使用處理器的親和性(processor affinity,亦稱 CPU pinning)來處理需要高效能計算的應用,這個技術是屬於作業系統的一個特殊功能,它可以讓行程在特定的 CPU 核心中持續執行,不受作業系統排程的干擾。
將行程綁定在特定的 CPU 核心上有許多優點,例如一個 cache bound 的程式跟其他比較耗費 CPU 計算的程式一起執行時,將程式綁定在特定的 CPU 核心可以減少 cache miss 的狀況。另外在兩個行程頻繁的藉由 shared memory 進行溝通時,將兩個行程都綁定在同一個 NUMA 節點中也可以增進執行效率。
這裡我們會以 Linux 系統為例,介紹如何在 Linux 系統中將一般的程式綁定在一個選定的處理器核心中執行。
在 Linux 系統中若要將特定的處理器核心指定給一個程式或行程使用,可以使用 taskset,透過這個指令使用者就可以設定或取得行程的處理器親和性。
我这边的需求是 一个核心 运行linux,其他的核心运行别的os或或者裸跑。这个都是需要在移植系统的时候处理好吧?
离线
你需要的正是jailhouse。我没用过但有人给我推荐过
https://github.com/siemens/jailhouse
离线
离线
按我的理解,楼主的需求不是使用单一的Linux内核在不同CPU上执行不同的程序(即使CPU占用的资源是互相独立的,但依然是同一个内核调配的),而是在不同CPU上使用不同的Linux内核或者裸机和RTOS(此时CPU之间不受同一个内核控制)。
楼主的这个需求可以使用AMP(Asymmetric Multi Processing)实现。Linux基本上都是实现为SMP(Symmetric Multi Processing),如果要用AMP需要使用另外的框架,比如说https://github.com/OpenAMP/open-amp。
在FPGA等地方经常使用到异构计算,所以在这些平台上AMP还是常见的,可以参考Xilinx的相关文档。
最近编辑记录 metro (2020-05-16 19:54:05)
离线
可以看看OP-TEE
离线
AMP?
离线
zynq可以干这个事情吧,据说国内很多做点钞机的是用这种方式来做的
离线
楼主,t3的资料能否分享一下,谢谢了。
离线