한땀한땀 정성들인 코딩
os구조 리눅스 본문
리눅스/유닉스의 구조
유닉스 링 구조 : 하드웨어, 커널, 셸, 응용 프로그램으로 구성
윈도우보다 훨씬 단순, 크게 파일 서브 시스템, 장치 드라이버, 프로세스 제어로 나뉘며, 커널의 파일 크기 또한 윈도우의 1/3 정도
프로세스 제어에서는 전체 프로세스 간 통신, 스케줄링, 메모리 관리를 구현, 장치 드라이버는 윈도우에서처럼 하드웨어와 소프트웨어를 연결해주는 인터페이스를 제공
파일 서브 시스템은 하드 디스크와 같은 저장 공간에 유닉스의 파일을 저장하고 읽는 역할
셀 개념
응용 프로그램에서 명령을 받아 커널에 전송하는 역할, 사용자의 키보드 입력 인식 해당 프로그램을 수행
셸(Shell)의 종류
– 본 셸(Bourne Shell), 콘 셸(Korn Shell), C 셸(C Shell)
셸이 제공하는 주요 기능
– 자체의 내장 명령어 제공
– 입력/출력/오류의 방향 변경(redirection)
– 와일드카드(wildcard)
– 파이프라인
– 조건부/무조건부 명령 열 작성
– 서브 셸 생성
– 백그라운드 처리(Background processing)
– 셸 스크립트(프로그램) 작성
리눅스/유닉스의 파일 시스템
일반 파일 : 데이터 파일이나 실행 파일
디렉터리 : 유닉스에서는 디렉터리도 파일에 해당, 디렉터리가 담고 있는 여러 파일과 하위 디렉터리 정보가 담겨 있다.
특수 파일 : 프린터나 터미널, 테이프 드라이버 같은 물리적인 장치를 특수 파일을 통해 접근, 특수 파일은 /dev(device)에 있다.
파이프 파일 : | 문자를 말하며, 2개의 명령을 연결 시 사용, 임시 파일이 생성 되었다가 명령 수행을 마치면 사라지는 것으로, 이 파일을 파이프 파일이라고 함