[컴퓨터 공학 기초 강의] 16강. 메모리의 주소 공간-물리 주소와 논리 주소

Sdílet
Vložit
  • čas přidán 16. 07. 2024
  • 본 강의는 『혼자 공부하는 컴퓨터 구조+운영체제』의 책 내용으로 제작 되었으며, 혼자서도 컴퓨터 공학 지식을 학습할 수 있도록 구성하였습니다. 이번 강의에서는 물리 주소와 논리 주소의 개념과 차이 그리고 두 주소 간의 변환 방법을 알아봅니다.
    👨‍🏫주요 강의 내용
    Chapter 06. 메모리와 캐시 메모리
    06-2. 메모리의 주소 공간(p.186)
    👨‍🏫강의 구성
    00:00 인트로
    01:10 물리 주소와 논리 주소
    04:18 물리 주소와 논리 주소의 변환
    11:17 메모리 보호
    -----
    👨‍🏫 누구를 위한 강의인가요?
    - 컴퓨터 구조와 운영체제를 배우고 싶은 분
    - 기술 면접을 준비하는 취업 준비생
    - 컴퓨터의 작동 구조를 제대로 알고 싶은 주니어 개발자
    - 프로그램을 움직이는 하부 기술에 대한 이해가 부족한 개발자
    🙋‍♂️어떤 내용을 다루고 있나요?
    - 컴퓨터의 구조와 4가지 핵심 부품(CPU, 메모리, 보조기억장치, 입출력장치)
    - 운영체제, 프로세스와 스레드 이해하기
    - CPU 스케줄링 기법, 프로세스와 스레드 관리 기법
    - 가상 메모리와 파일 시스템
    👀도서 자세히 보기: www.hanbit.co.kr/store/books/...
    🙋‍♂️강민철 저자님께 질문하기: github.com/kangtegong/self-le...
    #컴퓨터공학 #컴퓨터구조 #운영체제 #하드웨어 #소프트웨어 #데이터 #메모리 #CPU #프로그램 #프로세스 #파일 #스케쥴링 #혼공 #독학 #메모리주소 #물리주소 #논리주소

Komentáře • 14

  • @HanbitMedia93
    @HanbitMedia93  Před rokem +2

    00:00 인트로
    01:10 물리 주소와 논리 주소
    04:18 물리 주소와 논리 주소의 변환
    11:17 메모리 보호

  • @carpediem-ch7nv
    @carpediem-ch7nv Před rokem +6

    컴퓨터구조, 운영체제 정말 중요하다고 생각했지만, 공부하기 어려워서 엄두가 안났습니다. 선생님 강의 덕분에 쉽게 이해하고 재미가 나네요. 오늘도 강의 잘들었습니다!! 이후 강의도 기대하겠습니다.

  • @user-wd8ud3fd1i
    @user-wd8ud3fd1i Před rokem +1

    잘 듣고 있습니다. 감사합니다~

  • @lilsoo2322
    @lilsoo2322 Před rokem +1

    감사합니당!!!

  • @user-oj8qj6hq8c
    @user-oj8qj6hq8c Před rokem

    질문이 있습니다. 물리주소=시작주소+논리주소 이 공식은 틀렸지 않나요? 논리주소의 범위는 32비트 시스템이라면 0~4GB-1번지까지로 연속되어 있는 걸로 알고 있습니다. 물리주소상에서 pageout등의 현상으로 한 프로세스의 모든 페이지가 전부 모여있지 않고 비연속되어 있을 수 있으니까요.. 궁금합니다

    • @kangminchul
      @kangminchul Před rokem

      그 부분은 운영체제에서 다룹니다 지금은 "연속적으로 메모리에 배치되어있음"을 상정합니다. 그리고 페이징이라 할지라도 물리주소 = 시작주소 + 논리주소는 옳습니다.

    • @user-oj8qj6hq8c
      @user-oj8qj6hq8c Před rokem

      @@kangminchul 답변 감사드립니다! 그치만 물리공간에 흐터져있을 수 있는 데이터를 시작주소 + 논리주소로 매핑이 된다는 부분이 아직 궁금증으로 남네요..ㅠㅠ

    • @kangminchul
      @kangminchul Před rokem +1

      ​@@user-oj8qj6hq8c 추후 운영체제 강의에서 말씀드리겠으나, 그 역할은 "페이지 테이블"이 담당합니다. 페이지 테이블은 페이지 번호를 토대로 물리 주소를 매핑해줍니다.
      흩어진 각 페이지가 어디에 있는지에 대한 일종의 이정표인 셈이지요.
      그를 통해 CPU는 흩어진 주소를 순차적으로 실행할 수 있는 것입니다 :) 페이지 테이블에 대해 알아보시면 궁금증이 많이 풀릴 거에요.
      물론 추후 강의나 책에서도 페이지 테이블에 대해 자세히 안내드리고 있습니다.

    • @user-oj8qj6hq8c
      @user-oj8qj6hq8c Před rokem +3

      @@kangminchul 감사합니다. 공부해보겠습니다ㅎㅎ 0부터 연속된 논리주소이지만 시작주소만 더해주면 물리주소와 일치하게 되도록 페이지테이블이란 녀석이 해주는 군요. 책과 추후 강의를 통해 연구해보겠습니다. 감사합니다

  • @Kaizer-oi2dz
    @Kaizer-oi2dz Před rokem

    궁금한 점이 하나 있습니다만,
    베이스 레지스터는 0도 포함하여 카운팅을 시작해서 프로그램 논리주소 크기가 1000이면
    베이스 레지스터에는 999가 저장되어야 맞는 거 같은데 혹시 제 추측이 맞을까요?
    강의랑 책 잘 보고 있습니다. 감사합니다^^

  • @user-wg1nv3dj1x
    @user-wg1nv3dj1x Před 3 měsíci

    안녕하세요. 논리주소와 베이스레지스터로 물리주소를 만들어 메모리에 실제 물리주소를 삭제 한다는 뜻은 메모리의 주소에 있는 명령어를 실행하거나 실행이 끝나 삭제한다는 뜻인가요?

  • @user-pt8em4tf8p
    @user-pt8em4tf8p Před rokem

    전 처음부터 모든 주소가 물리주소처럼 되어있는 줄 알았어요 ㅋㅋㅋㅋㅋㅋ

  • @Welcome2LorreryWorld
    @Welcome2LorreryWorld Před rokem

    메모리 주소는 16진수로 4비트 한개씩 증가하는 것으로 알고 있습니다.. 그런데 주소당 용량은 1바이트 입니다.. 주소 표현과 용량은 원래 따로 인가요? 주소당 1바이트의 용량이라면 메모리 주소도 16진수 1개당 4비트이니까 2개씩 증가해야 하는게 아닌가요? 예를 들면 주소당 1바이트 용량이므로, 주소도 000c -> 000e 증가해야 할텐데 실제로는 000c -> 000d로 증가하니 주소 표기와 주소당 용량과는 다른건지요?

    • @kangminchul
      @kangminchul Před rokem +1

      별개라고 보는 것이 맞을듯 합니다.
      실제로 objdump 등의 도구를 이용해 바이너리 파일 (실행 파일) 을
      분석해보면 아래와 같이 주소의 증감 폭과
      한 주소 당 저장되어 있는 데이터 크기가 다르다는 것을 볼 수 있습니다,
      100003d8c: ff 43 01 d1 sub sp, sp, #80
      100003d90: fd 7b 04 a9 stp x29, x30, [sp, #64]
      100003d94: fd 03 01 91 add x29, sp, #64