레지스터
- PC (프로그램 카운터) : 패치 해야 하는 다음 명령의 메모리주소를 포함한다
- 스택포인터 : 메모리에 있는 현 스택의 최상위를 가리킨다, 아직 종료하지않음 프로시저 별로 하나의 프레임을 갖는다
- PCW (Program Status Word) : 비교 연산자들에 의해 설정되는 조건 코드 비트들, CPU의 우선순위, 모드(사용자 또는 커널) 그리고 다른 각종 제어비트들이 있다 사용자 프로그램은 PSW의 전체를읽을 수 있으나 몇몇 필드에만 쓰기를 할 수 있다. 시스템 호출이나 I/O에 중요한 역할을 한다
커널
- 트랩 :사용자 모드에서 커널 모드로 변환을 일으키며 운영체제를 시작하는 명령어, 일이 완료되면 제어권은 사용자 프로그램으로 돌아오며, 시스템 호출을 요청한 명령 바로 다음 명령이 수행된다.
- 트랩 명령의 종류
- 시스템 호출 : 운영체제로부터 서비스를 받으려면 사용자 프로그램은 커널로 트랩을 걸어서 운영체제를 활용하도록 하는 시스템 호출을 요청해야 한다. I/O나 메모리 보호와 관련된 명령은 사용자 모드에서 허용되지 않기 때문에 시스템 호출을 통해 운영체제에 요청한다.
- 다른 트랩 명령들 : 대부분은 0으로 나누기나 부동소수점 연산의 언더플로우 현상과 같은 특별한 상황을 알리기 위해 하드웨어에서 일으키는 것들이다. 이 모든 경우에 운영체제가 제어권을 획득하고 트랩의 원인에 따라 어떤 일을 해야 할지를 결정하게 된다.어떤 때는 오류와 함께 프로그램을 강제로 종료할 경우도 있다. 어떤 때에는 오류를 그냥 무시하는 경우도 있다.
'전산 이모저모' 카테고리의 다른 글
정렬 알고리즘 - 삽입 정렬, 선택 정렬, 버블 정렬 (0) | 2019.10.10 |
---|---|
데이터링크 프로토콜 - 비동기 프로토콜과 동기 프로토콜 (0) | 2019.10.05 |
소프트웨어 신뢰성 측정 (0) | 2019.10.05 |
결합도와 응집력 (소프트웨어 공학) (0) | 2019.09.21 |
비트 단위 (0) | 2019.08.01 |