안녕하세요? 이번 챕터 강의를 듣다가 실제 실행되는 프로세스들이 실제로는 메모리를 연속적으로 사용하는지 불연속적으로 사용하는지 궁금해서 질문드리게 되었습니다. 이전에는 {힙 스택 데이터 코드} 모델을 보여주셔서 연속적이라고 생각하고 있었는데요, page와 segmentation 모델 보면 불연속적이라는 생각이 들었습니다. 단순 관점의 차이인가? 싶어서 질문드립니다!
저는 ai학과가 컴퓨터 공학 전공자 취급을 받을 수 있다는 글을 인터넷에서 본 뒤 저희과에 지원을 했는데 제가 지원을 한 학교에 합격해 생활을 해보니 학과의 전신이 정보통신공학과 였다가 ai학과가 된 케이스더군요. 그래서 제가 걱정 인것은 학과 커리큘럼이 통신 쪽에 치우쳐 업계분들께서 저희학과 커리큘럼을 보시고 컴퓨터 공학자로 인정을 안하고 무시하시면 어떡할까? 입니다 중복 질문일수도 있지만 대학 다니며 내용이 추가된 부분도 없지 않아 있다 판단해 질문드립니다.
다른 분도 유사한 질문을 남겼지만 해당 답변으로 의문이 해소되지 않아 질문 남기는 점 양해바랍니다. 메모리맵 IO 는 메모리와 입출력장치가 같은 주소공간을 사용하기 때문에 메모리의 주소공간이 줄어들고 고립형은 그렇지 않은 것으로 말씀해주셨으나 이해가 잘 되지 않습니다. 10비트 운영체제를 사용한다고 가정하면 이 운영체제는 1024개의 주소공간을 다룰 수 있는 것으로 알고 있습니다. 이때 고립형 IO라고 하더라도 1024개 중 일부를 입출력장치를 위한 주소공간으로 사용하게 되면 당연히 그만큼 메모리를 위한 주소공간이 줄어들 게 되는 것 아닌가요? 메모리맵 IO와 이 점에서 왜 차이가 있는 것인지 모르겠습니다!
알려주신 내용에 덧붙여서 챗지피티한테도 물어보고 정리해봤습니다 1. 호스트 파일에서 DNS 주소 찾기 2. 없으면 OS & 브라우저의 DNS 캐시 확인 3. 없으면 로컬 DNS 서버(예: ISP DNS) 요청 4. 없으면 상위 DNS 서버 요청 (Root DNS까지 재귀적으로 요청) 5. IP 주소 획득 후 라우팅 수행 6. IP 주소 획득 후 TCP/IP 연결 (3-Way Handshake) 7. 리다이렉트 수행 (필요한 경우) 8. 브라우저 캐시 확인 (304 응답 처리) 9. 프록시 서버 캐싱 확인 (CDN, 로컬 네트워크 캐시) 10. 컨텐츠 다운로드 (HTML, CSS, JS, 이미지 등) 11. 브라우저 렌더링 후 사용자에게 웹사이트 표시 근데 알려주신 강의에는 브라우저 캐싱과 공유 캐싱이 DNS캐시보다 먼저 수행된다고 하니까 어떤게 맞는건지 모르겠네요
유닉스 파일 시스템에서 단일 간접 블록은 데이터들을 저장한 블록주소 인 것으로 학습하였습니다. 여기서 단일 간접블록은 Inode가 아닌, 순수하게 데이터만 저장한 블록이 맞을까요? 그림상에서는 블록 주소에 하나의 데이터만 매칭이 되있는 것으로 보였는데, 그렇다면 단일 간접 블록은 하나의 블록이 아닌 여러개의 데이터를 포함할 수 있는 블록의 모음체일까요? 감사합니다.
언리얼로 포트폴리오를 만들고 있다가 혼자 공부하다보니 실력이 가늠이 안되서 학원을 알아보고 있습니다. -언리얼 오프라인, 왕복 3시간 20분 -유니티 온라인 (소프트웨어공학 전공이고, 언리얼은 GameAbilitySystem을 사용해서 코딩할 수 있습니다.) 둘 다 경험하는 것도 경쟁력 있다고 하셔서 선생님이시라면 먼 거리에도 불구하고 언리얼을 고집하실지, 유니티 온라인을 들어서 둘 다 경험해보실 지 경험자의 의견이 궁금해서 질문 남깁니다.
페이징 부분에 대해서 공부하던 중 질문이 있습니다. CPU가 프레임에 접근하려고 할 때, PTBR을 통해 페이지테이블에 접근하고, 페이지 테이블에 저장된 정보를 통해 프레임에 접근하는 것으로 이해하였습니다. 여기서 (TLB가 있다는 상황입니다.) 프레임에 접근하고 싶을 때 PTBR을 통해 TLB에 접근하고 만약에 TLB MISS이면 페이지테이블이 저장되어 있는 메모리에 접근하는게 맞을까요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
24분 24초에 나오는 palyer.cpp, while문 안에 해당 코드에서 closed list는 방문 유무만 체크를 하는데 최소 거리를 찾는것과 무슨 관계가 있는지 모르겠습니다. closed list에는 다른 경로와 값을 비교하는 부분(비용계산 하는부분)이 없는 것 같은데 어떻게 체크가 되는지 궁금합니다.
과거에 게임개발자를 꿈꾸며 게임 학원도 다니고 포트폴리오도 만들고 준비를 했으나 개발자와는 관계없는 다른일을 하게되면서 연이 끊겼었습니다. 이번에 퇴사하면서 다시 한번 준비 해보려고 하는데 94년생이라 신입으로는 나이가 좀 있는 편이라 걱정이 좀 됩니다. 나이 많은 상태로 신입으로 도전하는거에 대해선 어떻게 생각하시나요? 포트폴리오를 더 완성도 있게 만들고 면접준비를 잘 하는게 좋은 방향일까요?
windows iocp도 그렇고 linux epoll도 그렇고 너무 저수준으로 내려가거나 한 플랫폼에서만 쓸 수 있는 기술을 배우는 건 너무 아까워서요. Boost.Asio가 크로스플랫폼 고성능 비동기 통신을 지원한다고 하는데 이걸 써서 포트폴리오를 만들면 인정받기 힘들까요? 또 만약 Boost.Asio로 입사한다면 현업에서 iocp나 epoll같은 저수준을 다룰 때 많이 어려울까요? 일단은 멀티플레이어 게임을 언리얼로 개발해서 포트폴리오로 여기저기 제출해보려고 생각하고 학습중인데 여기에 서버로 뭘 쓸까 해서 질문드립니다