导航:首页 > 编程系统 > linux实时功能

linux实时功能

发布时间:2023-12-25 00:06:05

linux操作系统具有哪些特点

一、 Linux的诞生
Linux的兴起可以说是Internet创造的一个奇迹。 1991年初,当年轻的芬兰大学生Linus Torvalds在开始其Linux 操作系统的设计时,他的目的只不过是想看一看Intel 386存储 管理硬件是怎样工作的,而绝对没有想到这一举动会在计算机界 产生如此重大的影响。他的设计进展得很顺利,只花了几个月时 间就在一台Intel 386微机上完成了一个类似于Unix 的操作系统, 这就是最早的Linux版本。1991年底,Linus Torvalds首次在Internet 上发布了基于Intel 386体系结构的Linux源代码,从此以后,奇迹开始 发生了。由于Linux具有结构清晰、功能简捷等特点,许多大专院校的学 生和科研机构的研究人员纷纷把它作为学 习和研究的对象。他们在更正原 有Linux版本中错误的同时,也不断地为Linux增加新的功能。在众多热心者的 努力下,Linux逐渐成为一个稳定可靠、功能完善的操作系统。一些软件公司, 如Red Hat、InfoMagic等也不失时机地推出了自己的以Linux为核心的操作系统 版本,这大大推动了Linux的商品化。在一些大的计算机公司的支持下,Linux还 被移植到以Alpha APX、PowerPC、Mips及Sparc等为处理机的系统上。Linux的使 用日益广泛,其影响力直逼Unix。

Linux的成功得益于如下因素:
(1) 具有良好的开放性。Linux及其生成工具的源代码均可通过Internet免费获取,linux爱 好者能非常 容易地建立一个Linux开发平台。

(2) Internet的普及使热心于Linux的开发者们能进行高效、快捷的交流,从而为Linux 创造了一个优良的分布式开发环境。

(3) Linux具有很强的适应性,能适应各种不同的硬件平台。
Linux的版本更新很快。在短短的七年时间里,其版本已升至2.1.x。这里之所以用"x"表示,是因为 x的值变化太快,很难准确地定位它的值。这也从侧面反映了从事Linux的研究者之多。不过,Linux用得最 多的版本还是2.0.30,许多商品化的操作系统都以它为核心。

二、 Linux的主要特点
作为一个操作系统,Linux几乎满足当今Unix操作系统的所有要求,因此,它具有Unix操作系统的基本 特征。
1.符合POSIX 1003.1标准
POSIX 1003.1标准定义了一个最小的Unix操作系统接口,任何操作系统只有符合这一标准,才有可能运 行Unix程序。考虑到Unix具有丰富的应用程序,当今绝大多数操作系统都把满足POSIX 1003.1标准作为实现 目标,Linux也不例外,它完全支持POSIX 1003.1标准。另外,为了使Unix System V和BSD上的程序能直接在 Linux上运行, Linux还增加了部分System V和BSD的系统接口,使Linux成为一个完善的Unix程序开发系统。

2.支持多用户访问和多任务编程
Linux是一个多用户操作系统,它允许多个用户同时访问系统而不会造成用户之间的相互干扰。另外, Linux还支持真正的多用户编程,一个用户可以创建多个进程,并使各个进程协同工作来完成用户的需求.

3.采用页式存储管理
页式存储管理使Linux能更有效地利用物理存储空间,页面的换入换出为用户提供了更大的存储空间。

4.支持动态链接
用户程序的执行往往离不开标准库的支持,一般的系统往往采用静态链接方式,即在装配阶段就已将 用户程序和标准库链接好,这样,当多个进程运行时,可能会出现库代码在内存中有多个副本而浪费存储 空间的情况。Linux 支持动态链接方式,当运行时才进行库链接,如果所需要的库已被其它进程装入内存, 则不必再装入,否则才从硬盘中将库调入。这样能保证内存中的库程序代码是唯一的。

5.支持多种文件系统
Linux能支持多种文件系统。目前支持的文件系统有:EXT2、EXT、XIAFS、ISOFS、HPFS、MSDOS、UMSDOS、 PROC、NFS、SYSV、MINIX、SMB、UFS、NCP、VFAT、AFFS。Linux最常用的文件系统是EXT2,它的文件名长度可 达255字符,并且还有许多特有的功能,使它比常规的Unix文件系统更加安全。

6.支持TCP/IP、SLIP和PPP
在Linux中,用户可以使用所有的网络服务,如网络文件系统、远程登录等。SLIP和PPP能支持串行线上的 TCP/IP协议的使用,这意味着用户可用一个高速Modem通过电话线连入Internet网中。

除了上述基本特征外,Linux还具有其独有的特色:

支持硬盘的动态Cache 这一功能与MS�DOS中的Smartdrive相似。所不同的是,Linux能动态调整所用的 Cache存储器的大小,以适合当前存储器的使用情况,当某一时刻没有更多的存储空间可用时,Cache将被减少, 以增加空闲的存储空间,一旦存储空间不再紧张,Cache的大小又将增加。
支持不同格式的可执行文件 Linux具有多种模拟器,这使它能运行不同格式的目标文件。其中,DOS和 MS�Windows正在开发之中,iBCS2模拟器能运行SCO Unix的目标程序。(iBCS2 模拟器不是Linux标准核心的 一部分,但可从ftp.informatik.hu�berlin.de:/pub/os/linux下载)

三、 Linux的主要构成
Linux主要由存储管理、进程管理、文件系统、进程间通信等几部分组成,在许多算法及实现策略上, Linux借鉴了Unix的成功经验,但也不乏自己的特色。

1.存储管理
Linux采用页式存储管理机制,每个页面的大小随处理机芯片而异。例如,Intel 386处理机页面大小 可为4KB和2MB两种,而Alpha处理机页面大小可为8KB、16KB、32KB和64KB。页面大小的选择对地址变换算 法和页表结构会有一定的影响,如Alpha的虚地址和物理地址的有效长度随页面尺寸的变化而变化,这种变 化必将在地址变换和页表项中有所反映。
在Linux中,每一个进程都有一个比实际物理空间大得多的进程虚拟空间,为了建立虚拟空间和物理空 间之间的映射,每个进程还保留一张页表,用于将本进程空间中的虚地址变换成物理地址。页表还对物理页 的访问权限作出了规定,定义了哪些页可读写,哪些页是只读页,在进行虚实变换时,Linux将根据页表中规 定的访问权限来判定进程对物理地址的访问是否合法,从而达到存储保护的目的。
Linux存储空间分配遵循的是不到有实际需要的时候决不分配物理空间的原则。当一个程序加载执行时, Linux只为它分配了虚空间,只有访问某一虚地址而发生了缺页中断时,才为它分配物理空间,这样就可能 出现某些程序运行完成后,其中的一些页从来就没有装进过内存。这种存储分配策略带来的好处是显而易见的,因为它最大限度地利用了物理存储器。
尽管Linux对物理存储器资源的使用十分谨慎,但还是经常出现物理存储器资源短缺的情况。Linux有一 个名为kswapd的进程专门负责页面的换出,当系统中的空闲页面小于一定的数目时,kswapd将按照一定的淘 汰算法选出某些页面,或者直接丢弃(页面未作修改),或者将其写回硬盘(页面已被修改)。这种换出方式不 同于较旧版本Unix的换出方式,它是将一个进程的所有页全部写回硬盘。相比之下,Linux的效率更高。

2.进程管理
在Linux中,进程是资源分配的基本单位,所有资源都是以进程为对象来进行分配的。 在一个进程的生 命期内,它会用到许多系统资源,会用CPU运行其指令,用存储器存储其指令和数据,它也会打开和使用文件 系统中的文件,直接或间接用到系统中的物理设备,因此,Linux设计了一系列的数据结构,它们能准确地描 述进程的状态和其资源使用情况,以便能公平有效地使用系统资源。Linux的调度算法能确保不出现某些进程 过度占用系统资源而导致另一些进程无休止地等待的情况。

进程的创建是一个十分复杂的过程,通常的做法需为子进程重新分配物理空间,并把父进程空间的内容全 盘复制到子进程空间中,其开销非常大。为了降低进程创建的开销,Linux采用了Copy�on�write技术,即不 拷贝父进程的空间,而是拷贝父进程的页表,使父进程和子进程共享物理空间,并将这个共享空间的访问权限 置为只读。当父进程和子进程的某一方进行写操作时,Linux检测到一个非法操作,这时才将要写的页进行复制 。这一做法免除了只读页的复制,从而降低了开销。
Linux目前尚未提供用户级线程,但提供了核心级线程,核心线程的创建是在进程创建的基础上稍做修改, 使创建的子进程与父进程共享虚存空间。从这一意义上讲,核心线程更像一个共享进程组。

3.文件系统
Linux最重要的特征之一就是支持多个不同的文件系统,前面我们已经看到,Linux目前支持的文件系统 多达十余种,随着时间的推移,这一数目还在不断增加。在Linux中,一个分离的文件系统不是通过设备标识 (如驱动器号或驱动器名)来访问,而是 把它合到一个单一的目录树结构中,通过目录来访问,这一点与Unix十分相似。Linux用 安装命令将一个新的文件系统安装到系统单一目录树的某一目录下,一旦安装成功,该目录下的所有内容将 被新安装的文件系统所覆盖,当文件系统被卸下后,安装目录下的文件将会被重新恢复。

Linux最初的文件系统是Minix。该文件系统对文件限制过多,并且性能低下,如文件名长度不能超过14 个字符、文件大小不能超过64MB。为了解决这些问题,Linux的开发者们设计了一个Linux专用的文件系统EXT。 EXT对文件的要求放松了许多,但在性能上并没有大的改观,于是就有了后面的EXT2文件系统。EXT2文件系统 是一个非常成功的文件系统,它无论是对文件的限制还是在性能方面都大大优于EXT文件系统,所以,EXT2自 从推出就一直是Linux最常用的文件系统。
为了支持多种文件系统,Linux用一个被称为虚拟文件系统(VFS)的接口层将真正的文件系统同操作系统及 系统服务分离开。VFS掩盖了不同文件系统之间的差异,使所有文件系统在操作系统和用户程序看来都是等同的。VFS允许用户同时透明地安装多个不同的文件系统。

4.进程间通信
Linux提供了多种进程间的通信机制,其中,信号和管道是最基本的两种。除此以外,Linux也提供 System V的进程间通信机制,包括消息队列、信号灯及共享内存。为了支持不同机器之间的进程通信, Linux还引入了BSD的Socket机制。

四、 Linux的不足及发展趋势
Linux从出现到现今只经历了短短七年的时间,但其发展速度是惊人的,这与它的开放性和优良的性能 是密不可分的。不过我们应该看到,作为一个由学生开发的系统,Linux还有许多先天不足,它的设计思想 过多地受到传统操作系统的约束,没有体现出当今操作系统的发展潮流,具体表现在以下几个方面:

不是一个微内核操作系统;
是一个分布式操作系统;
不是一个安全的操作系统;
没有用户线程;
不支持实时处理;

代码是用C而不是C++这样的现代程序设计语言编写的。
尽管Linux有这样和那样的不足,但其发展潜力不容低估,其发展的动力就是遍布全球、为数众多的 Linux热心者。今后Linux将会朝着完善功能、提高效率的方向发展,包括允许用户创建线程、增加实时处 理功能、开发适合多处理机体系结构的版本。我们相信,Linux、Unix及NT三足鼎立的时代将为期不远。

㈡ Linux有哪些特点

Linux以高效和灵活著称。Linux运行于PC上,是在GNU 通用公共许可(GPL)权限下免费获得的,是一个符合POSIX 标准的操作系统。
Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器,以及X-Windows图形用户界面等应用软件,使用Linux也可以像使用Windows7、Windows8一样,通过窗口、图标和菜单对系统进行操作,当然,这是Linux个人桌面领域的应用,在服务器领域绝大多数场景下都还是使用命令行、文本模式操作Linux的。
Linux系统之所以受到广大计算机爱好者的喜爱,主要原因有两个:一是,Linux属于自由软件,用户不用支付任何费用就可以获得系统和系统的源代码,并且可以根据自己的需要对源代码进行必要的修改,无偿使用,无约束地自由传播。二是,Linux具有Unix的全部优秀特性,任何使用Unix操作系统或想要学习Unix操作系统的人,都可以通过学习Linux来了解Unix,同样可以获得Unix中的几乎所有优秀功能,并且Linux系统更开放,社区开发和其他使用者也更加活跃。

Linux还有其他特点:可以说 Linux是Unix在PC上的克隆版,仿Unix内核构建,几乎与Unix指令集向下完全兼容;是一个完善的支持多用户、多任务、多进程、多 CPU的系统;具有很高的系统稳定性与可靠性、很高的系统安全性;有完善的网络服务,支持HTTP、FTP、SMTP、POP、SAMBA、SNMP、DNS、 DHCP、SSH、TELNET等;基于GNU许可、自由开放;有大量第三方免费应用程序;得到了众多业界厂商支持,如IBM、Oracle、Intel、HP、MOTO、Google等;有完善的大型数据库平台,包括Oracle、DB/2、Sybase、MySQL、PostgreSQL等;有完善的图形用户界面,包括GNOME、KDE等;有完善的开发平台,包括C/C++、Java、Perl 等,支持各类图形界面API,如GTK+、QT等。

㈢ linux实时时间 xtime怎么获取并使用

RTC时间操作:

1.rtc时间是由rtc硬件控制的,所以在linux中想要修改和获取rtc时间就只能通过驱动的接口来获取和修改。

intrtc_test(void)

{

structrtc_timertc;

intfd=-1;

intret=-1;

fd=open("/dev/rtc0",O_RDWR);

if(fd<0){

return-1;

}

ret=ioctl(fd,RTC_RD_TIME,&rtc);

if(ret<0){

return-1;

}

printf(" CurrentRTCdata/timeis%d-%d-%d,%02d:%02d:%02d. ",rtc.tm_mday,rtc.tm_mon+1,

rtc.tm_year+1900,rtc.tm_hour,rtc.tm_min,rtc.tm_sec);

ret=ioctl(fd,RTC_SET_TIME,&rtc);

if(ret<0){

return-1;

}

return0;

}

2.除了上面这种方式操作rtc时间以外,linux中也有一个命令可以简化rtc时间操作,hwclock,比如,可以通过system("hwclock-w");系统调用来把xtime设置到rtc硬件。

墙上时间(realtime、xtime):

linux系统中主要使用的就是xtime,它是系统运行的基础,很多程序都是依赖于xtime来运行的,接下来将介绍将如何操作xtime。

1.获取、设置微秒级别的时间:

#include

#include

structtimeval

{

inttv_sec;

inttv_usec;

};

intgettimeofday(structtimeval*tv,structtimezone*tz);

intsettimeofday(conststructtimeval*tv,conststructtimezone*gz);

功能描述:

gettimeofday()获取当前时间,有tv指向的结构体返回。

settimeofday()把当前时间设成由tv指向的结构体数据。当前地区信息则设成tz指向的结构体数据。

2.获取秒级别的时间

typedeflongtime_t;

time_ttime(time_t*t);

如果t是non-null,它将会把时间值填入t中

3.内核2.6版本后新增的clockapi接口

获取纳秒级别的时间

structtimespec{

time_ttv_sec;/*秒s*/

longtv_nsec;/*纳秒ns*/

};

intclock_getres(clockid_tclk_id,structtimespec*res);

intclock_gettime(clockid_tclk_id,structtimespec*tp);

intclock_settime(clockid_tclk_id、conststructtimespec*tp);

编译连接时采用-lrt才能编译通过。

clk_id可选参数:

CLOCK_REALTIME

系统全局的实时时钟.设置此时钟需要合适的权限.

CLOCK_MONOTONIC

只能被读取,无法被设置,表示monotonic时间起点.

CLOCK_PROCESS_CPUTIME_ID

从cpu每进程的高分辨率计时器.

CLOCK_THREAD_CPUTIME_ID

线程的特定cpu时间时钟.

系统启动时,会首先从rtc中读取rtc时间,并设置给xtime,而当ntp对系统时间进行更新时,首先设置xtime,然后调用hwclock设置到rtc硬件中。xtime根据需要的精度,可以通过上面几个接口来选择使用。


㈣ linux是实时还是分时操作系统,什么是实时操作系统,什么是分时操作系统他们的区别是什么

Linux是分时操作系统。

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。

实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,调度一切可利用的资源完成实时任务,并控制所有实时任务协调一致运行的操作系统。提供及时响应和高可靠性是其主要特点。

分时操作系统是使一台计算机采用时间片轮转的方式同时为几个、几十个甚至几百个用户服务的一种操作系统。

区别:

1、交互性不同。

实时信息处理系统具有交互性,但仅限于访问系统中某些特定的专用服务程序。

分时系统能向终端用户提供数据处理服务、资源共享等服务。

2、可靠性要求不同。

分时系统要求系统可靠。

实时系统则要求系统高度可靠。因为任何差错都可能带来巨大的经济损失甚至无法预料的灾难性后果。

3、多路性表现不同。

实时控制系统,其多路性主要表现在经常对多路的现场信息进行采集以及对多个对象或多个执行机构进行控制。

分时系统具有多路性,系统按分时原则为多个终端用户服务;

(4)linux实时功能扩展阅读:

基本思想

Linux的基本思想有两点:

1、一切都是文件;

2、每个软件都有确定的用途。

其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近。

阅读全文

与linux实时功能相关的资料

热点内容
linux连接ftp 浏览:512
es文件浏览器视频笔记 浏览:874
mac无法打开描述文件 浏览:134
什么软件打文件 浏览:53
数据库无数据变成0 浏览:899
名企笔试如何刷编程题 浏览:49
js跳到页面某地 浏览:550
jsp展示clob字段 浏览:779
nyx在网络上是什么意思 浏览:145
乐播农业app是什么 浏览:530
编程框架如何开发 浏览:136
金庸群侠传3修改代码 浏览:712
检察院的文件类别有哪些 浏览:793
怎么把九游残留数据删除 浏览:828
有什么女生主动聊天的app 浏览:436
有哪些可以督促自己的app 浏览:244
用USB传输视频文件夹显示为空 浏览:710
恢复文件软件免费版手机 浏览:648
lg怎么隐藏文件 浏览:836
苹果免费读书app推荐 浏览:497

友情链接