운영체제 chapter-2, 운영체제 구조
운영체제를 살펴보기위한 3가지의 관점
-
운영체제가 제공하는 서비스에 초점
-
운영체제가 사용자와 프로그래머에게 제공하는 인터페이스에 초점을 맞추는것
-
시스템의 구성요소와 그들의 상호연결
운영체제 서비스
사용자 인터페이스: 운영체제는 사용자 인터페이스를 제공해야한다.
프로그램 수행: 시스템은 프로그램을 메모리에 적재해 실행 할수있어야한다.
입출력 연산: 수행중인 프로그램은 입출력을 요구할 수 있다.
파일 시스템 조작: 프로그램은 파일을 읽고 쓸 필요가 있다.
통신 : 통신은 공유 메모리 또는 메시지 전달기법을 사용하여 구현될 수 있다.
오류탐지 : 운영체제는 모든 가능한 오류를 항상 의식하고 있어야한다.
자원할당: 다수의 프로세스나 작업이 동시에 실행될떄 각각 할당한다.
명령인터프리터는 사용자가 지정한 명령을 가져와서 그것을 수행한다.
시스템콜 은 운영체제에의해 사용가능하게 된 서비스에 대한 인터페이스를 제공한다.
시스템콜은 프로세스 제어, 파일 조작, 장치 조작, 정보 유지보수, 통신 과 보호로 이루어진다.
응용프로그램 인터페이스(Application Programming Interface) 는 시스템 콜보다 응용 프로그래머에게 선호된다.
파일 디스크립터, 데이터를 읽어들일 버퍼, 버퍼로 읽어들일 수있는 최대 바이트수
파일 디스크립터(FD, File Descriptor) –>파일이나 기타 입출력 리소스에 접근하는데 사용되는 추상표현이다.
Buffer는 당최 뭘까? –> Buffer: 임시 저장공간, CPU와 보조기억장치 사이에서 사용되는 임시저장공간
실행시간 환경(RTE: Runtime Environment) –>시스템콜에대한 연결고리 역할을 하는 시스템 콜 인터페이스를 제공한다.
부트로더 –> 커널이 올바르게 시동되기 위한 필요한 모든 관련 작업을 마무리하고 최종적으로 운영체제를 시동시키기 위한 목적을 가진 프로그램을 말한다.
시스템 서비스
- 파일관리
- 상태 정보
- 파일 변경
- 프로그래밍 언어지원
- 프로그램 적재와 수행
- 통신
- 백그라운드 서비스
멀티태스킹 운영체제에서 데몬은 사용자가 직접적으로 제어하지않고, 백그라운드를 돌면서 여러 작업을 하는 프로그램을 말한다.
링커와 로더
임의의 물리 메모리위치에 적재되도록 설계된 오브젝트 파일은 재배치가능 오브젝트 파일이라고 한다.
링커는 하나의 이진 실행 파일로 결합하는 역할을 한다.
로더는 이 이진 실행 파일을 CPU에서 실행할수 있도록 메모리에 적재하는데 사용된다.
운영체제 설계및 구현
기법으로부터 정책을 분리하는것이 중요하다.
운영체제를 구성하는 가장 간단한 구조는 구조가 아예 없는 것이다.
커널의 모든 기능을 단일 주소공간에서 실행되는 단일 정적 이진 파일에 넣는 것을 모놀리식 구조 라고 한다.
Leave a comment