학교공부/운영체제

[운영체제] Operating System 정리 2

yunmap 2017. 8. 26. 19:20

2. System Structures

 

OS의 서비스 중 user에게 도움이 되는 것

user interface(CLI_kernel, shell, GUI, batch)

program execution : 프로그램을 메모리로 가져오고 실행시킨다.

I/O operation : running program이 요구할 수 있다.

file-system manipulation

communication : shared memory or message passing.

error detection

resource share를 통한 효율적 동작의 보장

resource allocation : 동시 접속시

accounting : 어떤 유저가 무엇을 얼마나 사용하였는지

protection and security

APIsystem call 대신 사용하는 이유?

program portability : 같은 API를 사용하는 system이면 항상 compile과 실행이 가능하다.

system call이 프로그래머에게 더 세세하고 어렵다.

PASS PARAMETER to OS

간단 : register -> 한정적

block, table에 저장 후 주소를 register에 저장한다.

stack에 프로그램을 통해 넣고 os를 통해 뺀다.

blockstack은 길이나 갯수에 제약이 없다.

OS design

policy : what will be done?

mechanism : how to do it?

둘을 나누는 이유는 하나가 수정되어도 손상이 덜 가서 시스템 안정성이 높기 때문이다.

파일 디렉토리 생성, 삭제 : create(), delete()

파일 디렉토리 열기, 닫기 : open(), close()

파일 속성 불러오고 설정 : get_file_attributes(), set_file_attributes()

파일 이동 및 복사 : move(), copy()

파일 읽기 쓰기 : read(), write()

microkernel의 장점

특정 OS 맞추어 microkernel을 개발해서 os 설치가 가능하다. -> 각종 처리기에 os 설치

커널 필요 없을 때 커널의 수정 없이 새로운 기능을 추가할 수 있다.

유저모드에서 프로그램 실행하면 시스템이 망가질 위험이 낮다.

portability가 상승한다.

단 단점은 message passing을 이용한 통신으로 인해 오버헤드가 큰 것이다.