해나아부지 개발일지

시스템 프로그래밍 Intro 본문

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의 자료구조에 저장

 

 

Comments