좋은 강의 감사드립니다 ㅎㅎ 강의 주제에서 조금 벗어나 있는 질문이 있습니다ㅜ 실행파일 빌드 및 실행 시, 빌드를 위한 정보들이 있는 각 섹션을 런타임을 위한 단위로 재묶음(?)하는 그 세그먼트를 설명해주신 세그먼트와 기본적으로 같다고 이해해도 될까요? 그리고 스택 세그먼트 = 프로세스의 머신스택으로 이해하고 있는데 이 역시 정확히 알고 있는지 궁금합미다..
실행 파일 중 윈도우 환경에서 사용하는 PE 형식은 각종 섹션들의 집합체로 볼 수 있습니다. 그런데 이 섹션들이라는 것이 메모리 세그먼트와 연결되는 것은 아닙니다. 분리해서 생각하시기 바라며 더 자세한 정보는 PE 형식 혹은 Linux의 COFF 형식에 대해 알아보시면 되겠습니다. :)
정확히 기억나지는 않습니다. 대략적으로만 이야기 하자면...시스템 프로그래밍을 공부한 것이 중요했던 것 같습니다. UNIX system programming에 대해 배울 때 포인터 때문에 힘들지 않을 정도 C실력에 자료구조를 학습한 후 였으며 운영체제에 대한 가벼운 이해(이론)가 있는 정도였습니다. 중요한 것은 그 시기에 시스템 프로그래밍 수업을 매일 저녁에 3시간(주5일) 3주 이상 들었으며 그 3시간을 위해 오전 혹은 오후 3~4시간 예습 + 조별 스터디를 병행했었습니다. 참고가 되면 좋겠습니다.
안녕하세요 선생님. 파이썬에서 문자열과 주소가 관리되는 것이 코드의 정적영역에서 R-- 권한인 것과 관련이 있을까요? 예를들면 a = 'abc'라는 문자열의 id(a)가 0이라면 a='xyz'의 id(a)는 10이고 다시 a='abc'를 입력하면 id(a) 가 0 으로 반환됩니다. 변수가 할당받은 공간에 새로 쓰는 것이 아니고 변수에 다른 문자를 선언하면 다른 주소를 바라보는 방식이네요. 다른 이유가 있겠지만 파이썬에서 변수 선언방식도 정적 코드 영역의 문자열 상수 방식을 떠오르게 하네요
강의듣다가 중간에 퍼질 수도 있는데 매일 업로드 해주셔서 그럴 수 없었습니다. 항상 감사합니다 ㅎㅎ
열심히 올린 보람 있네요. 잘 따라와주셔서 감사합니다. ^^
운영체제 강의하시느라 수고하셨습니다^^
피드백 감사합니다. 완강하셨네요. ^^
강의를 아직 끝까지 보지는 못했지만 책과 병행하면서 강의 듣고 있습니다. 좋은 강의 감사합니다
좋은 평가와 피드백 감사합니다. ^^
@@nullnull_not_eq_null 다른 강의도 올려주시면 열심히 시청하겠습니다 감사합니다:)
1년만에 다시 완강했습니다! 이제 공룡책을 다시 한번 봐야겠네요~!! 감사합니다!
아하...그러셨군요. 감사합니다. ^^
이해하기 쉽게 운영체제 강의를 만들어 주셔서 감사합니다ㅎㅎ
좋은 평가 감사합니다. 가상 메모리는 꼭 잘 알고 있어야 합니다. 시스템 프로그래밍을 다룰 때 매우 중요합니다. ^^
운영체제 강의 너무 수고하셨습니다. 시스템 프로그래밍도 열심히 들을게요!
좋은 평가 감사합니다. 시스템 프로그래밍도 빨리 준비하겠습니다. ^^
새벽까지 ㄷㄷ 정말 수고 많으셨습니다!
응원 감사합니다. ^^
감사합니다.. 무한 반복 하겠습니다 ^^
좋은 평가 감사합니다. 열공하세요~~! ^^
운영체제 강의 정말 많은 도움되었습니다!. 까먹지 않도록 자주 재시청해야겠습니다! ㅎㅎ
이론도 중요하지만 이제 시스템 프로그래밍으로 해당 이론을 경험하는 것이 중요하겠습니다. 참고하시기 바랍니다. ^^
@@nullnull_not_eq_null 시스템프로그래밍도 기대하고있겠습니다.ㅎㅎ
강의 만드시느라 수고하셨습니다.!
피드백 감사합니다. ^^
1강부터 달려서 완주했습니다. 좋은 강의 감사합니다!
와우~~! 쉽지 않았을 텐데...수고 하셨습니다. :)
오와아아아아아… 리눅스책보면서 그냥 그렇구나… 하고 지나쳤던 내용인데 엄청 중요한 내용이었군요. 제가 너무 얕게 공부하는 걸 수도 있지만 DEP에 대한 설명을 해주는 영상은 없었거든요. ㅠㅠ 감사하옵니다.
가상 메모리를 이해하면 DEP는 읽고 그대로 이해하면 그 뿐입니다. 웃긴 것은....내 스스로 데이터 영역 메모리에 실행 권한을 주도록 변경하는 것이 가능하고 심지어 JS로도 됩니다. Heap 스프레이 공격이라는 것도 있거든요. ^^;;; 참고하시기 바랍니다.
@@nullnull_not_eq_null 꼭 해봐야겠습니다~ ^0^
항상 고맙습니다 ㅎㅎ
저도 감사합니다.
감사합니다!
저도 감사합니다. ^^
좋은 강의 감사드립니다 ㅎㅎ 강의 주제에서 조금 벗어나 있는 질문이 있습니다ㅜ
실행파일 빌드 및 실행 시, 빌드를 위한 정보들이 있는 각 섹션을 런타임을 위한 단위로 재묶음(?)하는 그 세그먼트를 설명해주신 세그먼트와 기본적으로 같다고 이해해도 될까요? 그리고 스택 세그먼트 = 프로세스의 머신스택으로 이해하고 있는데 이 역시 정확히 알고 있는지 궁금합미다..
실행 파일 중 윈도우 환경에서 사용하는 PE 형식은 각종 섹션들의 집합체로 볼 수 있습니다. 그런데 이 섹션들이라는 것이 메모리 세그먼트와 연결되는 것은 아닙니다. 분리해서 생각하시기 바라며 더 자세한 정보는 PE 형식 혹은 Linux의 COFF 형식에 대해 알아보시면 되겠습니다. :)
@@nullnull_not_eq_null 넵 감사합니다!
인프런에서 운영체제 User/Kernel mode 듣다가 멘붕와서 선생님 유튜브 운영체제 강의에서 기웃거리고있습니다.
선생님은 이렇게 어려운 내용들을 어떻게 학습하셨고 체화하셨나요? 혹은 모르는 부분이 생기셨을때 어떤 방법으로 해결하는지 궁금합니다.
정확히 기억나지는 않습니다. 대략적으로만 이야기 하자면...시스템 프로그래밍을 공부한 것이 중요했던 것 같습니다. UNIX system programming에 대해 배울 때 포인터 때문에 힘들지 않을 정도 C실력에 자료구조를 학습한 후 였으며 운영체제에 대한 가벼운 이해(이론)가 있는 정도였습니다. 중요한 것은 그 시기에 시스템 프로그래밍 수업을 매일 저녁에 3시간(주5일) 3주 이상 들었으며 그 3시간을 위해 오전 혹은 오후 3~4시간 예습 + 조별 스터디를 병행했었습니다. 참고가 되면 좋겠습니다.
안녕하세요 선생님. 파이썬에서 문자열과 주소가 관리되는 것이 코드의 정적영역에서 R-- 권한인 것과 관련이 있을까요? 예를들면 a = 'abc'라는 문자열의 id(a)가 0이라면 a='xyz'의 id(a)는 10이고 다시 a='abc'를 입력하면 id(a) 가 0 으로 반환됩니다. 변수가 할당받은 공간에 새로 쓰는 것이 아니고 변수에 다른 문자를 선언하면 다른 주소를 바라보는 방식이네요. 다른 이유가 있겠지만 파이썬에서 변수 선언방식도 정적 코드 영역의 문자열 상수 방식을 떠오르게 하네요
비슷한 원리일 겁니다. 어쨌든 효율을 생각하면 다 비슷해지는 경향이 있는 것 같습니다. 의견 감사합니다. ^^
DEP(Data Execution Prevention)를 제어판에서 보기만 했지 실제로 무엇이 방지되는지 제대로 몰랐는데 이제 드디어 그 의미를 깨달았습니다. SQL Injection급이라고 봐도 될까요??
그동안 감사했습니다!! 이제 네트워크 차례네요
정말 다행입니다. 이제 가상 메모리 및 접근통제에 대해서 충분한 이해를 갖추신 것으로 보입니다. 훌륭합니다~! ^^
리눅스 파일 권한도 rwx로 관리하는데 디스크의 영역(세그먼트 혹은 페이징 단위)도 세분화하여 rwx로 관리되는 것인가요? 리눅스 파일 시스템에서 파일의 권한이 변할때마다 해당영역 전체의 단위에 대한 권한이 바뀌는 것인가요?
파일에 대한 접근통제는 최초 개방(혹은 생성이나 삭제) 시에 합니다. 그러나 해당 파일의 실제 Track과 Sector에 접근하는 것은 다른 이야기 입니다. 둘은 분리해 이해하시기 바랍니다.
하드 파티션을 나누면 버추얼메모리 할당받을 때 os가 설치되어있는 파티션에서만 할당받나요 나눠진 파티션에서도 할당받나요???
나눠진 파티션도 할당 받아 사용합니다. 디스크 여분의 공간은 늘 변하기 때문에 관리적인 측면에서 보더라도 여러 파티션을 사용하는 것이 더 유리할 수 있습니다. 참고하시기 바랍니다. ^^
좋은 강의 감사합니다. 32bit 운영체제에서 가상 메모리 공간이 4GB 라고 설명해주셨는데 그럼 64bit 운영체제에서는 4GB가 보다 더 많이 사용 가능한건가요?
네, 그렇습니다. 이론상 최대 16EB까지 가능합니다.
@@nullnull_not_eq_null 답변 감사합니다 :)
@@nullnull_not_eq_null 앗 궁금한 게 하나 더 생겼는데 이론상 16eb까지 가능하다면 실제 컴터에서 사용 중인 램의 크기가 32기가 라면
한 프로세스가 최대 렘 32기가 + 하드 32기가 까지 물리 메모리를 사용 가능한걸까요?
음...가능하긴 하겠습니다. 다만 운영체제가 실제 지원할 수 있는 메모리 최대 크기는 스펙을 봐야 합니다. 윈도우 서버도 RAM 200GB를 지원하지 못하는 것으로 알고 있습니다. 참고하시기 바랍니다.
@@nullnull_not_eq_null 답변 감사합니다 :)