티스토리 뷰

운영체제/이론

(12) System Call & Trap & Timer

geonwoopaeng@gmail.com 2020. 9. 16. 00:36

### ***System Call ###

: 사용자 프로세스가 OS에게 권한있는 명령(하드웨어 조작 명령)을 수행하도록 요청하는 수단.

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018) ​

 

 

<Prameter Passing>

: 시스템 호출은 정보(parameter)를 필요하기 때문에 사용한다.

ex) 입력얻기 위해 메모리버퍼주소,길이,파일지정,장치지정 등등

<종류>

1. via register, passing parameter

: cpu register에다가 parameter 자체를 전달해서 운영체제가 받게하는 방법

: register 크기가 충분하지 않음

: parameter개수가 적을때 사용

2. via register, passing memory address of parameters

: parameter을 메모리에 저장한 후 메모리 block 주소를 cpu register에다가 저장하는 방법

: parameter 개수 5개 이상일 때 사용

 

출처: Operating System Concepts 10th Ed (John Wiley & Sons, Inc. 2018) ​

 

 

3. via stack

: register을 사용하지 않고 메모리 stack을 이용

(유저 프로세스가 프로세스에서 필요한 parameter을 메모리 stack에 넣으면 운영체제가 꺼내보는 방식)

: parameter 개수, 길이 제한 없이 사용

### Trap ###

: 소프트웨어 인터럽트(프로그램 내부의 에러)

: 고정된 영역에서 일어난다.

: 발생 시점은 프로그램의 일정한 지점에서 일어난다.

+

사용자 프로세스가 불법적으로 HW를 실행할 경우 발생한다.

### Timer###

: 특정 프로세스가 cpu 자원을 독점 하는 것을 막기 위한 하드웨어

: 컴퓨터의 신뢰성, 안전성 보장

: 기간은 고정적 or 가변적

 

<Timer 동작 순서>

1. 운영체제가 설정한 고정 counter(시간) 가 지나면 timer가 interrupt 발생시킨다.

2. interrupt service routine을 발생 하여 어떤 프로세스에 상관없이 해당 프로세스를 정지되고 cpu 자원은 운영체제에게 다시 보내준다.

3. 운영체제는 다른 프로세스에게 cpu를 할당한다

4. timer는 reset된다.

반응형

'운영체제 > 이론' 카테고리의 다른 글

(14) PCB  (0) 2020.09.17
(13) Process  (0) 2020.09.16
(11) Dual-mode  (0) 2020.09.16
(10) MultiProgramming & MultiTasking  (0) 2020.09.16
(9) O/S 구조 - Booting procedures  (0) 2020.09.16
공지사항
최근에 올라온 글