이 영역을 누르면 첫 페이지로 이동
DevDori 블로그의 첫 페이지로 이동

DevDori

페이지 맨 위로 올라가기

DevDori

System: [INTEL] 8060메모리 구조

  • 2021.03.24 21:25
  • System

[ 8060 란? ]

인텔사에서 개발한 16비트 마이크로프로세서이며, x86 아키텍처를 적용한 첫 제품이다.

 


 

[ 메모리 구조 ]

메모리는 기본적으로 유저영역과 커널 영역으로 나누는데 왜 2가지 영역으로 나누는 걸까?


이유는 바로 시스템 운영에 필요한 메모리와 운영체제가 커널 영역에 올라가 있다 이런 중요한 영역에 사용자가 마음대로

접근한다면 시스템의 불안정을 초래할 수 있지 않겠는가? 

 

그렇기 때문에 사용자가 함부로 커널영역에 접근할 수 없도록 유저영역과 커널영역으로 분류하여 사용하는 것이다. 

여기서 나누는 영역의 크기는 운영체제와 설정에 따라 달라질 수 있다.


가용 메모리 영역인 유저 영역에는 여러개의 세그먼트 들이 저장 될 수 있음. 세그먼트는 하나의 프로세스를 묶은 것으로 스택, 데이터, 코드 영역으로 구성되어 있다.


[ 커널 영역]

운영체제라는 하나의 소프트웨어를 실행시키기 위해서 필요한 메모리 공간.

스레드 스케줄링, 메모리 관리, 파일 시스템 코드 등이 로드됨.

시스템 내의 모든 프로세스에게 공유된 메모리다. 

 

[ Off-Limit 영역 ]

유저영역과 커널영역 사이의 공간으로 사용자가 커널 영역에 접근하지 못하도록 할당해둔 공간이다 ]

인텔사에서 개발한 16비트 마이크로프로세서이며, x86 아키텍처를 적용한 첫 제품이다.

 

 

 

 

 

[ 메모리 구조 ]

메모리는 기본적으로 유저영역과 커널 영역으로 나누는데 왜 2가지 영역으로 나누는 걸까?

 

 

이유는 바로 시스템 운영에 필요한 메모리와 운영체제가 커널 영역에 올라가 있다 이런 중요한 영역에 사용자가 마음대로

 

접근한다면 시스템의 불안정을 초래할 수 있지 않겠는가? 

 

 

 

그렇기 때문에 사용자가 함부로 커널영역에 접근할 수 없도록 유저영역과 커널영역으로 분류하여 사용하는 것이다. 

 

여기서 나누는 영역의 크기는 운영체제와 설정에 따라 달라질 수 있다.

 



가용 메모리 영역인 유저 영역에는 여러개의 세그먼트 들이 저장 될 수 있음. 세그먼트는 하나의 프로세스를 묶은 것으로 스택, 데이터, 코드 영역으로 구성되어 있다.

 

[ 커널 영역]

운영체제라는 하나의 소프트웨어를 실행시키기 위해서 필요한 메모리 공간.

 

스레드 스케줄링, 메모리 관리, 파일 시스템 코드 등이 로드됨.

 

시스템 내의 모든 프로세스에게 공유된 메모리다. 

 

 

 

[ Off-Limit 영역 ]

유저영역과 커널영역 사이의 공간으로 사용자가 커널 영역에 접근하지 못하도록 할당해둔 공간이다.



[ 유저 영역 ]

위의 유저영역에 들어가는 세그먼트를 자세하게 살펴보면 코드영역, 데이터 영역, 힙 영역, 스택 영역 으로 나누어진다.

 

  1. 코드 영역
    프로그램의 코드가 올라가는 영역으로 여기서 코드는 컴파일된 기계어 코드로 기계어 명령어들, 어셈블리 코드가 올라가게 된다. 프로그램이 실행되면 코드영역에 있는 어셈블리 코드가 한줄씩 해석되며 실행된다.

  2. 데이터 영역
    프로그램에서 사용되는 전역변수, 정적 변수 등 각종 변수 들이 실제로 위치하는 메모리 영역으로
    데이터영역은 세분화하면 bss 영역과 데이터 영역으로 나누어진다.
    • BSS 영역
      초기화 되지 않은 데이터가 들어가는 영역
    • 데이터 영역
      초기화 된 데이터가 들어가는 영역
  3. 힙 영역
    동적으로 할당하여 사용하는 변수의 데이터가 올라가는 영역으로
    malloc(), realloc(), free() 함수 같은 동적 할당과 관련되는 함수들에 의해 선언되는 변수가 이 곳에 위치한다.

  4. 스택 영역
    지역 변수와 매개변수가 저장되는 영역으로 함수가 시작되면 해당 함수의 지역변수가 스택에 쌓였다가 함수가 종료되면 해당 영역을 해제해준다. 

    *스택은 메모리의 높은 주소에서 낮은 주소로 자란다*



위 영역을 실제 코드와 매핑 시켜보면 다음과 같다.

코드 매핑 [ 까망눈 연구소 : https://wogh8732.tistory.com/87?category=711515]

 

'System' 카테고리의 다른 글

MIPS와 ARM의 차이점  (0) 2021.10.17
MIPS 아키텍처 (MIPS architecture)  (0) 2021.10.17
ARM 아키텍처 (ARM architecture)  (0) 2021.10.17

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • MIPS와 ARM의 차이점

    MIPS와 ARM의 차이점

    2021.10.17
  • MIPS 아키텍처 (MIPS architecture)

    MIPS 아키텍처 (MIPS architecture)

    2021.10.17
  • ARM 아키텍처 (ARM architecture)

    ARM 아키텍처 (ARM architecture)

    2021.10.17
다른 글 더 둘러보기

정보

DevDori 블로그의 첫 페이지로 이동

DevDori


ShinhanBank InfoSec Devision
Sunrin High School InfoSec 115th
TeamH4C members

  • DevDori의 첫 페이지로 이동

나의 외부 링크

  • GitHub
  • FB
  • Instagram

검색

카테고리

  • 분류 전체보기 (43)
    • Project (7)
      • 정보보안 프로젝트 (6)
      • 진로 IT 프로젝트 (1)
    • System (4)
    • Reversing (3)
    • Web (1)
    • WarGame (21)
      • Lord of SQL Injection (15)
      • BandIt (2)
      • Webhacking.kr (0)
      • pwnable.kr (0)
      • HackCTF (2)
      • FTZ (0)
      • Dreamhack (2)
    • Dev (5)
      • DataBase (5)
    • Etc. (2)
      • 알쓸컴잡 (0)
      • Linux (1)
      • GitHub (1)
      • 시놀로지 (0)
    • Algorithm (0)
      • programmers (0)

메뉴

  • 홈
  • 태그
  • 방명록

최근 글

인기 글

댓글

정보

DevDori의 DevDori

DevDori

DevDori

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © DevDori.

티스토리툴바