본문 바로가기
728x90
반응형

Computer Science5

프로세스, 스레드, 멀티태스킹, 멀티스레딩, 멀티프로세싱, 멀티프로그래밍 프로세스 - 컴퓨터에서 실행 중인 프로그램 - 각각의 프로세스는 독립된 메모리 공간을 할당 받음 - 명령어들과 데이터를 가짐 CPU - 명령어를 실행하는 연산 장치 메인 메모리 - 프로세스가 CPU에서 실행되기 위해 대기하는 곳 IO - 파일을 읽고 쓰거나 네트워크의 어딘가와 데이터를 주고 받는 것 - 입출력 장치와 데이터를 주거나 받는 것 단일 프로세스 시스템 - 한 번에 하나의 프로그램만 실행됨 - CPU 사용률이 좋지 않음 --> 여러 개의 프로그램을 메모리에 올려놓고 동시 실행 --> IO 작업이 발생하면 다른 프로세스가 CPU에서 실행됨 => 멀티프로그래밍 멀티프로그래밍 - CPU 사용률을 극대화 시키는데 목적 - CPU 사용 시간이 길어지면 다른 프로세스는 계속 대기 --> 프로세스는 한 번 .. 2023. 11. 27.
로드 밸런서(Load Balancer)? 로드 밸런서(Load Balancer) 정의 트래픽이 몰리는 것을 막아 가용성을 보존하고, 트래픽 병목 현상을 예측하고 막을 수 있는 것 가용성 : 서비스가 지속되는 정도 로드밸런서 설계 - 고려 사항 업무 크기를 고려하여, 실행시간이 얼마나 걸리는지 확인 데이터 의존도에 따른 작업 순서 및 실행 시간이 얼마나 걸리는지 확인 트리 구조 계산방식 등을 통한 작업 분담 알고리즘의 복잡도 하드웨어 아키텍처 에러 허용 범위 로드 밸런싱 알고리즘 라운드 로빈(Round Robin) : 요청이 들어온 순서대로 순차적인 처리하며, 경로 분이 같은 처리량을 보장하지 않음 가중 라운드 로빈(Weight Round Robin) : 라운드 로빈의 성능에 따라 트래픽 분산에 가중치를 두는 방식 최소 접근법(Least Conn.. 2023. 1. 26.
HTTP vs HTTPS 비교 HTTP(Hyper Text Transfer Protocol) 1989년 팀 버너스 리(Tim Berners Lee)에 의해 처음 설계되었음 정의 서버/클라이언트 모델을 따라 데이터를 주고 받기 위한 프로토콜 인터넷에서 하이퍼텍스트를 교환하기 위한 통신 규약으로, 80번 포트를 사용하고 있음 구조 애플리케이션 레벨의 프로토콜로 TCP/IP 위에서 작동함 상태를 가지고 있지 않는 Stateless 프로토콜이며, Method, Path, Version, Headers, Body 등으로 구성됨 HTTP : 암호화가 되지 않은 평문 데이터를 전송하는 프로토콜 => 비밀번호나 주민등록번호 등을 주고 받으면 제3자가 정보를 조회할 수 있었으므로, 이 문제를 해결하기 위해 HTTPS 등장 HTTPS(Hyper Tex.. 2023. 1. 25.
TCP & UDP 정의 UDP(User Datagram Protocol, 사용자 데이터그램 프로토콜) 비연결형 프로토콜 신뢰성이 없는 전송 프로토콜 IP 데이터그램을 캡슐화하여 보내는 방법과 연결 설정을 하지 않고 보내는 방법을 제공 흐름제어, 오류제어 또는 손상된 세그먼트의 수신에 대한 재전송을 하지 않으며, 이 모두가 사용자 프로세스의 몫임 UDP가 행하는 것은 포트들을 사용하여 IP 프로토콜에 인터페이스를 제공하는 것 코드가 간단할 뿐만 아니라 TCP 처럼 초기설정(initial setup)에서 요구되는 프로토콜보다 적은 메시지가 요구됨 흐름제어를 하지 않기 때문에 전송 속도를 최대한 빠르게 할 수 있음 수신자와 송신자 간의 handshaking이 없는 connectionless 성질을 가짐 예를 들어, 유튜브 동영상 같.. 2023. 1. 25.
Object Oriented Programming(OOP) 객체 지향 프로그램 객체 지향 프로그램 객체 지향 프로그램 : 객체의 관점에서 프로그래밍 C 언어 : 절차 지향적인 프로그래밍(프로세스가 함수 단위로 순서대로 진행됨) 객체를 기준으로 코드를 나누어 구현함 애플리케이션을 구성하는 요소들을 객체로 바라보고, 객체들을 유기적으로 연결하여 프로그래밍함 Java => 구성 부분 단위는 클래스이며, 클래스는 설계도 역할이고, 구현체는 인스턴스임 클래스 : 객체를 정의하고 만들어 내기 위한 설계도이며, 클래스 안에 객체를 만들어내기 위해 변수와 메서드들이 존재함 객체 : 클래스에 선언된 모양 그대로 생성된 실체로 클래스의 인스턴스라고 부름 인스턴스 : 클래스를 통해 구현해야 할 객체가 실제로 구현된 구체적인 실체 캡슐화(Encapsulation) 정의 : 하나의 객체에 대해 그 객체가.. 2023. 1. 25.
728x90
반응형