본문 바로가기

CS18

[기술면접] CS 문답 | os : memory 💡 paging에 대해 설명하시오 페이징 기법은 메모리 관리기법이다 memory 분할의 역사.. 메모리 분할 방법의 필요성: 메인 메모리에는 다양한 프로그램, 컴퓨터 운영체제가 함께 저장된다. 많은 사람이 사용하는 서버의 경우는 다양한 유저의 프로세스도 하나의 메모리에 저장해야한다. 이러한 상황에서 컴퓨터를 잘 사용하기 위해 가능한 한 가장 효율적인 방법으로 메인메모리를 분할하고 할당해야했다. 연속메모리 할당..(지금방식이랑은 다름) contiguous allocation과 MMU contiguous allocation 연속 메모리 할당 Logical address가 연속적이면 physical address도 연속적으로 배치된다. 는 개념 MMU Memory management unit MMU는 CPU코.. 2023. 8. 24.
[기술면접] CS 문답 | 멀티프로세스 상세 💡 Multi process환경에서 process간에 데이터를 어떻게 주고받는지 설명하시오 프로세스는 독립적인 주소 공간을 가지고 있어서 다른 프로세스와 데이터를 주고 받을 수 없다. 멀티 프로세스 환경에서는 이런 문제를 해결하기 위해 IPC(Inter Process Communication)을 제공한다. IPC는 프로세스 간 통신이 가능하게 해주며 크게는 공유 메모리와 메시지 전달 방식으로 나뉘고 메시지 전달 방식은 파이프, 소켓, 메시지 큐 등이 있다. 공유 메모리(Shared Memory) 공유 메모리 방식은 프로세스들이 주소 공간의 일부를 공유하고 공유된 메모리 영역에 read write하면서 통신하는 방식이다. 메모리는 스택-힙-데이터-코드 공유 메모리를 할당 받으면 스택-힙-데이터-공유메모리-.. 2023. 8. 23.
[기술면접] CS 문답 | 프로세스 vs 스레드, 동시성 병렬성 💡 프로세스와 스레드는 무엇이고, 차이점을 설명하시오 프로세스 : 프로그램이 실행되어 있는 것 스레드 : 프로세스에서 일을 처리하는 단위 이지만 이 두가지의 차이점을 설명하라고 할 경우, 메인 메모리를 어떻게 사용하는가에 초점을 맞추어 설명 해야한다! 프로세스와 스레드는 메인메모리를 어떻게 사용하는가에 대한 부분에서 차이가 있습니다. 프로세스는 가상메모리를 할당 받는 반면, 스레드는 가상메모리(공유자원! 스택 코드 힙)를 공유합니다. ** 리눅스에서 스레드와 프로세스는 똑같은 struct(파이썬으로치면 class)를 쓴다. 더보기 리눅스에서의 프로세스와 스레드 https://ljhh.tistory.com/entry/Task-Process-Thread 개념적인 프로세스와 쓰레드의 구분이 있지만, 리눅스 커.. 2023. 8. 22.
[기술면접] CS 문답 | 인스턴스 변수 인수 💡 인스턴스와 변수들에 대해 설명하시오 인스턴스(instance) : 인스턴스란 객체 지향 프로그래밍(Object Oriented Programming)에서 class에 소속된 개별적인 객체 객체(object) : OOP적 관점에서 객체와 인스턴스의 차이점으로는 객체는 선언, 인스턴스는 실체화 클래스의 타입으로 선언 되었을 때 객체, 그 객체가 메모리에 할당되어 실제 사용될 때는 인스턴스 인스턴스화(instantiate) : 정의한 클래스를 사용해 구체적인 객체를 만들어내는 것이 인스턴스화 변수(Variable) : 데이터를 저장하고 추후에 사용할 수 있게 해주는 메모리 공간 쉬운말 : 어떤 값을 임시로 혹은 영구적으로 기억해두기 위해 값에 이름표를 붙여두는 것 매개변수 = 인자 = parameter(인.. 2023. 8. 21.