[객체지향프로그래밍] 이론
·
전공/객체지향프로그래밍
객체의 특징 특징 예시 크기 작은 물체, 큰 물체 형태 원, 사각형, 삼각형 등 색상 빨강, 파랑 노랑 등 무게 가벼운 물체, 무거운 물체 재질 나무, 금속, 플라스틱, 유리 등 기능 한 가지 기능, 여러 가지 기능 용도 가구, 전자제품, 운송 수단 등 위치 바닥에 놓인 물체, 책상 위에 놓인 물체, 벽에 걸린 물체 등 관계 서로 붙어 있는 물체, 쌓여 있는 물체, 연결된 물체 등 변화 녹아 없어지는 물체, 커지는 물체, 움직이는 물체 등 객체 지향의 핵심 개념 캡슐화 데이터와 데이터를 처리하는 메소드를 하나의 논리적인 단위로 묶는 것 데이터의 접근을 제한, 메소드를 통해 안전하게 데이터를 처리 자동차 클래스에서 앤진, 바퀴, 핸들 등의 상태 주행, 정지, 좌/우 회전 등의 행동 캡슐화하여 외부에서 직접..
[Linux] 리눅스 vi 환경 설정
·
전공/리눅스시스템관리
vi 환경설정 명령 set 명령과 옵션 기능 set nu 파일 내용의 각 행에 행 번호를 표시 set nonu 행 번호 감추기 set list 눈에 보이지 않는 특수문자 표시(tab:^,eol:$ 등) set nolist 특수문자 감추기 set showmode 현재 모드 표시 set noshowmode 현재 모드 감추기 set set으로 설정한 모든 vi 환경 설정 값 출력 set all 모든 vi 환경 변수와 현재 값 출력 .exrc 파일에 환경 설정 사용자 홈 디렉터리에 .exrc 파일로 vi 환경설정 명령어 저장 EXINIT 환경 변수에 설정 셸의 환경 변수인 EXINIT에 vi 환경 설정 가능 $ EXINIT='set nu liset' $ export EXINIT
[Linux] 리눅스 vi 명령어
·
전공/리눅스시스템관리
vi 기능 - 지정한 파일을 편집, 파일을 저장하지 않으면 빈 파일이 열리고 나중에 파일명 지정 가능 형식 - vi [파일] 모드 명령어 기능 마지막 행 모드 :q vi에서 작업한 것이 없을 때 그냥 종료 :q! 작업한 내용을 저장하지 않고 종료 :w 파일명 작업한 내용을 저장, 파일명을 지정하면 다른 파일로 저장 :wq, :wq! 작업한 내용을 저장하고 vi를 종료 명령 모드 ZZ(Shift + zz) 작업한 내용을 저장하고 vi를 종료 명령 모드 -> 입력 모드 전환 명령어 기능 i 현재 커서 자리에 입력 a 현재 커서 다음 자리에 입력 o 커서가 위치한 행의 다음 행에 입력 I 커서가 위치한 행의 첫 칼럼으로 이동하여 입력 A 커서가 위치한 행의 마지막 칼럼으로 이동하여 입력 O 커서가 위치한 행의..
[Linux] 리눅스 디렉터리, 파일 관련 명령어
·
전공/리눅스시스템관리
디렉터리 관련 명령 pwd 기능 - 현재 디렉터리의 절대 경로 출력 형식 - pwd cd 기능 - 디렉터리 이동 형식 - cd [디렉터리] 더보기 홈 디렉터리로 바로 이동: cd ~ 또는 cd ls 기능 - 디렉터리의 내용 출력 형식 - ls [옵션] [디렉터리(파일)] 옵션 -a: 숨김 파일을 포함해 모든 파일의 목록 출력 -d: 디렉터리 자체 정보 출력 -l: 파일의 상세 정보 출력 -F: 파일의 종류 표시(*: 실행파일, /: 디렉터리, @: 심벌릭 링크) -i: 파일의 incode 번호 검색 더보기 mkdir 기능 - 디렉터리 생성 형식 - mkdir [옵션] [디렉터리] 옵션 - -p: 하위 디렉터리를 계층적으로 생성할 때 중간 단계의 디렉터리가 없으면 중간 디렉터리까지 생성 rmdir 기능 -..
[Linux] 리눅스 파일과 디렉터리
·
전공/리눅스시스템관리
파일의 종류 일반 파일 텍스트 파일, 실행파일, 이미지 파일 등 데이터를 저장 디렉터리 파일로 취급 해당 디렉터리에 저장된 파일이나 하위 디렉터리에 대한 정보 저장 심볼릭 링크 원본 파일을 다른 파일명으로 지정한 것 윈도우의 바로가기 파일과 유사 장치파일 하드디스크나 키보드 같은 각종 장치도 파일로 취급 file: 파일의 종류를 알아보는 명령 리덱터리 계층 구조 부모 디렉터리(상위 디렉터리)( .. ) 자식 디렉터리(하위 디렉터리) 루트 디렉터리 /: 루트 디렉터리, 해당 파일이 디렉터리 @: 심볼릭 링크 작업 디렉터리 현재 사용 중인 디렉터리를 작업 디렉터리(working directory) 또는 현재 디렉터리(current directory)라고 함 현재 디렉터리는 ‘.’ 기호로 표시 홈 디렉터리 각..
[Linux] 리눅스 소개
·
전공/리눅스시스템관리
리눅스 운영체제 kernel(커널) - 운영체제의 핵심 부분 - 프로세스 관리, 메모리 관리, I/O 시스템 관리, 파일 시스템 관리 등 shell(쉘)- 사용자와 운영체제의 내부 kernel 사이의 인터페이스 역할(명령어 해석기) H/W -> Kernel -> Shell -> Application -> Users 부팅과정 사용자가 사용하는 소프트웨어, 소프트웨어 계층 리눅스 시스템 리눅스 시스템은 root 위계 구조 계층적으로 접근 최상위 디렉토리: / 또는 root 파일은 디렉토리(dir)와 파일(file)로 구성 /bin : 리눅스의 부팅등, 기본 명령어가 들어 있는 디렉터리 /dev : 연결되어 있는 장치 파일 정보 디렉터리 /etc : 시스템 환경설정 파일이 들어 있는 디렉터리 /sbin : 시..
[컴퓨터구조] #5 프로세서
·
전공/컴퓨터구조
샘플 MIPS 프로세서 구조 메모리 참조 명령어: lw(load doubleword), sw(store doubleword) 산술/논리 명령어: add, sub, AND, OR, slt 조건부 분기 명령어: beq(branch equal), j(jump) PC(Program Counter) - 메모리상의 현재 프로그램 실행위치(명령어 위치) Mux(Multiplex: 다중화기) - Data selector - 여러 개개 -> 하나 Demux(De-multiplex:역다중화기) - 하나 -> 여러 개 명령어 구현 PC를 프로그램이 저장되어 있는 메모리에 보내서 메모리로부터 명령어를 가져옴 읽을 레지스터를 선택하는 명령어 필드를 사용하여 레지스터를 읽음 MIPS 부분집합의 기본적 구현 프로세서 내의 데이터 ..
[컴퓨터구조] #4 컴퓨터 연산
·
전공/컴퓨터구조
2진수 연산 ALU(Arithmetic Logic Unit) -AND/OR -add / subtract Carry / borrow Overflow / underflow Interrupt -Exception(S/W) Multiply & Divide 승수는 32비트 승수 레지스터에 있고, 64비트 곱 레지스터는 0으로 초기화되어 있다고 가정 왼쪽 그림에 따라 매 단계마다 피승수를 왼쪽으로 한 자리씩 이동, 필요시 중간 결과에 더함 이렇게 32단계를 거치면, 32비트 피승수가 왼쪽으로 32번 이동함 -> 64비트 피승수 레지스터가 필요 64비트 피승수 레지스터의 오른쪽 절반은 32비트 피승수로, 왼쪽 절반은 0으로 초기화됨 64비트 피승수 레지스터는 64비트 곱 레지스터에 축적되는 합과 피승수의 위치를 맞추기..
[컴퓨터구조] #3 명령어 종류, 기능과 형식
·
전공/컴퓨터구조
어셈블리 명령어 Assembly High-level Language vs. Compiler, Interpreter CISC - Intel x86/x86-64 RISC - MIPS/ARM/RISC-V 명령어의 종류 레지스터/메모리번지(주소)에 데이터 로드 레지스터와 메모리 주소에서 읽기/쓰기(덮어쓰기) 산술연산 - +/- 논리연산 - and/or/nor/shift 분기 - 조건, 무조건 피연산자(operand)의 개수 명령어/피연산자의 개수에 따른 분류 parameter/argument 오퍼랜드(operand) 개수 add a, b, c → 3 주소 명령어 Word CPU가 한 사이클/틱에 처리하는 데이터 크기 보통 8/16/32/64비트 데스크톱/모바일 64비트가 주류 메모리접근 시 동시에 읽을 수 있는..
[컴퓨터구조] #2 성능평가
·
전공/컴퓨터구조
성능 클럭 사이클/틱 1 GHz의 프로세서 → 10억 분의 초(1ns =10A옴스트롱 초) 빛의 속도: 30cm/1ns 프로그램의 CPU실행시간 = 프로그램의 CPU클럭 사이클 수 * 클럭 사이클 시간 CPU시간 = 명령어개수*CPI/클럭속도 CPI - 명령어당 평균 클럭 사이클 수 전력장벽 클럭스피드는 무조건 올리기 어려움 → 발열 발생 에너지 ∝ 용량성 부하 * 전압^2 (0→1→0/1→0→1) 소모전력(W) ∝ 1/2 * 용량성부하 * 전압^2 * 스위칭 빈도 CMOS기반 반도체 → 동작에너지가 주 에너지 소비원 동적에너지: 트렌지스터가 0→1,1→0 상태 바뀔 때 소비되는 에너지 스위칭빈도: 클럭속도의 함수 용량성 부하: 출력단자에 연결된 트랜지스터의 개수와 공정기술의 함수 에너지 소모의 주원인 ..