어째서 Linux를 배우는가?
- 단순성(simplicity) : 자원에 대한 일관된 관점을 제공한다
- 이식성(portability) : C언어로 작성하여 다양한 플랫폼에 이식이 가능하다
- 개방성(openness) : 전체 소스 코드를 제공한다
리눅스 구조
- OS : 컴퓨터의 하드웨어 자원을 운영하고 프로그램을 실행할 수 있는 환경을 제공한다
- kernel : 운영체제의 핵심으로 하드웨어 운영하고 관리한다
- system call : 커널이 제공하는 서비스에 대한 프로그래밍 인터페이스 역할을 한다
- shell : 사용자와 운영체제 사이의 인터페이스로 사용자로부터 명령어를 입력 받아 해석하여 수행하여주는 명령어 해석기
- utilities : 평소에 사용하는 명령어들
커널의 역할
- 프로세스 관리 : 여러 프로그램이 실행될 수 있도록 프로세스들을 CPU 스케줄링하여 동시에 수행되도록 한디
- 파일 관리 : 디스크와 같은 저장장치 상에 파이 시스템을 구성하여 파일을 관리한다
- 메모리 관리 : 메인 메모리가 효과적으로 사용될 수 있도록 관리한다
- 통신 관리 : 네트워크를 통해 정보를 주고받을 수 있도록 관리한다
- 주변장치 관리 : 모니터, 키보드, 마우스와 같은 장치를 사용할 수 있도록 관리한다
'not기초 > 시스템프로그래밍' 카테고리의 다른 글
[시스템프로그래밍]임의 접근 파일 (0) | 2019.03.15 |
---|---|
[시스템프로그래밍]시스템 호출 read()/write()/dup()/dup2() (0) | 2019.03.15 |
[시스템프로그래밍]시스템 호출 open()/creat()/close() (0) | 2019.03.15 |
[시스템프로그래밍]파일 시스템 (0) | 2019.03.15 |
[시스템프로그래밍]시스템 호출 #개요 (0) | 2019.03.15 |