기술 면접용 질문들/운영체제 관련 맨텀 2023. 3. 20. 18:21
컨텍스트 스위칭이란? 문맥교환(Context Switching) 멀티 프로세스 환경에서 현재의 프로세스 상태(Context)는 보관하고, 다음 순서의 프로세스가 동작하면서 이전에 보관했던 상태를 복구하는 작업을 말한다. 컨텍스트 스위칭은 왜 필요한가? 멀티 프로세스 환경에서 사실은 한 번에 하나의 프로세스만 실행된다. 굉장히 빠르게 바뀌고 있기 때문에 동시에 실행되고 있는 것처럼 보이는 것. 이는 프로세스 스케줄링에 의해서 이루어진다. 실행 중인 프로세스의 CPU 할당 시간이 끝나면 해당 프로세스를 중지시키고 다음 프로세스를 실행해야 한다. 어디에 무엇을 저장하는가? 운영체제가 프로세스의 정보를 저장해놓는 공간인 PCB(Process Control Block)에 정보들이 저장&복구된다. - 프로세스 상태..
기술 면접용 질문들/운영체제 관련 맨텀 2021. 4. 16. 18:24
프로세스(Process) 1. 운영체제로부터 시스템 자원을 할당받는 작업의 단위 2. 컴퓨터에서 연속적으로 실행되고 있는 프로그램 3. 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 - 하나의 프로세스는 코드 영역, 데이터 영역, 스택 영역, 힙 영역의 4가지 영역으로 이루어져 있음. 스레드(Thread) 프로세스가 할당받은 자원을 이용하는 여러 실행 흐름의 단위 - 각 스레드는 프로세스 내에서 스레드마다 스택 영역과 레지스터영역을 별도로 할당받는다. - 코드 영역, 데이터 영역, 힙 영역은 공유한다. 멀티 프로세스 응용프로그램을 여러 개 프로그램 인스턴스로 구성하여 각 프로세스가 하나의 작업을 처리하도록 함 장점 - 프로세스 중 하나에 문제가 발생하면 해당 프로세스만 중지된다. 단점 - 각각의 프로..
기술 면접용 질문들/운영체제 관련 맨텀 2021. 4. 13. 23:34
가비지 컬렉션(GC) GC는 메모리 관리 기법 중 하나이다. C와 C++로 개발할 때에는 객체를 선언하기 위해 메모리를 직접 할당하고, 사용이 끝나면 메모리를 해제해야 한다. (Unmanaged 언어) 하지만 C#과 Java에서는 가비지 컬렉터(GC)가 자동으로 메모리를 관리해 준다. (Managed 언어) 참고하면 좋은 글 : 닷넷 가비지 컬렉션 다시 보기 - Part I http://www.simpleisbest.net/post/2011/04/01/Review-NET-Garbage-Collection.aspx GC의 동작 방식 Mark and Sweep 알고리즘 1. 최상위 레퍼런스를 위한 GC Root가 존재한다. (여러개인듯) 2. 이 GC Root에서부터 참조를 타고 가면서 방문한 레퍼런스들에 ..
기술 면접용 질문들/운영체제 관련 맨텀 2021. 4. 12. 20:47
메모리 구조 - OS의 메모리 구조는 유저 영역, 커널 영역의 2가지 영역으로 나뉜다. - 커널영역은 시스템 운영에 필요한 메모리이며, 사용자는 커널영역에 접근할 수 없다. - 유저영역은 다시 4가지 영역으로 나뉘어진다. 1) 코드 영역 2) 데이터 영역 3) 스택 영역 4) 힙 영역 코드 영역 - 기계어로 컴파일되어 적재되는 코드 자체의 영역 - Read-Only 데이터 영역 - 프로그램이 구동되는 동안 항상 접근 가능한 변수가 저장됨 - 전역(Global) 변수 / 정적(Static) 변수 - Read-Write 스택(stack) 영역 - 값 형식을 저장하는 영역. - 지역변수와 매개변수가 저장되는 영역. - 코드 블록 안에서 생성된 변수들은 블록이 닫히면 메모리에서 제거됨. - 장점 : 액세스가 빠..