본문 바로가기

CS/운영체제19

[OS] Call Stack Frame Call Stack Frame Call Stack Frame개념에서 우리가 함수가 return 된 후에 지역변수를 사용할 수 없는 이유를 어느 정도 알 수 있다. 메모리의 스택을 좀더 자세히 알아보자. Call Stack Stack의 구성 (1) 파라메터: 호출되는 함수의 인자에 assign 되는 값 (2) 지역변수: 호출되는 함수 내에서만 생성되는 변수 (3) return address: 호출되는 함수 종료 시 되돌아가 수행을 계 속해 가기 위하여 jump 해 가야 할 주소 (4) frame point(stack frame pointer): 스택 상의 프레임 시작 주소. 보통 EBP 레지스터에 저장된다. (5) Stack Pointer: 콜 스택의 최상위 메모리 주소. 보통 ESP 레지스터에 저장된다... 2022. 8. 16.
[Chapter 3. 프로세스] 프로세스와 문맥 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 프로세스 (Process) 실행 중인 프로그램 시스템 콜을 통해 자원을 요구하는 주체 * 운영체제(시스템) 프로세스 : 운영체제가 필요에 의해 생성, 시스템 코드를 실행한다. * 사용자 프로세스 : 사용자 코드(응용 프로그램)를 실행한다. → 자원 경쟁 측면에서 둘은 동일하다. *프로그램 vs 프로세스 프로그램과 프로세스는 명백히 다른 개념이다. 프로그램은 명령어의 리스트를 내용으로 가진 저장장치에 저장된 단순 실행파일일 뿐이고, 프로세스는 해당 프로그램이 메인 메모리에 올라와서, 다음에 실행할 명령어를 지정하는 프로그램 카운터와 관련된 자원의.. 2022. 8. 16.
[Chapter 2. 시스템 구조] 입출력 시스템을 위한 운영체제의 3가지 인터페이스 (시스템 콜, 커널-드라이버 인터페이스, HW 인터페이스), 시스템 콜이 처리되는 과정 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 운영체제를 살펴보는 관점에는 3가지가 있다. 1. 운영체제가 제공하는 서비스 2. 운영체제가 사용자 및 프로그래머에게 제공하는 인터페이스 3. 시스템의 구성 요소와 그들의 상호 연결 지난번 포스팅에 운영체제가 사용자 및 프로그래머에게 제공하는 인터페이스인 시스템 콜에 대하여 알아보았다. 참고: https://developbear.tistory.com/95 [Chapter 2. 시스템 구조] 시스템 호출 (System Call) 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학.. 2022. 8. 15.
[Chapter 2. 시스템 구조] 이중 연산 모드와 모드 비트 본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다. 운영체제에서는 컴퓨터 시스템의 정확한 동작을 보장해야 한다. 따라서 커널이나 다른 프로그램의 오동작을 야기할 수 있는 명령어는 커널 내에서만 수행하도록 해야 하기 때문에 운영체제를 위해 실행되는 작업과 사용자를 위해 실행되는 작업을 구분한다. 이중 연산 모드 CPU의 상태 레지스터 중 1비트를 모드 비트(mode bit)로 사용한다. 1. 사용자 모드 - 모드 비트 : 1 사용자 영역의 응용 프로그램이 사용하는 모드로, 사용자 공간 상의 코드만 실행 가능하다. 트랩이나 인터럽트 발생 시 하드웨어는 사용자 모드에서 커널 모드로 전환한다. 2. 커.. 2022. 8. 14.