전체 글39 [OS] 페이징 컴퓨터가 가지고 있는 메모리의 자원은 매우 한정적이지만 실행해야할 프로세스와 불러들어야할 정보들은 많다. 그래서 주 기억 장치에서는 자주 페이징 교체가 일어난다. 이번 포스트는 페이징 교체 알고리즘이 아닌, 페이징 자체가 어떻게 동작하는지 알아보려고 한다. CPU와 기억 장치 사이에는 MMU(Memory Management Unit)이라고 하는 장치가 있다. 이 장치 안에 존재하는 재배치 레지스터를 이용해 cpu가 요청하는 논리적 주소를 물리적 주소로 전환시켜준다. 이렇게 논리적 메모리 주소를 쓰게 된다면 이점이 생기게 되는데 그 중 하나가 '동적 적재'가 가능하다는 점이다. 이러한 동적 적재는 "프로그램 실행에 필요한 부분만 적재하는 것"이라는 의미를 가지고 있다. 프로그램 내에서 모든 부분이 다 사용.. 2020. 10. 27. [프로그래밍] JVM의 Garbage Collection 자바를 사용하는 입장에 있어서 Garbage Collection(이하 GC)는 몰라서는 안될 개념이라고 생각한다. C 계열 언어를 전문적으로 써본 적은 없어서 잘 모르겠지만, 메모리 관리를 프로그래머가 직접 메모리에 접근해 불필요한 자원을 해제 해줘야하는 불편함이 있다. 하지만 자바는 굳이 직접 프로그래머가 하지 않는데 이 이유는 GC가 존재하기 때문이다. 정의를 보자면, 메모리 관리 기법 중의 하나로, 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역을 해제하는 기능이다. 영어를 그대로 읽어 가비지 컬렉션이라 부르기도 한다. 1959년 무렵 리스프의 문제를 해결하기 위해 존 매카시가 개발하였다. 정의를 보면 알겠지만 GC는 자바에서 최초 적용된 것이 아니라 LISP에서 최초로 적용되었다.. 2020. 10. 23. [네트워크] http의 구성 요소 웹 개발자로서 성장하기 위해서는 웹 통신 체계를 알고 있어야 한다고 생각한다. 개인적으로 토이프로젝트를 만들 때, 데이터 통신을 위해 http를 사용하게 되는데 사실상 내부 구조라던지 작동 방식을 모른채로 '그냥 써보는' 단계에 머물었던 것 같다. 이 기회에 한 번 http에 대해 고찰하고 정리해보는 시간을 가져보려고 한다. http의 정의 HTTP(HyperText Transfer Protocol, 문화어: 초본문전송규약, 하이퍼본문전송규약)는 W3 상에서 정보를 주고받을 수 있는 프로토콜이다. 주로 HTML 문서를 주고받는 데에 쓰인다. 주로 TCP를 사용하고 HTTP/3 부터는 UDP를 사용하며, 80번 포트를 사용한다. 1996년 버전 1.0, 그리고 1999년 1.1이 각각 발표되었다. http.. 2020. 10. 18. [일상] 네이버 코딩테스트 합격! 네이버 코딩테스트 합격을 했다. 문제는 아마 4문제로 기억했고, 단순 제출 형식의 코딩테스트로 효율성이나, 정확성을 판단하는 것이 불가능해 좀 걱정이 되었다. 이제는 아무래도 프로그래머스로 보는 코딩테스트는 카카오를 제외하면 모두 실제 테스트케이스를 제공하지 않는 쪽으로 기우는 것 같다. 아무튼. 약 3주간의 기다림 끝에 나온 합격 통지는 나를 기쁘게 하기에 충분했다... 올해 상반기 일본 취업을 포기하고, 아무것도 없었던 나에게 이렇게 코딩테스트와 면접의 기회를 잡을 수 있었던 것은 좌절하지 않고 계속 도전하고, 좋지 않은 집안 상황에서도 나를 지지해 주신 엄마의 덕이라고 생각한다... 올해 코로나로 취업 전선이 말 그대로 얼어 붙었고, 그 때문인지는 모르겠지만 정말로, 정말로 힘들게 살았던 것 같다... 2020. 10. 16. 이전 1 2 3 4 5 6 7 ··· 10 다음