본문 바로가기

Ping!_linux

(6)
Python 기초 문법 (2) Unit 8 불(boolean)과 비교, 논리 연산자 1) 불(boolean) & 비교 연산자 불은 True, False로 표현하며 1(정수), 3.6(실수), 'Python'(문자열)처럼 값의 일종 파이썬에서는 비교 연산자와 논리 연산자의 판단 결과로 True, False를 사용함. 즉, 비교 결과가 맞으면 True, 아니면 False >>> 3 > 1 True 두 숫자가 같은지 비교할 때는 ==(equal), 다른지 비교할 때는 !=(not equal)을 사용 >>> 10 == 10 # 10과 10이 같은지 비교 True >>> 10 != 5 # 10과 5가 다른지 비교 True 숫자뿐만 아니라 문자열도 ==와 != 연산자로 비교 가능함. 이때 문자열은 비교할 때 대소문자를 구분. 다음과 같이 단어가..
Python 기초 문법 (1) Unit 4 기본 문법 1) 세미콜론 파이썬은 세미콜론을 붙이지 않음. 보통 한 줄에 여러 구문을 사용할 때 세미콜론으로 구분 print('Hello'); print('1234') 2) 주석 코드 맨 앞에 #을 사용하면 해당 줄은 모두 주석 # Hello, world! 출력 print('Hello, world!') 3) 들여쓰기 코드를 읽기 쉽도록 일정한 간격을 띄워서 작성하는 방법 특히 파이썬은 들여쓰기 자체가 문법임. 들여쓰기를 하지 않으면 문법 에러 if a == 10: print('10입니다.') # 들여쓰기 문법 에러 if a == 10: print('10입니다.') 공백(스페이스) 2칸, 4칸, 탭(tab) 등을 사용해 들여쓰기 4) 코드블록 특정한 동작을 위해서 코드가 모여 있는 상태 파이썬..
기본 명령어 및 vi 에디터 기본 명령어 ㅁsu : Switch User ㅁsudo : SuperUser DO - sudo [명령어] : superuser 권한으로 명령어 실행 ㅁ sudo su : superuser 계정으로 전환 ㅁ whoami : 현재 사용자 확인 ㅁ exit : superuser 계정이었다면 이전의 계정으로 이동 ㅁ pwd : Print Working Directory, 현재 위치한 디렉토리를 보여줌 ㅁcd : Change Directory, 현재 위치에서 directory 이동 -절대 경로 : cd /home/pinguser/tes - 상대 경로 : cd ./test - . 현재 direcctory, .. 상위 directory ㅁls : list, 현재 위치한 디렉토리의 내용 출력 - ls : 현재 위치한 ..
3. x86 Assembly ㅁ x64 어셈블리 언어 동사에 해당하는 명령어(Operation Code, Opcode) 목적어에 해당하는 피연산자(Operand)로 구성 x86-64 어셈블리어 문법 구조 명령어 명령 코드 데이터 이동(Data Transfer) mov, lea 산술 연산(Arithmetic) inc, dec, add, sub 논리 연산(Logical) and, or, xor, not 비교(Comparison) cmp, test 분기(Branch) jmp, je, jg 스택(Stack) push, pop 프로시져(Procedure) call, ret, leave 시스템 콜(System call) syscall 피연산자 상수(Immediate Value) 레지스터(Register) 메모리(Memory) 메모리 피연산자는..
2. 리눅스 메모리 구조 (Linux Memory Layout) 1. 세그먼트 : 프로세스 메모리 세그먼트로 구분 세그먼트란 적재되는 데이터의 용도별로 메모리의 구획을 나눈 것 1) 코드 세그먼트, 2) 데이터 세그먼트, 3)BSS 세그먼트, 4)힙 세그먼트, 5)스택 세그먼트 CPU는 메모리에 대해 권한(읽기/쓰기/실행)이 부여된 행위만 할 수 있음 ㅇ 코드 세그먼트 ( 텍스트 세그먼트라고도 불림) : 실행 가능한 기계 코드가 위치하는 영역 프로그램이 동작하려면 코드를 실행할 수 있어야 하므로 이 세그먼트에는 읽기 권한 과 실행 권한 이 부여 BUT, 쓰기 권한은 악의적 코드 삽입 쉬워지므로 , 대부분 운영체제는 이 세그먼트에 쓰기 권한 제거 ㅇ 데이터 세그먼트(Data Segment) 파일 시점에 값이 정해진 전역 변수 및 전역 상수들이 위치 CPU가 이 세그먼트..
1. 컴퓨터구조 1. 컴퓨터 구조 (Computer Architecture) : 컴퓨터가 효율적으로 작동할 수 있도록 하드웨어 및 소프트웨어의 기능을 고안하고, 이들을 구성하는 방법 ㅇ 컴퓨터의 기능 구조에 대한 설계 : 컴퓨터가 연산을 효율적으로 하기 위해 설계하는 분야 ex) 폰 노이만 구조, 하버드 구조, 수정된 하버드 구조 ㅇ 명령어 집합구조 (Instruction Set Architecture) : CPU가 처리해야하는 명령어를 설계하는 분야 ex) ARM, MIPS, AVR, 인텔의 x86및 x86-64 ㅇ마이크로 아키텍쳐 (Micro Architecture) : 정의된 명령어 집합을 효율적으로 처리할 수 있도록, CPU의 회로를 설계하는 분야 (CPU의 하드웨어적 설계) ex) 캐시 설계, 파이프라이닝 , ..