본문 바로가기

Category

(50)
마이크로프로세서의 프로그램 실행 원리 1-1. 마이크로프로세서와 어셈블리 언어 레지스터: 프로세서 내부에 임시 기록 장치 ALU: 덧셈, 뺄셈 등의 산술 연산과 AND, OR 등의 논리 연산을 할 수 있는 논리 회로 명령어: 프로세서가 실행할 수 있는 단위 실행 동작 - LOAD: 메모리에서 읽어 와서 프로세서 내부의 레지스터에 저장하는 동작 - STORE: 레지스터의 내용을 메모리에 쓰는 동작 컴파일러: 어셈블리 언어 프로그램으로 번역하는 소프트웨어 어셈블러: 기계어 코드의 실행 파일로 변환 1-2. 마이크로 프로세서의 명령어 실행 TOY 프로세서 - R0부터 R6까지의 7개 레지스터가 각각 32비트 데이터를 저장할 수 있는 범용 레지스터 - PC(Program Counter): 32비트 레지스터, 다음에 실행할 명령어가 있는 메모리 주소..
Bits, Bytes, and Integers UMax: 비트가 다 1인 것 UMAX= -1 UMAX-1 = -2 TMAX = MSB가 0이고 하위 모든 비트가 1인 것 TMIN = LSB가 0이고 상위 모든 비트가 1인 것 TMIN = TMAX+1 cf) 01111111(TMAX)에 +1을 하면 11111110(TMIN) UMAX = 2*TMAX+1 cf) 01111111(TMAX)에 0111 (7) // 음수가 양수로 NegOver(negative overflow)가 발생 0111 (7) + 0101 (5) = 1100 (-4) // 양수가 음수로 PosOver(positive overflow)가 발생 Unsigned Multiplication Addition과 동일하게 범위가 넘으면 trucation 발생 ex) w = 4bit 일 때 5x5는..
jQuery 라이브러리 간단 정리 문서 객체 사용 script 태그 안에 이벤트를 활용 $(document).ready(function(){ }); // head 태그 안에 사용할 경우 문서 객체 선택 $('선택자') 메소드로 문서 객체 선택 글자 조작 HTML 글자 접근 - $(선택자).html() :선택자로 선택된 태그 내부의 HTML 태그를 반환 (한 개만 반환) 수정 - $(선택자).html(HTML코드) :선택자로 선택된 태그 내부의 HTML 태그를 HTML코드로 변경 ex) $('h1:nth-child(2)').html('html()‘); // html() 출력 태그 글자 접근 - $(선택자).text() :선택자로 선택된 모든 태그 내부의 글자를 결합하여 반환 수정 - $(선택자).text(글자) :선택자로 선택된 태그 내부..
자바스크립트 기본 문법 정리 문서 객체 사용 script 태그 안에 이벤트를 활용 window.onload = function () { }; 문서 객체 선택 document.getElementByID(아이디): 아이디로 1개 선택 document.querySelector(선택자): 선택자로 1개 선택 document.querySelectorAll(선택자): 선택자로 여러 개 선택 글자 조작 textContent: 순수 텍스트 형식 innerText: 렌더링 한 텍스트 형식 innerHTML: HTML 태그를 함께 가져옴 ex) var output = ' '+ 1 +' '; document.getElementById('innerHTML').innerHTML = output; // 1 출력 document.getElementById('..
리눅스 보안 1. 정보 보안의 3요소 - 기밀성: 허가받은 사용자만이 해당 정보에 접근 - 무결성: 정보가 무단으로 변조되지 않았음을 의미 - 가용성: 필요할 때 인가를 받은 사용자가 정보나 서비스에 접근할 수 있는 것 2. 시스템 로그 로그: 커널과 리눅스 시스템이 제공하는 여러 서비스와 응용 프로그램이 발생시키는 메시지 3. 방화벽 관리 - 네트워크를 통한 외부의 접속을 차단하려면 방화벽을 사용 ufw 명령어: 방화벽을 설정 4. 보안 관리 도구 NMap: 내 서버나 원격의 서버가 사용 중인 포트, 운영체제 등을 스캔하여 출력 nmap 명령어: 네트워크를 탐색하고 보안을 점검
원격 접속과 FTP Protocol: 통신 쌍방 간에 정해놓은 규칙 IP 주소: 특정 컴퓨터에 부여된 주소 Port 번호: 컴퓨터 내에서 응용 분야별 구별 번호 Packet: 통신하는 상호간에 교환하는 데이터 표현 TCP: 두 개의 호스트를 연결하고 데이터 스트림을 교환하게 해주는 네트워크 프로토콜 UDP: IP를 사용하는 네트워크 내에서 컴퓨터들 간에 메시지들이 교환될 때 제한된 서비스만을 제공하는 통신 프로토콜 텔넷: 원격에서 리눅스에 접속하는 프로그램 - 서버의 이름은 telnetd cf) 설치: sudo apt-get install telnetd - 사용법: telnet을 입력하면 > 프롬프트가 뜨면서 텔넷 모드로 전환. FTP 서버: 파일을 하나의 장치에서 다른 장치로 전송하는 소프트웨어 프로토콜 - 리눅스에서 사..
소프트웨어 관리 우분투 패키지 특징 - 바이너리 파일로 구성되어 있어 컴파일이 필요 없다 - 패키지의 파일이 관련 디렉터리에 바로 설치 - 패키지 삭제 시 파일을 일괄적으로 삭제 - 패키지를 바로 업그레이드할 수 있음 apt-get 명령어: 패키지를 관리한다. ex) apt-get update, apt-get install, apt-get upgrade, apt-get remove 파일 아카이브와 압축 파일 아카이브 - 파일을 묶어서 하나로 만드는 것 - 다른 시스템과 파일을 주고 받거나, 백업을 하기 위해서 아카이브 파일을 생성 tar 명령어: 파일과 디렉터리를 묶어 하나의 아카이브 파일을 생성 - 아카이브 생성: cvf ex) tar cvf chap9.tar week3 week5 - 아카이브 내용 확인: tvf ex..
리눅스 부팅과 종료 리눅스 시스템의 부팅 과정 전원 ON -> 바이오스 단계 -> 부트 로더 단계 -> 커널 초기화 단계 -> systemd 서비스 단계 -> 로그인 프롬프트 출력 바이오스 단계: PC에 장착된 기본적인 하드웨어의 상태를 확인한 후 부팅 장치를 선택하여 로딩 부트 로더 단계: 여러 운영체제 중에서 부팅할 운영체제를 선택할 수 있도록 메뉴를 제공하고 리눅스 커널을 메모리에 로딩 커널 초기화 단계: 시스템에 연결된 장치들을 검사 systeemd 서비스 단계: 기존의 init 스크립트를 대체한 것으로 다양한 서비스를 동작 init 프로세스: 처음 생성되는 프로세스로서 PID 1번이다. 디렉터리들의 관리 정보를 통해서 순차적으로 필요한 프로세스들을 생성한다. - systemd로 대체된다. 리눅스를 종료하는 방법 -..