강의 정리/시스템 프로그래밍
시스템 프로그래밍 (1) 소개
끔벅이별
2024. 3. 29. 15:35
= 리눅스 프로그래밍 기초.
유닉스(리눅스) 환경에서 시스템 호출(=system call)을 이용하여 보다 발전된 형태의 프로그램을 작성할 수 있는 능력 배양.
C/C++ 프로그래밍에 대한 이해 필요.
운영체제에 대한 기본적인 이해 필요.
- 시스템 프로그래밍의 개념: 운영체제가 제공하는 시스템 호출을 이용하는 프로그래밍.
-> 운영체제의 기능: 프로세스 관리, 메모리 관리, 파일시스템 관리, 프로세스 사이의 통신.
-> 시스템 호출을 위해 할 수 있는 것: 파일 시스템과 관련된 처리, 프로세스와 관련된 처리, 프로세스 사이의 통신.
- 아래의 세개에 관한 내용.
파일 및 디렉토리 관리
프로세스 관리
프로세스 사이의 통신
-> 파일 및 디렉토리 관리
UNIX 파일 시스템 구조
파일 생성 및 삭제
파일 reading 및 writing
파일 status
심볼릭 링크 및 하드 링크
디렉토리 생성 및 삭제
디렉토리 reading
-> 프로세스 관리
프로세스
--> 사용자 프로세스/시스템 프로세스.
--> foreground 프로세스/background 프로세스.
프로세스의 생성과 종료
프로세스의 동기화
환경 변수
간단한 command shell 작성
-> 프로세스 사이의 통신
시그널을 이용한 통신
파이프를 이용한 통신
소켓을 이용한 통신
--> 연결 지향형 모델
--> 비연결 지향형 모델
소켓을 이용한 간단 통신 프로그램 작성