본문으로 바로가기

고퍼

현재위치 :: HOME BLOG CATEGORY SEARCH ARCHIVE TAGS MEDIA LOCATION GUESTBOOK

네비게이션

  • 홈
  • 태그
  • 미디어로그
  • 방명록
관리자
  • 블로그 이미지
    G0pher

    Information Security

    링크추가
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃

프로세스 제어 블록(PCB)

프로세스는 프로그램과 프로세스 제어 블록으로 구성되어있다. 프로세스 제어 블록(PCB)이란? 프로세스 제어 블록은 프로세스에 대한 정보를 제공하는 자료구조이다. 운영체제에 따라 다를 수 있지만 일반적으로 다음과 같다. 프로세스 식별자(Process ID)프로세스 상태(Process State)PC(Program Counter)레지스터 정보스케줄링 정보(우선순위, 실행시각, 점유시간 등)메모리 관리정보프로세스 계정정보입출력 상태정보 PCB는 프로세스의 중요한 정보를 포함하고 있기 때문에, 보호된 메모리 영역 안에 남는다PCB는 프로세스 생성시 함께 만들어지고 프로세스 실행이 완료되면 삭제된다

Study/system 2018. 4. 20. 19:47

프로세스(Process)

프로세스(Process)란? 프로세스란 프로그램이 주기억장치에 적재되어 실행되는 상태를 말한다. 프로그램 vs 프로세스 프로그램이란 디스크에 저장된 파일과 같은 수동적인 개체를 말한다. 즉, 실행 코드 그 자체를 의미한다. 이러한 프로그램이 주기억장치에 적재되어 처리를 시작할 때 비로소 프로세스라는 활동적인 개체가 된다. 프로세스의 상태 초기 상태(New state)프로세스가 생성되는 중인 상태 준비 상태(Ready state)프로세스가 CPU를 사용하고 있지는 않지만 언제든지 사용할 수 있는 상태. CPU 할당을 기다리고 있다. 실행 상태(Running state)프로세스가 CPU를 할당받아 명령어를 실행하는 상태 대기 상태(Blocked state)프로세스가 어떤 사건을 기다리고 있는 상태. 보류(B..

Study/system 2018. 4. 20. 19:33

부팅(Booting)

운영체제도 소프트웨어이기 때문에 주기억장치에 적재되어야 한다. 이번 포스팅에서는 운영체제가 시작되기까지의 과정에 대해 알아보자 부팅(Booting)이란? 부팅이란 컴퓨터에서 사용자가 운영체제를 시동할 때 수행하는 부트스트래핑 과정이다. 즉, 운영체제가 실행되기 직전까지의 과정이라고 할 수 있다. 부트스트랩(Bootstrap)이란? 시동이라고도 하는 부트스트랩이란 전원을 켜거나 재부팅할 때 주기억장치에 적재되는 것을 말한다. 이때 적재되는것이 부트스트랩 프로그램이며, 일반적으로 메인보드에 ROM이나 플래시 메모리 형태로 존재하는 펌웨어 BIOS가 대표적이다. BIOS(Basic Input/Outout System)란? 바이오스란 펌웨어의 한 종류로서 전원이 공급되면 시작되는 부팅 절차에서 POST(Powe..

Study/system 2018. 4. 20. 18:55

작업처리에 따른 운영체제의 분류

OS를 분류하는 방법에는 여러가지가 있겠지만 이번 포스팅에서는 작업처리(운영방식)에 따라 운영체제를 어떻게 분류할 수 있는지 알아본다. 일괄처리 시스템 초기 운영체제에서 사용된 운영방식인 일괄처리 시스템은 단일 작업을 즉시 처리하지 않고 여러개의 작업을 일정 기간 또는 일정량이 될 때까지 모아두었다가 하나로 묶어 일괄 처리하는 운영방식을 사용하는 시스템을 말한다. 작업을 시작하면 해당 작업이 끝날때 까지 다른 작업을 하지 못한다. 다중 프로그래밍 시스템 다중 프로그래밍 시스템이란 CPU 작업과 입출력 작업을 병행하는 것이다. 비다중 프로그래밍 시스템에서는 입출력을 기다리는 동안 CPU가 유휴상태가 되니 비효율적이지만, 다중 프로그래밍 시스템에서는 다수의 프로그램을 주기억 장치에 적재하여 하나의 프로그램이..

Study/system 2018. 4. 20. 18:22

운영체제(OS)란?

운영체제(OS : Operating System)란? 운영체제는 컴퓨터 시스템과 사용자 사이에서 중개자 역할을 하는 시스템 소프트웨어이다. 사용자가 컴퓨터를 사용하는데에 있어 대부분의 작업을 운영체제가 처리해준다. 운영체제는 하드웨어와 사용자 사이의 인터페이스를 제공하고, 한정적인 시스템 자원을 보다 효율적으로 사용할 수 있도록 도와주기도 한다. 운영체제가 필요한 이유 사용자 측면 사용자 측면에서 살펴보면 운영체제는 사용자가 편리하게 원하는 동작을 수행할 수 있도록 하기 위해 필요하다. 시스템 측면 시스템 측면에서 살펴보면 어떠한 동작을 최대한 효율적으로 무리없이 구동하기 위해 필요하다.구체적으로 필요한 요소들을 살펴보면 아래와 같다 - 처리능력 : 같은 시간동안 처리할수 있는 작업량 - 응답시간 : 사..

Study/system 2018. 4. 20. 17:14

CrossCompile - ARM,MIPS

컴퓨터구조론 강의를 들으면서 배운 ARM과 MIPS 방식이 실제로 어떻게 돌아가는지 궁금증이 생겼다. 그래서 검색해보니 CrossCompile을 진행하면 c언어가 원하는 환경으로 멀티 컴파일 되어 코드를 다른 방식으로 역어셈블을 할 수 있게된다고 한다. 이러한 환경변경을 가능하게 해주는 유틸리티가 있다.바로 가상화 소프트웨어중 하나인 QEMU이다. Install 12345678910sudo apt-get install -y gcc-multilib-arm-linux-gnueabisudo apt-get install -y gcc-multilib-arm-linux-gnueabihfsudo apt-get install -y gcc-multilib-mips-linux-gnusudo apt-get install -..

Study/reversing 2018. 4. 17. 21:45

Packet sniffer develop #Ethernet header structure

2계층 프로토콜인 이더넷(Ethernet) 프로토콜의 구조를 알아보고 패킷을 분석 해보자 Ethernet Protocol Structure 위의 구조를 참고하여 헤더 부분만 정리해보면 아래와 같다. Destination MAC Address 6byte Source MAC Address 6byte Ethernet Type 2byte 위의 순서대로 분석하면 데이터의 앞 14byte를 해석할 수 있을것이다. 위를 기반으로 analysis.h 를 새로 생성하여 이더넷 헤더를 해석해보자 나의 경우 u_char 자료형으로 모든 요소를 배열로 선언했다. 또한 이더넷 헤더 외에도 다른 헤더를 분석할 때도 배열로 선언할 것이므로 이러한 배열에 값을 넣고 출력하는 함수를 따로 제작하였다. 사용자 정의 함수 1234void..

카테고리 없음 2018. 4. 17. 10:33

Packet sniffer develop #About packet

지난 포스팅 까지 우리는 패킷을 받아들이고 해당 데이터를 출력하는데에 성공했다. 그러나 데이터를 16진수로 출력해보고, 문자로 출력해봐도 무슨 뜻인지 알기가 쉽지 않았다. 이러한 데이터를 패킷 구조에 따라 나누면 각 영역의 의미를 알 수 있을 것이다. 이번 포스팅에서는 받아들인 패킷 데이터를 분석하기 위해 필요한 기초 지식과 실제 프로그래밍에서 따로 패킷 구조 분석 기능만 모아둘 헤더를 생성해볼 것이다. OSI 7 Layer 패킷 데이터를 분석하기 위해서는 OSI 7계층 구조부터 이해해야 한다. 계층 계층명 프로토콜 7계층 응용계층 HTTP, FTP, SMTP, DNS, DHCP, TELNET, ... 6계층 표현계층 SSL, TLS ... 5계층 세션계층 NetBIOS, SAP, ... 4계층 전송계층..

카테고리 없음 2018. 4. 16. 16:29
  • 이전
  • 1
  • ···
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • ···
  • 49
  • 다음

사이드바

NOTICE

  • 전체 보기
MORE+

CATEGORY

  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)

RECENTLY

  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Trackback

TAG

  • Python
  • 어셈블리어
  • webhacking.kr
  • 시스템
  • 웹 해킹
  • 파이썬
  • 웹
  • web
  • writeup
  • SQL
  • 리버싱
  • injection
  • Los
  • HTML
  • 네트워크
MORE+

ARCHIVE

CALENDAR

«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

LINK

  • ♡
  • DESIGN 아띠 그래픽
  • 이종찬
  • 박상현
  • 이창현
  • 송인봉
  • 신동철
  • 박준형
  • 유현진
  • 박형찬
  • 박형찬
  • 이우진
  • 조학근
  • 박홍주

VISITOR

오늘
어제
전체
  • 홈으로
  • 방명록
  • 로그인
  • 로그아웃
  • 맨위로
SKIN BY COPYCATZ COPYRIGHT 고퍼, ALL RIGHT RESERVED.
고퍼
블로그 이미지 G0pher 님의 블로그
MENU
  • 홈
  • 태그
  • 미디어로그
  • 방명록
CATEGORY
  • 전체보기 (364)
    • Programing (102)
      • C (38)
      • Batch Script (3)
      • Python (25)
      • Java (9)
      • Android (0)
      • HTML (12)
      • php (5)
      • Javascript (7)
      • Scratch (3)
    • Study (110)
      • web (11)
      • network (20)
      • reversing (31)
      • system (39)
      • crypto (9)
      • AI (0)
    • Wargame (85)
      • webhacking.kr (25)
      • wargame.kr (0)
      • LOS(eagle-jump) (21)
      • LOS(rubiya) (32)
      • reversing.kr (0)
      • etc (7)
    • CTF (0)
    • ETC (53)
      • knowledge (37)
      • status (16)
VISITOR 오늘 / 전체
  • 글쓰기
  • 환경설정
  • 로그인
  • 로그아웃
  • 취소

검색

티스토리툴바