강의 정리/시스템 프로그래밍

시스템 프로그래밍 (1) 소개

끔벅이별 2024. 3. 29. 15:35

= 리눅스 프로그래밍 기초.

 

유닉스(리눅스) 환경에서 시스템 호출(=system call)을 이용하여 보다 발전된 형태의 프로그램을 작성할 수 있는 능력 배양.

C/C++ 프로그래밍에 대한 이해 필요.

운영체제에 대한 기본적인 이해 필요.

 

 

- 시스템 프로그래밍의 개념: 운영체제가 제공하는 시스템 호출을 이용하는 프로그래밍.

-> 운영체제의 기능: 프로세스 관리, 메모리 관리, 파일시스템 관리, 프로세스 사이의 통신.

-> 시스템 호출을 위해 할 수 있는 것: 파일 시스템과 관련된 처리, 프로세스와 관련된 처리, 프로세스 사이의 통신.

 

 

- 아래의 세개에 관한 내용.

파일 및 디렉토리 관리

프로세스 관리

프로세스 사이의 통신

 

-> 파일 및 디렉토리 관리

UNIX 파일 시스템 구조

파일 생성 및 삭제

파일 reading 및 writing

파일 status

심볼릭 링크 및 하드 링크

디렉토리 생성 및 삭제

디렉토리 reading

 

-> 프로세스 관리

프로세스

--> 사용자 프로세스/시스템 프로세스.

--> foreground 프로세스/background 프로세스.

프로세스의 생성과 종료

프로세스의 동기화

환경 변수

간단한 command shell 작성

 

-> 프로세스 사이의 통신

시그널을 이용한 통신

파이프를 이용한 통신

소켓을 이용한 통신

--> 연결 지향형 모델

--> 비연결 지향형 모델

소켓을 이용한 간단 통신 프로그램 작성