[LinuxFocus-icon]
<--  | ��ҳ  | վ����ͼ  | ����  | ����

���� | �����ڿ� | ���� | ����LF
This document is available in: English  Castellano  ChineseGB  Deutsch  Francais  Nederlands  Russian  Turkce  

[Photo of the Author]
by Ismael Ripoll
<iripoll(at)disca.upv.es>


Ŀ¼:

 

ʵʱLinux (RT-Linux)

[Illustration]

ժҪ:

��ƪ���½�����ʵʱLinux��RT���Ļ�������Լ�ʹ��RT-Linux��Ӳʵʱ��

_________________ _________________ _________________

 

��ʵʱ����ʲô��

�ڽ���RT-Linux֮ǰ�����б�Ҫ�������忴һ��һЩ�йء�ʵʱ����˼�롣����˵��

��һ��ʵʱϵͳ������һ����Ϣϵͳ��������ȷ�Բ������������㷨���߼������� �������ڲ�����Щ�߼������ļ�ʱ�ԡ���

��������ȷ�����������Dz����ģ�����������������һ���ض���ʱ�������ڵ����� ��Ҫע�⣺�������Ķ����У�һ��ʵʱϵͳ�����������Ǻ���Ȼ���뵽����������Ҫ�졣 �ȷ�˵��һ����ֻ����ϵͳ�����������ٶȺ������������Ǿ����С����㡱 ��ʱ���������Ŀ����������������Գ����������ܲ���һ��ʵʱϵͳ�� ���������Σ��������ǵĶ��壬������һ��ʵʱϵͳ��

ע�����Ƕ�������һ����ʵʱϵͳ��������һ��������ϵͳ���� һ������ϵͳͨ���dz��죬���ҿ��Ը��˺ܡ���ʵ����ӡ���� ���͵أ����е�ģ�����ͽ���ʽ��Ϸ����Ҫ���û�һ��������ʱ�仭�棬 ���ң��ڵ�λʱ���������ɵ�ͼ��Խ��Խ�á�

��������������ϸ�ؿ���һ�¡�˲ʱ���ơ��ĸ�� ����һ������ͨ������һ��������������Ӧ����ͬ�ĸ��أ� ����������ʹ��һ��PID��Proportional- Integral-Derivative�����ơ� �����ǵĹ۵�������PID���ƾ���һ��������������һ������ �������������������������ʣ������ҷ���һ����Ӧ���������Ŀ����źŵ�ֵ�� ��������ֵ��������ʩ����Ӧ�ĵ�ѹ��PID�㷨���Ʊ��������ۣ�˳����һ�����Ƕ෽���ģ� ��������ʱ���ǿ��Ժ��Բ��Ƶģ�Ҳ����˵���Ӷ�ȡ���������ʵ����ǿ�ʼִ����һ��ʱ���̡ܶ� ���������£�ϵͳ������һ��С���ӳ١� �������͵Ŀ��Ƶ���һ�����Ծ��������������Ե�ִ�С� ����֮��PID�㷨���밴��һ���Ĺ���ִ�С� �����������ε���PID����������ʱ��̫���� ��ô�������ܻ��ﵽһ�������������������ʡ��ܵ������� PID�㷨���Ա�����һ�������������������Ե�ִ�У�Pi���� ������ʼִ��ֱ��������������ʱ�����Բ��ܴ�������PIDʱָ��������ʱ�䣨Di���� ���ң����ݴ��������ٶȣ�PID����Ҳ��Ҫһ���ض���ʱ��(Ci) . ��

Pi������i�����ڡ�

Di������i���������ޡ�

Ci������i������(������������)����ʱ�䡣

����ϵͳ�ǵ������ģ���ô��һ��ʵʱϵͳ�������κ����⣺ ������������������Ҫ��ʱ�����������񣬻��߲��ܡ� ���������������㹻�죬��ô����ֻ��Ҫ��һ����һЩ��CPU��

��ϵͳ���ɶ����������ɵģ�������ҪΪ���Ƿ���һ�������������������Ĵ�������ʱ�� ��ʵʱ�������ͳ����ˡ����谭������ʹ��һ�������ķ�ʱϵͳ���ȷ�˵Linux�� ��Ȼ����û�б�Ҫȥ����Щ���硰��Ҫ��Windows�ϱ�д��Ҫʵʱ�Եij�����֮�������ˡ� һ����һ���Ľ����ǣ���Ҫ������ƽ̨��д�κ����͵ij�����

���������е�ʵʱϵͳ������ͬ�ģ� ����һ��������ABSɲ��ϵͳ��������������ȼ��ע��ϵͳ�Ϳ���һ��MPEG�ļ��Ľ�ѹ���Ӿ�Ч���Dz�ͬ�ġ� �ڵ�һ�������£�ִ��ʱ����һ��С���ӳپ��п���Σ����ʻԱ��������ȫ���߻ᵼ�´�����������ʧ�� ���ڶ�������ֻ������ϵͳ�������˻���ͼ�����ܻ�ͣס�����ܶ�ʧһЩ֡���� ��һ�����͵�ϵͳ������Ӳʵʱϵͳ���ڶ���Ϊ��ʵʱϵͳ�� �ڴ����ǽ���������Ӳʵʱϵͳ��

����һ��ӲʵʱϵͳҪ���������׶Σ����ȣ� Ҫִ�е�������˲ʱ���Ʊ��뾭���������������ǵ������� �ڶ�����д���룬ÿһ��ʵʱ������Ҫ���������͵��Ȳ��ԣ� �Ա�֤��ϵͳ���й�����ÿ�����񶼲��ܳ�������������ʱ������ֵ�� ���Ȳ�����Ӧ����һϵ�в��Ե��������������ɣ� ������ͨ���ڶ��׶εIJ��ԣ����п��ܱ�֤û���������ܻ����г������������ޡ� �������Բ���ͨ���Ļ�����ô���ƾͱ������´�ͷ��ʼ�� ѡ��һ����һ����CPU������ʹ���������㷨��ʵ����Щ������

�ܽ�����������������ʱ����ʶ��Pi��Di��Ci��ϵͳ��Ŀ���ǣ� ��֤���е����������е�ִ�й����ж�������ϵͳ������ʱ������ֵ�� Ϊ�˱�֤����ʱ�䣬ϵͳ��������Ԥ���ġ� ˵һ��ϵͳ��һ��ʵʱϵͳ��˵һ��ϵͳ�ǿ�Ԥ����ʵ������һ���ġ�

 

����ϵͳ��ʵʱϵͳ��ʲô��ϵ��

ϵͳ��Ӧ��������ȷ���dz���Ա�����Σ���˲ʱ����ȷ�������ڲ���ϵͳ��OS����

����ϵͳ������֧�ֺ���֯����������ִ�У������ж�Ҳ������ְ���� ����ϵͳ�����ṩ��

����ͨ�IJ���ϵͳ��ͬ��ʵʱ����ϵͳ��Ŀ���������̶ȵؼ��ٸ����ԡ� ���Dz���Ҫһ�������ܶ�������ϵͳ������Ҫ���������ڹ涨��ʱ���ڿ�Ԥ����ִ�����ǵ�������

��һ��ʵʱϵͳ�ϣ�һ��������������Ҫ10����λʱ���������� ���������Ļ����ĸı䣬���������������12�ĵ�λʱ���ǿ�ȡ�ġ� ����������ͨ�IJ���ϵͳ�ϣ�һ��ƽ����������Ҫ3����λʱ���ij��򾭳���ִ��20����λʱ�䡣

��������һ��ʵʱϵͳ����ͨ�IJ���ϵͳ�����������Dz��ظе����֡� ��ʱ����Ϊ�˻��ÿ�Ԥ������Ϊ��������Ҫ��ֹʹ��Cache�� ��������һЩ�����ϵĶ�ʧ����һ��ʵʱϵͳ��˵�� ������Cache���ṩ�Ĺܵ��ߵ�Ԫ��Ԥ����ת�㷨�������ĵ��ˡ�



 

POSIX��RT��չ

POSIX�ǿ���ֲ����ϵͳ�ӿڣ�Portable Operating System Interface��������ĸ��д������ΪʲôOS������д����û��һ��X�أ����� ��һ��׼������������Դ���뼶����������ֲ�ԡ� ���仰˵��Ϊһ��POSIX���ݵIJ���ϵͳ��д�ij����� Ӧ�ÿ������κ�������POSIX����ϵͳ����ʹ��������һ�����̣��ϱ���ִ�С� POSIX��׼�����˲���ϵͳӦ��ΪӦ�ó����ṩ�Ľӿڣ�ϵͳ���ü��� POSIX����IEEE (Institute of Electrical and Electronic Engineering) �����ģ�����ANSI (American National Standards Institute)�� ISO (International Standards Organisation)��׼���� ����ȻPOSIX�ǻ���UNIX�ģ��������IJ���ϵͳ������Windows NT���������ڿ������ǵı����汾��POSIX���ݡ�

DrawObject

POSIX�Ķ��屻��Ϊ���������飺�������������̡�������˾�� �������źͼ���������ʦ��ÿһ�����������ڲ���ϵͳ��ijһ���档 ���磺POSIX.4���ǹ���ʵʱ���������ݡ�

POSIX.4����չ��1993������Ϊ1003.1b������һ������ϵͳ��ʵʱ������ʹ�á� �����ԣ���Щ��չ�󲿷ֶ��ǹ���ʱ�������ͽ������ȼ��� Ҳ��һЩϵͳ������Э�����н��̼�ͨ�š�

POSIX��չ������������ǿ����ϵͳ����Դ�Ĺ�������������

Linux2.0Ϊʵʱ��ʵ������������POSIX��չ��ϵͳ���ã� ��Linux��һ�������������ǽ����Ժ��������ۡ� ����2.2�汾������100%��POSIX 1003.1b���ݡ�

 

ʵʱLinux

RT-Linux������ī������ҵ���Ƽ�ѧԺ������ϵ�� Victor Yodaiken��Michael Barabanov���������ġ� ����Michael�ύ�����ɼ�������ѧ˶ʿ���ĵ�һ���֡� �������õİ汾��0.6������ֻ����INTEL��ϵ�ṹ�ļ������ϡ�

RT-Linux����һ����ȫ��ͬ�ķ�ʽ������һ�����ġ� �б����޸�Linuxϵͳ���ں���ʹ�����п�Ԥ���ԣ���ֱ���ڴ�������i386�� �Ͻ�����һ������һ����������С�ĺ��ģ���Linux kernel���������� Linux�ں�����һ���������У���������ʵʱ���������������� ��ôLinux��������������CPU������ȷ��˵��Linux�Ǻ�̨�������� ֻ��û������ʵʱ����ִ�е�ʱ�����Ż����С�

�Ҳ����������ڿ��������ˣ���������Ϊ����������ϵͳ��һ�����壬 ��ô�����޸�����

DrawObject

�����˾������ǣ���ʵ�ϣ�������Ϊһ��ģ�������Ļ��� �����Զ�̬��װ�����Ƴ���������

����������ϵͳ���ƣ���Ϊͬ����ʽ����Ϊ��ʵ���ٽ����� Linux�ں˴���ͨ�����ر��жϡ�������Linux���ж��ڼ�����һ��ʱ���жϣ� ���ͻ��������⽫���¶�ʧ˲ʱ��ȷ�ȡ�RT-Linuxʹ����һ���dz����ŵĽ��������� ���ж�CLI��STI��IRET���޸��ж�״̬�Ļ������ã��ĵ��ö��� S_CLI��S_STI��S_IRET��������ģ�⣬������Linux����Զ���ܽ�ֹ�жϵ��á�

RT-Linuxȱʡ�ĵ��Ȳ�������ռʽ���̶����ȼ��ĵ��ȣ� ����Linux���������˽ϵ͵����ȼ��� ����ʵʱ�������������е�CPUʱ�䣬��ôLinux���񽫲��ܻ����κ�CPUʱ�䣬 ������������ֹͣ��һ����

ʹ��RT-Linux���Dz�������һ��ʵʱϵͳ��������һ�������IJ���ϵͳ�� �ڲ����Ϳ���һ������ϵͳ��ͬʱ���ǻ������������ˡ�

 

RT-Linux�İ�װ

��һ���а����ļ��������������ã� http://luz.cs.nt.edu/~rtlinux.

Ϊ�˰�һ��Linuxϵͳ�ij�RT-Linux�� ���DZ�����RT-Linux�ṩ���ں˲���Ӧ�õ��ں�Դ�����ϲ����±����ںˡ� �����DZ����ķ��������Ǽ���rtlinux-0.6-2.0.33.tgz��Ŀ¼/usr/src�£� �������ѱ���ѹ����/usr/src/rtlinux-0.6�� ���ǻ��ٶ����е��ں�ѡ��Ѿ����ã�make config�����ˡ�������

# cd /usr/src/linux
# patch       -p1 <../rtlinux-0.6-2.0.33/kernel_path
# make dep; make clean; make zlilo; make modules; make modules_install
# reboot

���ں˸�һ����ͨ���ں˿�����ûʲô������ �����Ѿ�׼����ת��Ϊһ��ʵʱϵͳ�ˡ� ��/usr/src/rtlinu-0.6-2.0.33/testing���и��ָ�������ʾ������

���˷��а���testingĿ¼�е����ӣ��㻹��������Oleg SubbotinΪ����׼������һ��ʾ�����������������Ǵ���������ִ�м�¼�� ��һʾ����һ���ļ���һ���޸��˵ĵ���������������ִ���������ȣ� ���ܹ����͹����������ߵ���Ϣ����һ��Ϣ���ռ����洢��һ���ļ��У� �Ժ�����ͼ�λ�����ʾ���������ǾͿ��Կ���������������ʲô˳��ִ�еģ� ���и�����Ȩ��������������ռ�����ȼ��������ġ�Linux����û�б��ֳ�����

ÿһ�����񶼱�����һ��ˮƽ���ϡ������α�ʾÿһ������ռ��CPU��ʱ�� ����Ϊ����ʹ��һ������������ϵͳ��������ͬһʱ��ֻ����һ��ʵ�������У��� �����������ÿһ����������������ִ��ʱ�������ǵ�������ͬ�� ��һ������һ��ʱ���������ǣ���������������һ��������������ִ�����ϡ� ���沿�ֵ��������нϸߵ����ȼ��������ܴ�������������600λ�ã���ռ��������

 

RT-Linux���

�����Ѿ�����һ���ദ������RT-Linux�汾��Ϊ�˾����ܵر���ϵͳ�Ŀ�Ԥ���ԣ� RT-Linux�����ṩ�ķ��񱻹��������Ƶĺ��٣� ��Ϊû�б�Ҫ������Щ��ʵʱ��Ҫ�����ϸ��Ĺ��ܡ�

������ǰ��ʼ��һ��RT-Linux�ֲ�-�̵̳ı�д��������������д��1998�꣺����ע��

 

����

��RT-Linux������ǰ����������Ҫʵʱϵͳ�Ĺ���ʦ����ʹ��MS-DOS���ҽ���������Ҫ�������� �������Էdz����˵ļ�Ǯ����һ��������ʵʱ����ϵͳ�� ���ڿ�����������һ��ȫ���ܵIJ���ϵͳ�� ���ǿ������뽫Ҫ���������ϵ���ͬ��ϵͳ�Ͽ���ʵʱ�ij����� ʵ���ϣ��������������˵�ͬʱ�����м���ʵʱ����Ҳû�����⡣

������һϵ���Ժ��������л��о�����ʵʱӦ�ó��������ӣ� �Լ����α�д�����Լ���ʵʱ������





��ҳ��LinuxFocus�༭��ά��
© Ismael Ripoll, FDL
http://www.LinuxFocus.org
������Ϣ:
es --> -- : Ismael Ripoll <iripoll(at)disca.upv.es>
es --> en: Miguel Ángel Sepúlveda <sepulveda(at)linuxfocus.org>
en --> zh_CN: SEVEN <seven1240(at)163.com>

2005-03-26, generated by lfparser version 2.51