지난번, 가상 메모리와 페이지 폴트에 대해 정리해봤다. [메모리 관리해야지, 어떻게? 블로그 글]방금 운영체제 과목 중간 시험을 봐서 머리가 따끈따끈하다 ㅎㅎ 페이지 폴트시 이용하는 알고리즘 종류에 대해 정리해보자.페이지 교체 알고리즘 (page-replacement algorithm)FIFO가장 먼저 온 것을 교체한다.page frames가 3개이고, string이 위와 같이 주어질때,page fault가 일어나는 경우, page frames를 일종의 queue로 생각해, head에 있는 값을 Poll()한다.그러나 아래와 같은 문제점이 있다. [Belady's Anomaly(벨라디의 이상현상)] 이론상, 물리 메모리의 페이지 프레임을 늘려 페이지 수를 늘려준다면, 사용하려는 페이지가 물리 메모리에 ..
단순한 궁금증에서 시작되, 정리해놓으면 좋을 거 같아 짬을 내어 글을 쓰게 되었다. 데이터베이스 시험공부 문제를 풀며 감 익히고 있는데 Suppose that we have a relation marks(ID, sore) and we wish to assign grades to students based on the sore as follows: grade F if score 문제 출처 : Database System Concepts (Seventh Edition) Find the number of students with eah grade. 문제 해석 : 각 학생의 점수(score)를 기준으로 학점(grade)을 계산해서 출력해라. 즉, 문제에서 요구하는 것은각 학생들마다 받은 점수를 40점 미만은..
운영체제 중간고사 시험공부를 하고 있는데, 메모리 관리 관련 이해가 쏙쏙되는 15년전 블로그 글을 발견해서 토대로 한번 정리해보려고 한다.유일한 시험기간 딴짓 = 시험공부 내용 블로그 글 쓰기 ㅎㅎ...의외로 좀 재밌어서 정리하게 되었다.재밌자나 한잔해~메모리 관리가 필요한 이유원하는 작업을 컴퓨터에서 처리하기 위해서는 처리대상의 내용, 처리 결과를 잠시 기억하고 있어야 한다. 이것을 "메모리"라고 하고,따라서 하나의 프로세스를 실행할때 프로세스의 실행에 필요한 메모리가 할당되어야 한다. 대부분 시스템에서 여러 프로세스들이 서로 cpu를 차지하려고 경쟁하는 것과 같이 메모리 또한 차지하려고 경쟁하는 "멀티프로그래밍" 환경이다. 한정된 메모리 자원을 이용할 수 있도록 경쟁을 적절히 중재하기 위해 (얘네도 ..
지난해 sdc2024를 본 경험과 인상깊었던 점,내가 평소에 생각하는 협업, 및 플젝 과정 중 고민했던 부분들을 자소서에 녹여냈었다.인턴 서류 합격을 해서sw역량테스트 준비과정기를 적어보려한다.sw역량테스트바로 인터넷을 찾아봤다.준비 방향성은 어렵지 않게 찾을 수 있었다.https://company-n-job.tistory.com/44[[삼성전자] 1. 코딩테스트 후기 및 꿀팁 feat."삼성전자 인재개발원 환경"우선 나는 삼성전자 DX (삼성리서치)에 지원하여, 오늘 용인에 있는 인재개발원에서 오전에 코딩시험을 보고 왔다. ps. 나는 2문제 중에 주로 1번이라고 표현하는 구현(시뮬레이션) 문제에 올인하company-n-job.tistory.com](https://company-n-job.tistory..
일반적인 이분탐색은 비내림차순, 비오름차순 으로 정렬된 상태가 아니고,아래와 같이 공통된 값 없이 하나씩만 존재하는 경우이다. 이분탐색에 필요한 left, right값을 아래와 같이 정의하고,left = -1 (배열을 벗어난 가장 왼쪽에 가까운 값)과right = n (배열을 벗어난 가장 오른쪽에 가까운 값) while문은 left +1 = right 가 되는 시점에 멈추게 되고, left는 항상 target보다 작은 값 중 최대 값을 가리킴right는 항상 target 이상인 값 중 최소 값을 가리킴이므로, 최종적인 right값을 반환한다. int left = -1;int right = n;binarysearch(left, right);public static int binarysearch(int ..
메모리 구조목차메모리 구조메모리코드 영역데이터 영역힙 영역스택 영역오버플로우JVM 런타임 데이터 영역pc 레지스터네이티브 메서드 스택스택 영역메서드 영역힙 영역 (java 7이전 vs java8이후)정리메모리 구조위 그림과 같이, 프로그램이 실행되기 위해서 운영체제(OS)가 프로그램의 정보를 메모리에 로드해야 한다.그래야 메모리에 올라온 명령어와 데이터들을 CPU가 처리할 수 있다.할당받은 대표적인 메모리 공간은 코드영역, 데이터 영역, 힙 영역, 스택 영역 으로 구성되어 있다. 🧐 그렇다면, 왜 이렇게 메모리 공간은 체계적으로 나뉘어져 있을까?많은 이유와 이점이 있는데, 추려보았다.CPU가 메모리에 빠르게 접근하고, 프로그램이 효율적으로 실행되도록 한다.한 프로그램이 다른 프로그램의 메모리를 침범하면..