2021. 3. 7. 15:57ㆍComputer(인강)/시스템 프로그래밍
안녕하세요 bannavi입니다^ㅅ^
오늘은 ABI와 표준에 대해서 알아볼거에요
바로 시작하겠습니다
API는 하위호환이 지원이 된다.
API
: 응용 프로그램과 분리된 하위 호환 인터페이스
-> 예: 시스템 콜 래퍼, 입출력 라이브러리 등등
C라이브러리
1) 유닉스 C 라이브러리 libc
2) 리눅스 C 라이브러리 - GNU libc - glibc(지립씨, 글립씨)
-> 시스템콜, 시스템콜 래퍼, 기본 응용 프로그램 기능 포함
C컴파일러 설치를 해봅시다
Yes/NO 이런 부분 나오면 과감히 Y눌러주세요
ABI(Application Binary Interface)
1. 응용 프로그램 바이너리 인터페이스
2. 함수 실행 방식, 레지스터 활용, 시스템 콜 실행, 라이브러리 링크 방식 등
3. ABI가 호환되면 재컴파일없이 동작
4. 컴파일러, 링커(라이브러리 링크), 툴체인(컴파일러를 만드는 프로그램)에서 제공
POSIX
1. 유닉스 시스템 프로그래밍 인터페이스 표준
2. IEEE(Institute of Electronic and Electronics Engineers)에서 표준화 시도
3. 리차드 스톨만(자유 소프트웨어 재단)이 POSIX를 표준안 이름으로 제안
C언어 표준
1. 다양한 C언어 변종
2. ANSI(American National Standards Institute)에서 ANSI C 표준 정립
-> 리눅스는 POSIX와 ANSI C 지원
시스템 프로그래밍과 버전
1. 끊임없는 POSIX, C, C++ 표준 업데이트
2. 끊임없는 소프트웨어 업데이트
3. 프로그래밍 트렌드와 상관없이 시스템 레벨단 기술은 유지되고, 필요함
-> 상위 레벨 프로그래밍을 할지라도, 하위 시스템 레벨을 알고 있으면, 더 나은 또는 성능이 개선된 소프트웨어 개발 가능
'Computer(인강) > 시스템 프로그래밍' 카테고리의 다른 글
프로세스ID 시스템콜 (0) | 2021.03.08 |
---|---|
프로세스ID (0) | 2021.03.08 |
시스템콜과 API (0) | 2021.03.07 |
소프트링크 및 특수 파일 (0) | 2021.03.07 |
하드 링크 (0) | 2021.03.07 |