시스템 프로그래밍 시작 - 기본 구성 알아두기

2021. 3. 5. 19:43Computer(인강)/시스템 프로그래밍

728x90
반응형

안녕하세요 bannavi 입니다^ㅅ^

오늘은 시스템 프로그래밍 시작인 기본 구성 알아두기 시간이에요

바로 들어가보도록 하겠습니다

 

 

리눅스와 파일

1) 모든것은 파일이라는 철학을 따른다

- 모든 인터렉션은 파일을 읽고, 쓰는 것처럼 이루어져있음.

- 마우스 키보드와 같은 모든 디바이스 기술도 파일과 같이 다루어집니다.

 

2) 파일 네임 스페이스

먼저, 네임 스페이스란?

예를 들어 윈도우즈에서는 A드라이브를 A:/ 이렇게 표시하죠? 이런식으로 각각 A드라이브 따로 있고 C드라이브 따로 있는데 이런걸 네임스페이스라고 합니다.

- 파일 네임 스페이스는 한마디로 A드라이브(A:/), C드라이브(C:/Windows) 이런걸 말하는데, 리눅스에서는 이런식을 사용하지 않습니다.

- 리눅스는 전역 네임 스페이스를 사용하며, 모든파일을

/media/floofy/dave.jpg 이런식으로 표현합니다.

플로피 디스크는 사실 별도의 저장매체임에도 불구하고 이런식으로 쓰이는걸 보면 정말 모든것이 파일철학을 따르고 있다는걸 알 수 있네요.

그러니까 다시말하면 모든것을 루트디렉토리로 시작하는 파일로 인식한다는것입니다.

 

3) 파일은 inode의 고유값과 자료구조에 의해 주요정보 관리

 

 

 

 

 

 

리눅스와 프로세스

1) 리눅스 실행 파일 포맷 - ELF(Executable and Linkable Format)

- 콜스택, 코드(텍스트), 데이터 및 BSS 섹션 등

- 운영체제 마다 프로세스 구조가 다를텐데 뭐를 어떻게 설정할지에 대한 그런 포맷을 설정해둔것.

 

2) 다양한 시스템 리소스와 관련 

- 시스템콜 호출을 통해 리소스 처리 가능토록 구성

- 타이머, 시그널, 파일, 네트워크, 디바이스, IPC기법 등이 관리될 수 있도록 프로그램이 구성되어있다.

 

3) 가상 메모리 지원

 

4) 각 파일은 inode로, 각 프로세스는 pid(프로세스ID) 고유값으로 구분

 

5) init프로세스(첫번째 프로세스)를 기반으로 fork()시스템콜을 사용해서, 신규 프로세스가 생성

 

 

 

 

 

 리눅스와 권한

 

1) 운영체제는 사용자/리소스 권한을 관리

2) 리눅스는 사용자/그룹으로 권한을 관리

3) root는 슈퍼관리자

4) 파일마다 소유자, 소유자 그룹, 모든 사용자에 대해 읽고, 쓰고, 실행하는 권한을 관리

5) 접근 권한 정보는 inode의 자료구조에 저장

 

 

 

 

 

정리

 

1. 리눅스는 모든 리소스를 파일로 관리한다(한마디로 인터페이스가 같은것) - 파일은 inode기반 알고리즘으로 관리한다 

2. 리눅스의 프로세스는 ELF라는 포멧을 사용하고 시스템콜 기반 리소스 처리가 가능토록 구성되있음.

- 타이머, 시그널, 파일, 네트워크 등등 프로세스와 연관된 모든 리소스를 관리할 수 있는 자료구조가 존재한다.

3. 가상메모리 사용한다

4. pid기반 구분한다

5. init 프로세스 기반 fork()사용해서, 프로세스가 생성 

6. 리눅스 사용자(로그인 사용자/그룹) 권한 관리

7. 리눅스 리소스(소유자, 소유자 그룹, 모든 사용자에 대한 읽고, 쓰고, 실행하는 권한 설정이 가능)

 

 

728x90
반응형

'Computer(인강) > 시스템 프로그래밍' 카테고리의 다른 글

파일 및 권한 관리 - 1  (0) 2021.03.06
다중 사용자 지원  (0) 2021.03.05
리눅스 설치 with VMWare  (0) 2021.03.05
리눅스서버(EC2) IP 생성 및 접속  (0) 2021.03.05
리눅스 서버(EC2) 생성  (0) 2021.03.02