CS 스터디

Computer Science/Operating System

Process Address Space(프로세스 주소 공간)

공통 목적 : 데이터를 최대한 공유하여 메모리 중복 사용을 피하고, Memory 사용량을 최소화한다. 프로세스 주소 공간(Process Address Space) Code(Text) 영역 프로그램을 실행시키는 실행 파일 내의 명령어들이 위치하는 공간이다. 컴파일 시에 결정된다. 프로그램의 코드는 수정되면 안되므로, Read-Only 로 지정되어있다. 같은 프로그램으로 실행된 여러 프로세스는 동일한 코드를 가진다. 동일한 내용을 중복 할당하지 않고 특정 공간에 할당하여 메모리 사용량을 절약할 수 있다. Data 영역 전역 변수, static(정적) 변수들이 위치하는 공간이다. 전역 변수, 정적 변수를 참조한 코드는 컴파일 후 Data 영역의 주소값을 가리킨다. 한 프로세스 내 여러 스레드가 공통으로 Dat..

Computer Science/Operating System

Process(프로세스)

Process(프로세스) 실행중에 있는 프로그램(Program)을 의미한다. 주 기억장치에 올라가 있는 프로그램이다. 작업(Job) 또는 태스크(Task)라고도 한다. Five-State Process Model New(생성) : 프로세스가 막 생성된 상태이다. Ready Queue에 올라가면 ready상태가 된다. Ready(준비) : 프로세스가 CPU로부터 메모리 공간을 할당받길 기다리는 상태이다. 이 때 프로세스 스케줄러에 의해 프로세스가 할당을 받게 되면 running 상태가 된다. 이것을 dispatch 라고 한다. Running(실행) : 명령어들이 실행되는 상태이다. 이 때 Interrupt(간섭)/Timeout 이 발생하면 Ready 상태로 변한다. 실행을 끝마치면 Exit(종료) 상태로 ..

Computer Science/Operating System

인터럽트(Interrupt) - 내용 수정 필요

인터럽트(Interrupt) CPU가 프로그램을 실행하고 있을 때, 예기치 않은 상황이 발생하여 처리가 필요할 경우에 CPU에게 알려 처리할 수 있도록 하는 것이다. 인터럽트는 하드웨어 인터럽트와 소프트웨어 인터럽트로 나뉜다. 하드웨어 인터럽트(=외부 인터럽트) 하드웨어가 발생시키는 인터럽트이다. CPU 외부의 디스크 컨트롤러나 주변장치가 운영체제의 처리를 요청하는 것을 말한다. 소프트웨어 인터럽트(=내부 인터럽트) 소프트웨어가 발생시키는 인터럽트이다. Trap이라고도 불린다. 인터럽트 종류와 우선순위 파란색은 하드웨어 인터럽트, 녹색은 소프트웨어 인터럽트에 해당한다. 위에서 아래로 갈수록 우선순위가 낮아진다. 하드웨어 인터럽트가 소프트웨어 인터럽트보다 우선 순위가 높다. 인터럽트 동작 방식 간단한 설명..

Computer Science/Operating System

System Call(시스템 콜)

시스템 콜에 들어가기 앞서 자주 언급되는 단어들에 대해 간단하게 정리했다. 운영체제(OS, Operating System) 컴퓨터 하드웨어와 컴퓨터 사용자 간의 인터페이스로서 동작하는 시스템 소프트웨어다. 컴퓨터를 동작시키는 데 도움을 주고, 컴퓨터 하드웨어 바로 윗 단에 설치된다. 종류 : Windows 10, UNIX, LINUX 등 커널(Kernel) 프로그램은 메모리에 적재되어야 소프트웨어로서 실행이 된다. 운영체제 역시 마찬가지로 메모리에 적재 되어야 실행된다. 운영체제는 규모가 커 항상 필요한 부분만을 메모리에 올린다 나머지는 필요할 때에 메모리에 올린다. 메모리에 상주하는 운영체제의 이 부분을 커널이라고 한다. CPU 모드 커널 모드(Kernel Mode) 운영체제가 CPU를 사용하는 모드를..

Computer Science/Data Structure

시간복잡도 & 공간복잡도

등장 배경 코드의 성능, 효율성을 판단할 기준이 필요했다. 실제 실행시간과 메모리 사용량을 측정한다면? 하드웨어의 성능, 소프트웨어(운영체제)의 성능, 호환성 등 외부 요인이 작용하여 동일한 기준으로 비교할 수 없다. 미완성 코드는 실행이 불가능하므로 측정이 불가능하다. → 다른 요인과 무관하게 입력 크기에만 영향을 받는 이론적 시간 측정 방법을 만들었다. 시간복잡도 입력값과 연산 수행 시간의 상관관계를 나타내는 척도이다. 점근 표기법을 이용하여 나타낸다. 💡 점근 표기법이란, 어떤 함수의 증가 양상을 다른 함수와의 비교로 표현하는 수론과 해석학의 방법을 말한다. 단위 연산의 횟수를 기준으로 계산한다. 💡 단위 연산(primitive operation)이란, 정의, 단순 계산, 비교, 출력 등의 가장 간..

호준송
'CS 스터디' 태그의 글 목록 (4 Page)