2006/07/24

Solaris 10 실시간 프로그래밍 사양(Realtime) FAQ

1. POSIX.4(실시간 POSIX 확장) 를 지원합니까?

POSIX.4라는 용어는 사용하지 않구요. 일반적으로 Posx.4는 IEEE 1003(=Posix.1)의
Realtime Extension 으로 일컬어집니다.
솔라리스에서도 POSIX 1의 Realtime Extenstion으로 Posix 1003.1b-1993 를
지원합니다. Solaris에서 man standards 라고 명령을 쳐보시면 알 수 있습니다.

POSIX Standard Description Release
POSIX.1-1988 system interfaces and headers SunOS 4.1
POSIX.1-1990 POSIX.1-1988 update Solaris 2.0
POSIX.1b-1993 realtime extensions Solaris 2.4
POSIX.1c-1996 threads extensions Solaris 2.6
POSIX.2-1992 shell and utilities Solaris 2.5
POSIX.2a-1992 interactive shell and utilities Solaris 2.5
POSIX.1-2001 POSIX.1-1990, POSIX.1b-1993, Solaris 10
POSIX.1c-1996, POSIX.2-1992, and
POSIX.2a-1992 updates
....

자세한 건은 맨밑에 첨부했습니다.

2. OS와 함께 C, C++, Fortran 77이상 컴파일러가 제공 됩니까?
SunStudio 가 제공됩니다. C/C++/f77 모두 지원됩니다.

3. CPU의 수행 상태를 모니터링 할 수 있는 툴이 제공되는가요? (스케줄러에 설정된 값을 확인 할 수 있는 기능을 제공하는 툴이 내장되어 있나요)
mpstat, prstat, ps 등으로 CPU별/스레드별 활동이 모니터링 가능합니다.
또한, dtrace를 통해, clock이 정확하게 발생하는지, catch가 되는지 등을 정밀하게
확인할 수 있습니다.



4. 멀티 프로세싱, 멀티 쓰레드 기능을 제공합니까?
물론입니다. 위 1번에 첨부한 준수 표준에 보시면 아주 오래전부터 지원하고
있습니다. 멀티 스레드는 유닉스 중에서는 썬의 솔라리스가 최초로 적용한 기술입니다.
스레드 처리 기술에는 Sun thread와 Posix thread 두가지가 있습니다.

5. 멀티 CPU 사용을 지원 합니까?
물론입니다. 썬의 솔라리스는 현재 144개의 CPU가 제공되는 시스템에서 사용되고
있습니다. 이론적으로 수천개의 프로세서를 지원할 수 있는 고확장성 기능을 채택하고
있어서 SMP 구조 시스템에 최적화되어 있습니다.

6. CPU별 OS 인터럽트에 대해 isolation 가능합니까?
프로세서 유틸리티 psradm으로 가능합니다.
man psradm


7. 제품에 가장 적합한 하드웨어 구성은 어떻게 되나요(CPU)?
적합한 하드웨어 구성이라고 딱히 있는 것은 아니며, 솔라리스가 사용될 수 있는
시스템이면 모두 가능합니다.
썬의 UltraSPARC 계열의 시스템과 옵테론 계열의 시스템 모두 사용가능합니다.

참고삼아, 솔라리스는 기본 설치시 clock catch rate를 10ms로 설정되어 있으며
Realtime 환경을 위해서 고 해상도의 clock catch를 위해서는 /etc/system 이란
화일안에 hires_tick=1 을 설정함으로써 1us 단위의 clock catch를 할 수 있습니다.
1us 단위 보다 더 촘촘한 시간 단위의 클럭 catch를 위해서는 별도의 시스템
카드를 사용해야 하는 것으로 알려져 있습니다.

다음을 참고하세요. 솔라리스의 매뉴얼에 포함되어 있는 솔라리스가 준수하는
표준안의 일부입니다.

NAME      
standards, ANSI, C, C++, ISO, POSIX, POSIX.1, POSIX.2, SUS, SUSv2, SUSv3, SVID, SVID3, XNS, XNS4, XNS5, XPG, XPG3, XPG4, XPG4v2 - standards and specifications supported by Solaris

DESCRIPTION
Solaris 10 supports IEEE Std 1003.1 and IEEE Std 1003.2, commonly known as POSIX.1 and POSIX.2, respectively. The following table lists each version of these standards with a brief description and the SunOS or Solaris release that first conformed to it.

POSIX Standard Description Release
POSIX.1-1988 system interfaces and headers SunOS 4.1
POSIX.1-1990 POSIX.1-1988 update Solaris 2.0
POSIX.1b-1993 realtime extensions Solaris 2.4
POSIX.1c-1996 threads extensions Solaris 2.6
POSIX.2-1992 shell and utilities Solaris 2.5
POSIX.2a-1992 interactive shell and utilities Solaris 2.5
POSIX.1-2001 POSIX.1-1990, POSIX.1b-1993, Solaris 10 POSIX.1c-1996, POSIX.2-1992, and
POSIX.2a-1992 updates Solaris 10 also supports the X/Open Common Applications Environment (CAE) Portability Guide Issue 3 (XPG3) and Issue 4 (XPG4); Single UNIX Specification (SUS, also known as XPG4v2); Single UNIX Specification, Version 2 (SUSv2); and Single UNIX Specification, Version 3 (SUSv3). Both XPG4 and SUS include Networking Services Issue 4 (XNS4). SUSv2 includes Networking Services Issue 5 (XNS5). The following table lists each X/Open specification with a brief description and the SunOS or Solaris release that first conformed to it.


See more from #man standards.5