본문 바로가기

운영체제3

[운영체제(OS) - 면접] 메모리 관리(1) - 메인 메모리 중요 포인트) 논리 주소와 물리 주소의 차이점과 주소를 변환할 때 MMU(메모리 관리 장치)의 역할을 설명할 수 있다. 메모리를 연속적으로 할당하기 위해 최초, 최적 및 최악 접합 전략을 적용한다. 내부 및 외부 단편화의 차이점을 설명한다. TLB(translation look-aside buffer)가 포함된 페이징 시스템에서 논리 주소를 물리 주소로 변환한다. 계층적 페이징, 해시 페이징 및 역 페이지 테이블을 설명한다. IA-32, x86-64 및 ARMv8 아키텍처의 주소 변환에 관해 설명한다. 메인 메모리(Main Memory) 메모리는 주소와 데이터로 구성 - 메인 메모리는 CPU가 직접 접근할 수 있는 접근 장치 - 프로세스가 실행되려면 프로그램이 메모리에 올라와 있어야 한다. - CPU자원.. 2021. 1. 14.
[운영체제(OS) - 면접] 쓰레드 스레드(Thread) 한 프로세스 내에서 동작되는 여러 실행의 흐름으로 프로세스 하나에 자원을 공유하면서 일련의 과정을 여러 개를 동시에 실행시킬 수 있는 것을 말합니다. 한 프로세서 내의 주소 공간이나 자원들을 대부분 공유 기본적으로 하나의 프로세스가 생성되면 하나의 스레드가 같이 생성되며, 이를 메인 스레드라고 부르며, 스레드를 추가로 생성하지 않는 한 모든 프로그램 코드는 메인 스레드에서 실행됩니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며 이를 멀티 스레드라고 합니다. 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, 열린 파일이나 신호와 같은 운영체제 자원을 공유. 각 쓰레드별로 자신만의 스택과 레지스터를 가진다. 💡 멀티스레드의 구조를 보면 다음과 같이 Code, Data,.. 2021. 1. 7.
[운영체제(OS) - 면접] 프로세스 1) 프로세스란 무엇입니까? 메모리에 올라와 실행되고 있는 프로그램의 작업 단위 (Program counter,stack,data section 등을 포함하고 있다.) 특징) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 즉, 동적인 개념으로는 실행된 프로그램을 의미한다. 기본적으로 프로세스당 최소 1개의 스레드(메인 스레드)를 가지고 있다. 프로세스는 각각 독립된 메모리 영역 ( Code, Data, Stack, Heap의 구조)을 할당 받는다. 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체) 프로세스 내부에는 최소 하나의 스레드(thread)를 가지고있는데, 실제로는 스레드(thread)단위로 스케줄링을 한다. 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프.. 2021. 1. 6.