분류 전체보기377 [운영체제/OS] 프로세스와 스레드 면접 질문 및 답변 프로세스란 무엇인가요? 더보기 프로세스를 설명하기 전, 프로그램은 디스크에 저장된 실행 파일을 의미합니다. 프로그램을 실행시키기 위해 메모리에 프로그램을 적재하고 CPU를 할당받아야 하는데, 이러한 실행 중인 프로그램을 프로세스라고 합니다. 스레드란 무엇인가요? 더보기 먼저 프로그램은 디스크에 저장된 실행 파일, 프로세스는 이러한 프로그램이 실행되고 있는 상태, 스레드는 프로그램이 동작할 수 있는 실행의 단위입니다. 프로그램이 동작할 때 컴퓨터가 이해할 수 있는 명령어로 해석되고, 이러한 명령어를 스레드라고 부릅니다. 프로세스와 스레드 차이점에 대해 설명해 주세요. 더보기 여러 개의 스레드를 구성해 프로세스가 됩니다. 먼저 프로세스가 생성이 되면 메모리에 각 프로세스마다 독립적인 영역이 할당됩니다. 하지.. 2024. 1. 22. [운영체제/OS] 운영체제 및 커널 면접 질문 및 답변 운영체제가 무엇인가요? 더보기 사용자가 컴퓨터를 쉽고 편리하게 사용할 수 있도록 돕는 프로그램입니다. 사용자와 하드웨어 사이에 인터페이스를 제공하거나 컴퓨터가 자원을 효율적으로 사용할 수 있도록 지원합니다. 운영체제가 하는 일은 무엇인가요? 더보기 운영체제는 크게 유저 인터페이스와 커널로 구성되어 있습니다. 유저 인터페이스는 하드웨어가 동작할 수 있는 명령어를 실행하고 명령에 대한 결과를 사용자에게 보여주고, 커널은 프로세스 관리, 메모리 관리 등 컴퓨터 자원을 효율적으로 관리할 수 있는 일을 수행합니다. 커널이란 무엇인가요? 더보기 커널은 사용자가 컴퓨터를 사용할 때 좀 더 편리하고 효율적으로 사용할 수 있도록 지원하는 시스템입니다. 커널이 필요한 이유를 설명해 주세요. 더보기 사용자나 프로그램이 직접.. 2024. 1. 22. [OS] CPU 스케줄링이란? (CPU 스케줄링이 필요한 상황, CPU 성능 평가 기준, 스케줄러, CPU 스케줄링 알고리즘) 목차 CPU 스케줄링이란? CPU 스케줄링이 필요한 상황 CPU 스케줄링 성능 기준 CPU 스케줄러 종류 장기 스케줄러 중기 스케줄러 단기 스케줄러 CPU 스케줄링 알고리즘 분류 : 선점형 비선점형 선점형 비선점형 CPU 스케줄링 알고리즘 종류 (1) FCFS (First Come, First Served) (2) SJF (Shortest Job First) (3) SRF/SRTF (Shortest Remaining First) (4) Priority (5) RR (Round Robin) (6) MLQ (Multi Level Queue) (7) MLFQ (Multi Level Feedback Queue) 1. CPU 스케줄링이란? 운영체제는 멀티 스레드를 제공함으로써, 우리가 컴퓨터를 사용할 때 동시에 .. 2024. 1. 22. [OS] Race Condition과 동기화란? (Race Condition 발생 상황, 임계영역, 뮤텍스, 세마포어, 모니터) 목차 Race Condition과 동기화란? Race Condition이 발생할 수 있는 상황 임계영역 (Critical Section) Race Condition 해결 방법 (1) 뮤텍스 (Mutex) (2) 세마포어 (Semaphore) (3) 모니터 (Monitor) 뮤텍스, 세마포어, 모니터 비교와 결론 1. 경쟁 상태(Race Condition)와 동기화(Synchronized)란? 여러 개의 프로세스나 스레드가 하나의 공유 자원에 접근할 때, 접근 순서에 따라 실행 결과가 달라지는 상황을 발생할 수 있다. 결국 공유된 자원의 일관성을 보장할 수 없는 것을 의미하며, 이를 경쟁 상태라고 말한다. 경쟁 상태를 막기 위해 프로세스나 스레드가 공유하는 자원들의 일관성을 보장하는 것이 동기화이다. 따라.. 2024. 1. 20. [OS] 스레드와 동기화 문제란? (스레드 특징과 장단점, 동기화 문제, 멀티프로세스보다 멀티스레드를 사용하는 이유) 목차 스레드란? 스레드 특징과 장단점 동기화 문제란? 스레드 구성 : TCB (Thread Control Block) 프로세스와 스레드 비교 멀티 프로세스와 멀티 스레드 멀티 프로세스보다 멀티 스레드를 사용하는 이유 1. 스레드란? 스레드를 설명하기 전 프로그램과 프로세스의 차이를 설명하고, 프로세스에서 더 작은 작업의 단위인 스레드를 설명해보려 한다. 프로그램은 컴퓨터 디스크에 저장되어 있는 정적 프로그램이다. 프로그램을 실행시키고 싶다면 CPU에게 메모리를 할당받는데, 이것을 프로세스라고 부른다. 따라서 프로세스를 실행 중인 프로그램, 혹은 메모리에 올라간 프로그램으로도 부를 수 있는 것이다. 프로그램은 명령어들의 집합으로 구성되어 실행되는데, 스레드는 프로세스에서 실행 중인 명령어의 단위이다. 따라.. 2024. 1. 17. [OS] 프로세스 간의 통신, IPC란? (프로세스 간 통신이 필요한 이유, IPC 기법과 특징) 목차 IPC 개념 프로세스 간의 통신이 필요한 이유 IPC 방식 IPC 종류 : Shared Memory IPC 종류 : Memory Passing IPC 종류 : Socket 정리 1. IPC란? 안정성을 위해 운영체제는 본인 프로세스에 할당된 메모리만 접근할 수 있도록 제한한다. 당연하게도 만약 다른 프로세스의 code 및 data 영역에 접근해 실행하거나 수정할 수 있다면, 어떻게 될까? 이는 운영체제 권한의 의미가 사라지고 매우 위험하다. 하지만 프로세스 간의 자원과 데이터가 공유해야 하는 상황이 발생할 수 있다. 독립적인 공간을 갖는 프로세스의 데이터를 공유하기 위해 필요한 별도의 통신 메커니즘이 IPC(InterProcess Communication)인 것이다. 2. 프로세스 간의 통신이 필요.. 2024. 1. 17. 이전 1 ··· 7 8 9 10 11 12 13 ··· 63 다음