본문 바로가기

운영체제와 정보기술의 원리3

[OS] 05. 프로세스 관리 1. 프로세스의 개념 실행 중인 프로그램을 의미 디스크에 존재하던 프로그램이 메모리에 올라가서 실행 되기 시작하면 프로세스가 된다. 프로세스는 CPU를 획득해 자신의 코드를 수행하기도 하고, 때로는 CPU를 반환하고 입출력 작업을 수행하기도 한다. 프로세스의 문맥(context)이란 프로세스가 현재 어떤 상태에서 수행되고 있는지 정확히 규명하기 위해 필요한 정보를 의미한다. 여러 프로세스가 실행되는 시분할 시스템 환경에서는 타이머 인터럽트에 의해 짧은 시간 동안 CPU를 사용한 후 빼앗기는 식으로 CPU 관리가 이루어진다. CPU를 다시 획득했을 때 이전의 상태를 불러오기 위해 필요한 정보가 프로세스의 문맥이다. 프로세스의 문맥은 크게 세 가지로 분류된다. 하드웨어 문맥 : CPU의 수행 상태를 나타낸다.. 2021. 12. 21.
[OS] 04. 프로그램의 구조와 실행 1. 프로그램의 구조와 인터럽트 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 프로그램의 주소 영역이 메모리에 올라가 있어야 한다. 프로그램의 주소 영역은 크게 코드(code), 데이터(data), 스택(stack)영역으로 구분된다. 코드 : 프로그램 함수들의 코드가 기계어 명령 형태로 변환되어 저장되는 부분 데이터 : 전역 변수등 프로그램이 사용하는 데이터는 저장하는 부분 스택 : 함수가 호출될 때 호출된 함수의 수행을 마치고 복귀할 주소 및 데이터를 임시로 저장하는 부분 인터럽트의 동작 원리는 함수의 호출과 비슷하다. A 프로그램이 CPU를 할당받아 명령을 수행중일 때 인터럽트가 발생할 경우 A는 현재 수행 중인 명령의 위치를 저장해놓는다. 그 후 인터럽트 처리루틴으로 넘어가 인터럽트를 처.. 2021. 12. 20.
[OS] 03. 컴퓨터 시스템의 동작 원리 1. 컴퓨터 시스템의 구조 컴퓨터는 내부장치인 CPU, 메모리와 외부장치인 디스크, 키보드, 마우스, 모니터 등으로 구성된다. 컴퓨터는 외부장치에서 내부장치로 데이터를 읽어와 각종 연산을 수행한 후, 그 결과를 외부장치로 다시 내보내는 방식으로 업무를 처리한다. 컴퓨터 내부로 데이터가 들어오는 것을 입력(input), 외부장치로 데이터가 나가는 것을 출력(output)이라고 한다. 메모리 및 입출력장치 등의 각 하드웨어 장치에는 이들을 제어하는 작은 CPU인 컨트롤러라는 것이 존재한다. 운영체제는 각종 자원들을 관리해야 하므로 컴퓨터의 전원이 켜진 순간부터 항상 메모리에 올라가 있다. 하지만, 전체가 올라가지 않고 운영체제 중 핵심적인 부분만 항상 메모리에 올라가 있으며 이 부분을 커널(kernel)이라.. 2021. 12. 14.