목록전체 글 (288)
개발자는 기록이 답이다
📌 기아 상태가 무엇인가요?기아 상태(Starvation)는 운영체제의 스케줄링에서 우선순위가 낮은 작업이 계속해서 CPU 자원을 할당받지 못해 무기한 대기 상태에 빠지는 상황을 말합니다. 즉, 자원을 요청했지만, 우선순위가 높은 다른 작업들에 의해 계속 차단되어 자원을 받지 못하는 상황입니다.📌 기아 상태를 어떻게 해결할 수 있나요?기아 상태를 해결하기 위해 노화(Aging) 기법이 사용됩니다. 이 방법은 시간이 지남에 따라 대기 중인 프로세스의 우선순위를 점진적으로 높여주는 방법입니다. 이렇게 하면 결국에는 모든 프로세스가 CPU 시간을 할당받을 수 있게 됩니다.📌 CPU 스케줄링에 대해 설명해주세요.CPU 스케줄링은 여러 프로세스가 CPU를 사용하려고 할 때, 어떤 프로세스에 CPU를 할당할지..

프로세스📌 프로그램과 프로세스에 대해 설명해주세요.프로그램은 저장장치에 존재하는 컴파일된 코드의 집합입니다.실행되기 전까지는 그저 저장장치에 존재되는 데이터에 불과하지만, OS에서 명령을 받아 메모리에 적재하게 되면 그때부터는 운영체제의 관리를 받으며 CPU 자원을 통해 동작하는 '프로세스' 가 됩니다. 참고 : 혼자 공부하는 컴퓨터 구조와 운영체제 📌 프로세스 문맥에 대해 설명해주세요.프로세스 문맥은 운영체제가 특정 프로세스를 실행하기 위해 필요한 모든 상태 정보를 말합니다. 프로세스가 실행되면서 사용하는 CPU 레지스터, 프로그램 카운터, 메모리 관리 정보, 스택 포인터, 프로세스의 현재 상태(실행 중, 대기 중, 종료 등), 열려 있는 파일 디스크립터 등과 같은 정보를 포함합니다.프로세스 문맥은..

📌 운영체제는 무엇이고 어떤 역할을 수행하는지 설명해주세요. 모든 프로그램은 실행을 위해 자원을 필요로 하는데, 운영체제는 운영체제는 컴퓨터 하드웨어와 소프트웨어 자원을 관리하며, 실행할 프로그램에 필요한 자원을 할당하고, 프로그램이 올바르게 실행되도록 돕는 소프트웨어입니다. 이 자원에는 CPU, 메모리, 저장 장치, 네트워크 패킷, 파일 등이 포함됩니다. 실행중인 응용 프로그램은 메모리에 적재되는데, 운영체제도 실행중인 응용프로그램이기 때문에 메모리에 적재되어 실행됩니다.하지만 운영체제는 컴퓨터를 동작시키는 너무 중요한 프로그램이기 때문에, 메모리에 따로 적재되는데 커널 영역이라는 곳에 적재됩니다.즉, 메모리의 사용자 영역에서 실행 중인 여러 응용 프로그램들이 적재되어 있다면, 그 위에 커널 영역에 ..

우리가 구글에서 검색할 때, '문자여'만 입력해도 다음에 나올 단어들이 자동완성처럼 제안되는 것을 흔히 볼 수 있습니다. 이는 Prefix 검색 덕분입니다. 그렇다면 데이터베이스에서는 어떻게 이러한 Prefix 검색을 빠르게 처리할 수 있을까요? 📌 MySQL에서 인덱스 사용 데이터베이스에서 특정 데이터를 빠르게 찾아오기 위해 인덱스(Index)를 사용합니다. 인덱스는 디스크 파일에 저장된 데이터를 빠르게 검색할 수 있게 도와줍니다. MySQL에서의 인덱스는 주로 B+ Tree 자료구조를 기반으로 구성됩니다. B+ 트리는 B-Tree에서 파생된 개념입니다. B-Tree는 트리 구조의 최상위에 하나의 루트 노드(Root Node)가 존재하고, 그 하위에 자식 노드가 붙어있는 형태입니다. 트리 구조의 가장..