분류 전체보기 185

컴퓨터공학 공부 다시 시작하기 23주차-TCP 프로토콜/슬라이딩 윈도우 및 혼잡 제어 알고리즘 이해, UDP 프로토콜 이해(네트워크)

1. TCP 프로토콜/슬라이딩 윈도우 및 혼잡 제어 알고리즘 이해TCP 제어네트워크 트래픽에 따른 효율적/신뢰적 송신을 위한 제어 알고리즘 적용흐름 제어(Flow Control): 슬라이딩 윈도우(Sliding Window)매번 ACK를 기다리지 않고 여러 패킷을 연속해서 송신하기 위해,각 컴퓨터의 윈도우 사이즈 확인 후 윈도우 사이즈만큼 ACK없이 연속해서 송신*TCP 윈도우 사이즈 설정혼잡 제어 알고리즘: Congestion Window송신 제어를 위한 윈도우는 2개 Receiver Window(RWND): 흐름 제어(Sliding Window)에서 활용Congestion Window(CWND): 네트워크 혼잡 제어를 위해 활용송신 측 최종 윈도우 크기 = min(RWND, CWND)Congestio..

컴퓨터공학 공부 다시 시작하기 22주차-TCP/IP 모델 이해, ITCP 프로토콜/TCP 연결 및 연결 해제 방식 이해(네트워크)

1. TCP/IP 모델 이해OSI 7 Layer는 표준 모델이며, 현실에서 인터넷 통신을 위해 사용하는 모델이 TCP/ IP 모델이 모델의 응용 계층은 OSI 모델의 세션+표현+응용 계층 통합, 이 모델의 네트워크 접속 계층은 OSI 모델의 물리+데이터링크 계층 통합, 이 모델의 인터넷 계층은 OSI 모델의 네트워크 계층응용  계층(Application Layer)HTTP, FTP, DNS, POP3, SMTP 등등전송 계층(Transport Layer)TCP, UDP인터넷 계층(Internet Layer)IPv4, IPv6네트워크 접속 계층(Network Access Layer)Ethernet IPv4Internet Protocol version 4: 32비트로 구성(2^32개 IP 주소/0.0.0.0..

컴퓨터공학 공부 다시 시작하기 21주차-네트워크 개요, 프로토콜/프로토콜 기본 구조와 동작 이해, OSI 7 이해(네트워크)

1. 네트워크 개요컴퓨터에서 네트워크란?Computer Network: 컴퓨터 간 통신을 의미(이를 위한 규칙이 있음)-> 파일 송/수신, 웹 사이트, 이메일 열람 등범위별 네트워크 구분LAN(Local Area Network): 건물 등 특정 지역을 범위로 하는 네트워크WAN(Wide Area Network): 인터넷 서비스 제공자(ISP) 등이 제공하는 광역 네트워크WLAN(Wireless Local Area Network): 무선 근거리 네트워크2. 프로토콜/프로토콜 기본 구조와 동작 이해 (네트워크 핵심 용어)프로토콜컴퓨터 통신을 하기 위한 규칙으로, 독립적인 여러 규칙이 필요함OSI 7 Layer(OSI 7 계층)ISO(국제 표준화 기구)에서 제정한 모델다양한 컴퓨터 간 데이터 전송을 지원할 수..

컴퓨터공학 공부 다시 시작하기 20주차-쉘스크립트 조건문 이해하기, 쉘스크립트 반복문 이해하기, 서버 운영을 위한 쉘스크립트 예제(시스템 소프트웨어)

1. 쉘스크립트 조건문 이해하기연산자expr: 숫자 계산-> 연산은 백틱`` 안이나 $() 안에 사용해야 함(백틱은 작은 따옴표 '와 다르며, $()은 최신 Bash에서 사용)연산자 *와 괄호()를 쓸 때는 앞에 역슬래시\를 추가해야 함연산자와 숫자/변수/기호 사이에는 space를 넣어야 함num=`expr \( 3 \* 5 \) / 4 + 7` #또는, num=$(expr \( 3 \* 5 \) / 4 + 7)echo $num기본 조건문 기본 if 구문: 실제로 사용할 때는 명령문 앞에 들여쓰기를 할 필요는 없고, then과 fi안에만 들어가 있으면 됨 if [조건]then 명령문fi조건문 조건 작성 (필요할 때마다 참조하면 됨 \)문자 비교 문자1 == 문자2 # 문자1 과 ..

컴퓨터공학 공부 다시 시작하기 19주차-VI 에디터 핵심 명령 이해하기, 쉘스크립트 이해하기, 쉘스크립트 시작/변수 선언하기(시스템 소프트웨어)

1. VI 에디터 핵심 명령 이해하기vim 초간단 사용법입력(입력 모드 진입 시, 왼쪽 하단에 "--INSERT--"라는 문구가 출력됨)i 포커스 잡힌 커서 위치에서 편집모드 시작a 포커스 잡힌 커서 위치 바로 다음에서 편집모드 시작삭제(일반 모드에서 실행)x 커서의 한 문자를 삭제파일 저장:w 현재 오픈된 파일 저장:q 저장하지 않고 종료(quit):wq 현재 오픈된 파일 저장 후 종료:q! 강제 종료 블록 지정 및 복사(Visual 모드에서 활용)v 단어 단위로 블럭 지정shift + v 라인 단위로 블럭 지정y 지정된 블럭 복사p 복사된 블럭을 현재 커서에 붙여넣기u 직전 실행 작업 취소*자주 사용하는 시나리오- v로 visual 모드로 들어간 후 shift를 누른 채 커서 이동을 통해 블록 지정,..

컴퓨터공학 공부 다시 시작하기 18주차-하드링크와 소프트링크 이해하기, 리눅스 패키지 시스템과 우분투 이해하기, VI 에디터 이해하기(시스템 소프트웨어)

1. 하드링크와 소프트링크 이해하기cp 명령(파일 복사): 1MB 사이즈의 A 파일을 B 파일로 복사-> cp A B -> A와 B는 각각 물리적으로 10MB 파일로 저장# 하위폴더 포함 복사하기cp -rf * 폴더하드 링크(In A B): A와 B는 같은 inode를 공유하는 동일한 10MB 파일을 가리키며,동일한 파일을 가진 이름을 하나 더 만든 것일 뿐 전체 파일 용량은 달라지지 않음-> 원본 파일이 삭제되어도 다른 하드 링크는 그대로 유지됨.소프트/심볼릭 링크(In -s A B): 원본 파일을 가리키는 별도 파일을 가리키며, ls - al 명령어로 확인 가능-> Windoew OS의 바로가기와 동일하며, 원본 파일이 삭제되면 소프트 링크는 깨짐(Broken Link).=> rm A로 A를 삭제한다..

컴퓨터공학 공부 다시 시작하기 17주차-리다이렉션과 파이프 이해하기, 포그라운드와 백그라운드 프로세스 이해하기, 리눅스 프로세스 제어 명령어 이해하기 (시스템 소프트웨어)

1. 리다이렉션과 파이프 이해하기표준 입출력(Standard Stream)- command로 실행되는 프로세스는 세 가지 스트림을 가지고 있음  -> 표준 입력 스트림(stdin), 표준 출력 스트림(stdout), 오류 출력 스트림(stderr)- 일반적으로 표준 출력 및 오류 출력 스트림은 plaint text로 console에 출력하도록 되어 있음리다이렉션(redirection)- 표준 스트림 흐름을 바꿔줄 수 있음- 주로 명령어 표준 출력을 화면이 아닌 파일에 쓸 때 사용- >, 파이프(pipe) - 두 프로세스 사이에서 한 프로세스의 출력 스트림을 또다른 프로세스의 입력 스트림으로 사용- 예시 명령어 ls | grep files.txt: ls 명령으로 해당 디렉토리/파일 내에 files.txt가..

컴퓨터공학 공부 다시 시작하기 16주차 - 리눅스 파일 시스템과 쉘 이해하기, 리눅스 파일 기본 명령어 이해하기, 리눅스 파일 권한 설정 명령어 이해하기

리눅스 파일 시스템과 쉘 이해하기리눅스와 파일- 모든 인터렉션은 파일을 읽고 쓰는 것처럼 이루어져 있음  -> 마우스, 키보드와 같은 디바이스 관련된 기술도 파일과 같이 다루어짐- 파일 네임스페이스로는 A 드라이브(A:/)나 C 드라이브(C:/windows)가 아닌, 전역 네임스페이스 사용   -> 예시: /media/floofy/dave.jpg쉘(shell)- 사용자와 컴퓨터 하드웨어 또는 운영체제 간 인터페이스- 사용자의 명령을 해석해서 커널에 명령을 요청해주는 역할- 관련 시스템콜을 사용하여 프로그래밍이 작성되어 있음쉘 종류- Bourne-AgainShell (bash): GNU 프로젝트의 일환으로 개발되었으며, 리눅스 기반- Bourne Shell (sh)- C Shell (csh)- Korn S..

컴퓨터공학 공부 다시 시작하기 15주차 - 가상 머신과 운영체제 이해, 리눅스 배경지식 이해, 클라우드컴퓨팅 이해

가상 머신과 운영체제 이해가상 머신(Virtual Maching) 개요 - 하나의 하드웨어(CPU, Memory등)에 다수 운영체제를 설치하고, 개별 컴퓨터처럼 동작하도록 하는 프로그램하이퍼 바이저 또는 버추얼 머신 모니터(VMM)- 운영 체제와 응용프로그램을 물리적 하드웨어에서 분리하는 프로세스의 소프트웨어Virtual Machine Type1(native 또는 bare metal)- 하이퍼 바이저 또는 버추얼 머신 모니터(VMM)가 Hardware에서 직접 구동  => (예시) Xen, KVM[아마존 클라우드 컴퓨팅 서비스에서 사용]Virtual Machine Type2- 하이퍼바이저 또는 버추얼 머신 모니터(VMM)가 Host OS 상위에 설치됨  => (예시) VMWare, Virtual Box리..

컴퓨터공학 공부 다시 시작하기 14주차 - 파일 시스템 개념 이해, inode 파일 시스템 개념 이해, 부팅과 현대 운영체제 구조 이해

파일 시스템 개념 이해- 운영체제가 저장매체에 파일을 쓰기 위한 자료구조 또는 알고리즘파일 시스템이 만들어진 이유- 블록: 0과 1의 데이터를 저장매체에 저장할 때, 비트로 관리하기에는 오버헤드가 너무 커서 블록 단위로 관리(보통 4KB) -> 각 블록별로 고유 번호를 부여하여 관리- 파일: 사용자가 각 블록을 고유 번호로 관리하기는 어려우므로 '파일'이라는 추상적(논리적) 객체 필요 -> 사용자는 파일 단위로 관리하며, 각 파일은 블록 단위로 관리- 저장 방법: 저장매체에 효율적으로 파일을 저장하려면 가능한 연속적인 공간에 파일을 저장하는 게 좋은데, 외부 단편화/파일 사이즈 변경 문제로, 불연속 공간 파일 저장 기능 지원이 필요해짐 -> 블록 체인: 블록을 링크드..