운영체제3 [OS] 4장 프로그램의 구조와 실행 4장, 프로그램의 구조와 실행 프로그램의 주소 영역 코드(code) : 프로그램 코드가 기계어 명령(machine instruction) 형태로 변환되어 저장되는 부분 데이터(data) : 프로그램이 사용하는 데이터를 저장하는 부분 스택(stack) : 함수의 수행을 마치고 복귀하는 주소 및 데이터를 임시로 저장하기 위해 사용되는 부분 일반적으로 프로그램에서 발생되는 함수호출에 필요한 복귀주소는 각 프로그램의 주소공간-스택영역에 보관하고, 인터럽트로 CPU를 빼앗긴 위치는 프로세스제어블록(PCB)에 저장된다. CPU는 빠른 속도의 계산 능력은 가지고 있지만, 어떤 작업을 수행할지 결정하는 능력은 없다. 때문에 CPU가 다음으로 수행해야하는 메모리 주소를 담고 있는 레지스터-프로그램 카운터(Program .. 2021. 12. 22. [OS] 3장 컴퓨터 시스템의 동작 원리 3장, 컴퓨터 시스템의 동작 원리 컴퓨터는 외부장치에서 내부장치로 데이터를 읽어와 각종 연산을 수행한 후, → 입력(input) 그 결과를 외부장치로 다시 내보내는 방식으로 업무를 처리한다 → 출력(output) 각 하드웨어 장치에는 컨트롤러가 존재한다. 컨트롤러는 일종의 작은 CPU로서, 각 하드웨어 장치를 제어한다. 장치 컨트롤러는, 장치로부터 들어오고 나가는 데이터를 임시로 저장하기 위한 작은 메모리-로컬 버퍼(local buffer)-를 가지고 있다. 컨트롤러는 인터럽트를 발생시켜 CPU에 데이터가 들어왔음을 보고한다. CPU는 매 시점 메모리에서 명령(instruction)을 하나씩 읽어와서 수행하는데, 이때 CPU 옆에 인터럽트 라인(interrupt line)이 있어서 신호가 들어오면 하던 .. 2021. 12. 15. [OS] 2장 운영체제 개요 2장, 운영체제 개요 운영체제(Operating System) 컴퓨터 하드웨어 바로 윗단에 설치되는 소프트웨어 사용자 및 다른 소프트웨어와 하드웨어를 연결하는 소프트웨어 계층 컴퓨터에 운영체제가 없다면, 컴퓨터는 고철덩어리에 불과하다. 고철 덩어리를 동작시키기 위해서 필요한 기본적인 소프트웨어가 바로 운영체제다. 사용자가 하드웨어를 다루는 것이 어려우므로, 사용자 입장에서 손쉽게 사용할 수 있도록 기본적으로 운영체제를 탑재한다. 커널(kernel) 운영체제 코드 중에서도 핵심적인 부분 좁은 의미의 운영체제 규모가 큰 운영체제를 모두 메모리에 올려놓고 사용할 수는 없다. 항상 필요한 부분을 메모리에 올려두고 그 외에는 필요한 순간에만 메모리에 올려서 사용한다. 이때 항상 메모리에 상주하는 부분을 커널(ke.. 2021. 12. 15. 이전 1 다음 반응형