pwnkidhn.github.io

고정 헤더 영역

글 제목

메뉴 레이어

pwnkidhn.github.io

메뉴 리스트

    • 분류 전체보기 (194)
      • memo (0)
      • Pwnable Exploitation (19)
        • 01.Shellcode (4)
        • 02.Return to Shellcode (1)
        • 03.RTL(Return to libc) (2)
        • 04.Frame faking(Fake ebp) (1)
        • 05.Frame Pointer Overwrite (2)
        • 06.ROP(Return Oriented Prog.. (3)
        • 07.SROP(Sigreturn-oriented .. (2)
        • 08.JOP(Jump-Oriented Progra.. (1)
        • 09.Return-to-csu(__libc_csu.. (0)
        • Malloc - glibc(ptmalloc2) (3)
      • Pwnable Write-Up (54)
        • 00.CTF (0)
        • 01.hackerschool F.T.Z (20)
        • 02.hackerschool L.O.B (21)
        • 03.dreamHack (13)
        • 04.HackCTF (0)
      • Reversing Write-Up (38)
        • 01.Abex's crackme (5)
        • 02.CodeEngn Basic (20)
        • 03.CodeEngn Advance (13)
      • Fuzzing (1)
        • Theory (1)
      • Programming (22)
        • Data Structure (0)
        • Windows System (22)
      • Computer Science (60)
        • Computer Architecture (18)
        • OS Concepts (29)
        • Linux System (5)
        • Reverse Core (8)

    검색 레이어

    pwnkidhn.github.io

    검색 영역

    컨텐츠 검색

    Computer Science

    • 04. 제어 유니트 (2) [마이크로 명령어의 형식]

      2020.04.22 by RACC8N

    • 04. 제어 유니트 (1) [제어 유니트의 기능/구조]

      2020.04.22 by RACC8N

    • 3.3 프로세스 연산

      2020.04.17 by RACC8N

    • 3.2 프로세스 스케줄링

      2020.04.17 by RACC8N

    • 3.1 프로세스 개념

      2020.04.17 by RACC8N

    • 2.10 시스템 부트

      2020.04.17 by RACC8N

    • 2.9 운영체제 생성

      2020.04.17 by RACC8N

    • 2.8 운영체제 디버깅

      2020.04.17 by RACC8N

    04. 제어 유니트 (2) [마이크로 명령어의 형식]

    4.3 마이크로 명령어의 형식 - 연산 필드가 두 개이면, 두 개의 마이크로-연산들을 동시에 수행 가능 - 조건(CD) 필드는 분기에 사용될 조건 플래그를 지정 - 분기(BR) 필드는 분기의 종류와 다음에 실행할 마이크로 명령어의 주소를 결정하는 방법을 명시 - 주소 필드(ADF)의 내용은 분기가 발생하는 경우에 목적지 마이크로 명령어의 주소로 사용 [EXAMPLE] - '연산 필드1'에 위치할 마이크로 연산들 - '연산 필드2'에 위치할 마이크로 연산들 - 조건 필드 : 두 비트로 구성되며, 분기의 조건으로 사용 > U : 무조건 분기 > I : 만약 I = 1 이면, 간접 사이클 루틴을 호출 > S : 누산기에 저장된 데이터의 부호가 1이면, 분기 > Z : 누산기에 저장된 데이터가 0 (Z=1)이라..

    Computer Science/Computer Architecture 2020. 4. 22. 19:30

    04. 제어 유니트 (1) [제어 유니트의 기능/구조]

    4.1 제어 유니트의 기능 제어 유니트의 기능 - 명령어 코드의 해독 - 명령어 실행에 필요한 제어 신호들을 발생 용어정리 - 마이크로 연산 (Micro-operation) : 명령어 실행 사이클의 각 주기 동안 실행되는 기본적인 CPU 동작 - 마이크로 명령어 (Micro-instruction) : 명령어 사이클의 각 주기에서 실행되는 각 마이크로 연산을 지정해주는 2진 비트들로서, 제어 단어 (Control word)라고도 함 - 마이크로 프로그램 (Microprogram) : 마이크로명령어들의 집합 - 루틴 (Routine) : CPU의 특정 기능을 수행하기 위한 마이크로 명령어들의 그룹 > EX) 인출 사이클 루틴, 실행 사이클 루틴, 인터럽트 사이클 루틴 * 마이크로 명령어 < 루틴 < 마이크로..

    Computer Science/Computer Architecture 2020. 4. 22. 19:00

    3.3 프로세스 연산

    프로세스 생성(Creation) - 프로세스는 create-process 시스템 호출을 사용하여 new 프로세스를 생성 > 부모 프로세스 - 자식 프로세스 - 생성된 프로세스들의 계속적인 프로세스 생성의 결과로 프로세스 트리(process tree)를 형성함 - 프로세스들은 프로세스 식별자(process identifier, PID)로 구분 부모프로세스와 자식프로세스 간의 여러 가지 자원 공유 방법 - 자식 프로세스가 OS에서 자원을 직접 얻음 > 부모와 자식 프로세스간에 자원을 공유하지 않음 - 자식 프로세스가 부모 프로세스 자원의 부분집합을 사용 > 자식 프로세스는 부모 프로세스의 모든 자원 또는 일부 자원 공유 > 부모 프로세스는 자식 프로세스들에게 자신의 자원을 분할 제공 전형적인 Linux 시스..

    Computer Science/OS Concepts 2020. 4. 17. 17:33

    3.2 프로세스 스케줄링

    스케줄링의 필요성 - multiprogramming - CPU 이용률 극대화 - time sharing - 사용자와의 상호 작용 -> 빈번한 CPU 스위칭 프로세스 스케줄링 Queue - Job queue : 모든 프로세스들의 집합 - Readyt queue : ready 상태의 프로세스들의 집합 (메모리에 위치) - Device queue : 특정 I/O장치 사용을 대기하는 프로세스들의 집합 -> 일반적으로 Linked list 저장 프로세스들은 실행 동안 여러 queue들 사이에서 이동함 프로세스가 종료되면 queue에서 제거되며 할당된 자원과 PCB도 반납함 Ready Queue와 여러 I/O Device Queues 프로세스 스케줄링에 대한 Queueing 프로세스의 Queue들 간의 이동 스케줄..

    Computer Science/OS Concepts 2020. 4. 17. 17:25

    3.1 프로세스 개념

    CPU activity를 부르는 명칭 - Batch 시스템 -> Job - Time-shared 시스템 -> User program, Task, Process Job, Task, Process 용어는 거의 같은 의미로 사용됨 프로세스 - 실행 상태에 있는 능동적 개체, 연관된 자원 사용 - 프로그램 코드보다 더 많은 부분을 포함 > 메모리 : code + data + stack + heap > CPU : program counter + registers > 프로세스 관리용 자료구조 : 프로세스 제어 블록 (PCB) 프로그램 - 디스크에 파일로 저장된 수동적 개체 - 프로그램 파일 = 코드(text section) + 초기화 데이터 + 헤더 정보 등 프로세스와 프로그램 text section : 프로그램 ..

    Computer Science/OS Concepts 2020. 4. 17. 17:04

    2.10 시스템 부트

    Bootstrapping (booting) - 커널을 적재하여 컴퓨터를 시작하는 절차 Bootstrap loader - 커널을 찾아서 메모리에 적재하고 수행을 시작하는 일을 하는 ROM에 저장된 코드 - 대개 시스템을 진단(diagnostic)하는 작업을 수행하고, 시스템 전체를 초기화 한 후에 운영체제를 시작시킴 Firmware - bootstrap 코드의 변경이 가능하도록 ROM 대신 EPROM에 저장함 - 하드웨어와 소프트웨어의 중간 특성을 가져서 firmware라고 부름 - 실행속도가 RAM에서 실행하는 것 보다 느려서 대개 빠른 수행을 위해서 RAM에 복사하여 실행함 운영체제는 대개 디스크에 저장하지만, 일부 시스템은(smartphone, game console등) 운영체제 전체를 firmwar..

    Computer Science/OS Concepts 2020. 4. 17. 15:16

    2.9 운영체제 생성

    운영체제 구성(Configuration) - 운영 체제는 다양한 구성을 가진 모든 종류의 시스템에서 실행되도록 설계되어 있다. - 운영 체제는 특정 컴퓨터를 위해 구성(configuration)되어야 한다. 운영체제 생성(SYSGEN) - 운영체제 배포 - 디스크, CD-ROM, DVD-ROM, 또는 ISO image 형태 - 하드웨어 구성 정보(CPU type, memory size, devices, OS options) 파일을 읽거나, 직접 하드웨어를 검사하여 얻음 - 운영체제 3가지 생성 방법 1. 소스코드 수정 후 완전히 다시 컴파일 2. 구성 테이블 생성 -> 미리 컴파일된 라이브러리에서 필요한 모듈 선택 후 링크 - 코드가 재컴파일 되지 않음 3. 완전한 테이블 방식 - 모듈 선택이 실행 시에..

    Computer Science/OS Concepts 2020. 4. 17. 15:08

    2.8 운영체제 디버깅

    디버깅 (debugging) - 오류(bug라고도 함)를 발견하고 수정하는 것 장애(Failure) 분석 - log file - 프로세스가 실패하면 오류 정보를 기록 - core dump file - 오류 발생 프로세스의 메모리 내용을 저장 (초창기의 컴퓨터에서 메모리를 core라고 부름) - crash dump file - 커널 장애시에 커널 메모리 내용을 저장 (커널 장애를 crash라고 부름) 성능 조정 - 병목지점(bottleneck)을 제거하여 시스템 성능을 최적화 가능 - OS의 bottleneck을 발견하기 위하여 시스템 성능 측정 및 표시 유틸리티를 사용해야 함. DTrace - 사용자 프로세스와 커널에 동적으로 탐색점을 추가할 수 있는 유틸리티

    Computer Science/OS Concepts 2020. 4. 17. 15:06

    추가 정보

    페이징

    이전
    1 2 3 4 5 6 ··· 8
    다음
    TISTORY
    pwnkidhn.github.io © rvkhun
    페이스북 트위터 인스타그램 유투브 메일

    티스토리툴바