Developers/ComputerScience
시스템 프로그래밍 Intro
__APPA
2021. 1. 15. 08:07
리눅스와 파일
- 모든 것은 파일이라는 철학을 따름
- 모든 interaction은 파일을 읽고 쓰는 것처럼 이루어져 있음
- 마우스, 키보드와 같은 모든 디바이스 관련된 기술도 파일과 같이 다루어짐 - 파일 네임 스페이스(Name Space)
- ex) A 드라이브(A:/), C 드라이브(C:/) (X)
- 전역 드라이브(네임 스페이스 사용) /media/floofy/
- 모든 드라이브(외부 드라이브)가 디렉토리로 인식됨 - 파일은 inode 고유값과 자료구조에 의해 주요 정보 관리
리눅스와 프로세스
- 리눅스 실행 파일 포맷 - ELF(Executable and Linkable Format)
- 콜스택, 힙, 코드(텍스트), 데이터 및 BSS 섹션 등 - 다양한 시스템 리소스와 관련
시스템 콜 호출을 통해 리소스 처리가 가능하도록 구성
타이머, 시그널, 파일, 네트워크, 디바이스, IPC기법 - 가상 메모리 지원
- 각 프로세스는 pid(프로세스 ID) 고유값으로 구분
- init 프로세스를 기반으로 fork() 시스템콜을 사용해서 신규 프로세스가 생성(부모-자식 관계)
리눅스와 권한
- 운영체제는 사용자/리소스 권한을 관리
- 리눅스는 사용자/그룹에 따른 권한 관리
- root는 슈퍼관리자
- 파일마다 소유자, 소유자 그룹, 모든 사용자에 대해 Read, Write, Run 권한을 관리
- 접근 권한 정보는 inode의 자료구조에 저장