STUDY/CS 9

[운영체제] 운영체제와 컴퓨터

이화여자대학교 반효경 교수님의 운영체제 강의를 참고하였습니다. 운영체제 컴퓨터 하드웨어 바로 위에 설치되어 사용자 및 다른 모든 SW와 HW를 연결하는 소프트웨어 계층 좁은 의미의 운영체제 (커널) : 운영체제의 핵심 부분, 메모리에 상주 넓은 의미의 운영체제 : 커널을 포함하여 각종 주변 시스템 유틸리티를 포함한 개념 # 분류 동시 작업 가능 여부 : 단일 작업, 다중 작업 사용자 수 : 단일 사용자, 다중 사용자 처리 방식 : 일괄 처리, 시분할, 실시간 💡 시분할 (time sharing) 컴퓨터 처리 능력을 일정한 시간 단위로 분할 💡 실시간 (realtime) Deadline이 존재하여 정해진 시간 내에 반드시 종료되어야 함 ⇒ Hard realtime system, Soft realtime s..

STUDY/CS 2023.02.04

[네트워크] IP 주소 / IPv4, IPv6, 클래스 기반 할당 방식

IP 주소 체계 1. IPv4 시스템에서 네트워크 인터페이스를 고유하게 식별하는 32비트 길이의 번호 32비트를 8비트 단위로 점을 찍어 표기 주소 길이 : 32비트 데이터가 정확하게 전달되는 것을 보장하지 않고, 중복된 패킷을 전달하거나 패킷의순서를 잘못 전달할 가능성이 있다. 클래스 기반 할당 방식 * ## 클래스 기반 할당 방식 IPv4에서 아이피 주소를 할당하는 방식 (서브네팅) 클래스 : 하나의 IP 주소에서 네트워크 영역과 호스트 영역을 나누는 방법 A, B, C, D, E 다섯 개의 클래스로 구분 네트워크 주소 (앞부분) + 호스트 주소 (뒷부분) 클래스 A, B, C : 일대일 통신 클래스 D : 멀티캐스트 통신 클래스 E : 예비용 / 연구용 💡 예시 10.3.4.3 ⇒ 클래스 A, 네트..

STUDY/CS 2023.01.22

[네트워크] TCP vs UDP 차이점 / 가상회선 패킷 교환 방식, 데이터그램 패킷 교환 방식

❗TCP/IP 4계층에 대한 내용은 아래 글을 확인해 주세요 :) 👉 [네트워크] TCP/IP 4계층 [네트워크] TCP/IP 4계층 TCP/IP (Transmission Control Protocol / Internet Protocol) 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 표준 프로토콜 TCP, IP 2개로 이루어져 있음 하위 계층 상위 계층 ttugttag-coding.tistory.com TCP & UDP TCP/IP 4계층 중 전송계층에 해당하며 애플리케이션과 인터넷 계층 사이의 데이터 전달 시 중계 역할을 합니다. 1. TCP (Transmission Control Protocol) 신뢰성 있는 연결형 서비스 제공 흐름 제어, 오류 제어, 순서 제어 ..

STUDY/CS 2023.01.21

[네트워크] TCP/IP 4계층

TCP/IP (Transmission Control Protocol / Internet Protocol) 인터넷에 연결된 서로 다른 기종의 컴퓨터들이 데이터를 주고 받을 수 있도록 하는 표준 프로토콜 TCP, IP 2개로 이루어져 있음 하위 계층 상위 계층 링크 계층, 인터넷 계층 전송 계층, 애플리케이션 계층 ⇒ 특정 계층이 변경되었을 때 다른 계층 영향 X (독립적) 💡 TCP, IP 두 프로토콜을 사용해야 하는 이유 클라이언트와 서버는 각각 IP 주소를 가지고 있고, IP 주소에 패킷 단위로 데이터를 전송한다. 이때 전송된 데이터는 노드를 거쳐 목적지에 도달하게 된다. ❗IP 프로토콜의 한계 1. 비연결성 클라이언트에서는 대상 서버가 패킷을 받을 수 있는 상태인지 확인할 수 없기 때문에 받을 대상이..

STUDY/CS 2023.01.21

[네트워크] 네트워크 토폴로지 (Network Topology) / 네트워크 분류

네트워크 토폴로지 (망 구성 방식) 네트워크 요소(노드, 링크)들이 물리적으로 배치, 연결 되어있는 방식 / 형태 병목현상을 찾는 경우 중요한 기준이 됨 트리형, 버스형, 성형, 링형, 망형 1. 트리형 (Tree) 중앙 컴퓨터와 일정 지역의 단말장치까지는 하나의 통신회선으로 연결하고 이웃하는 단말장치는 일정 지역 내 설치된 중간 단말방치에서 다시 연결하는 구조 장점 단말장치 (노드)의 추가, 삭제가 용이함 단점 특정 노드에 트래픽 집중 시 하위 노드에 영향 2. 버스형 (Bus) 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유 장점 물리적 구조가 단순함 단말장치 추가, 제거가 용이함 단말장치가 고장나도 통신망 전체에 영향을 주지 않음 → 신뢰성이 높음 단점 기밀 보장 어려움 통신회선 길이 제한 ..

STUDY/CS 2023.01.20

[디자인 패턴] 옵서버 패턴 (Observer Pattern) / 자바스크립트, 프록시 객체

옵서버 패턴 (Observer Pattern) 관찰자가 어떤 객체의 상태 변화를 관찰하다가 상태 변화가 있을 때마다 객체에 상속되어 있는 다른 객체들(옵서버)에게 전달하는 패턴 이벤트 기반 시스템 / MVC 패턴에 사용됨 주로 분산된 시스템 간에 이벤트를 생성 / 발행 (Publish)하고, 이를 수신(Subscribe)해야 할 때 사용 관찰자 : 객체의 상태 변화를 감지하는 관찰자 옵서버 : 객체의 상태 변화에 따라 전달되는 메서드 등을 기반으로 '추가 변화 사항'이 생기는 객체들 예제 옵서버 생성 // 옵서버 클래스 (base) class Observer { constructor(user) { this.user = user.name; } notify(message) { console.log(`User..

STUDY/CS 2023.01.10

[디자인 패턴] 전략 패턴 (Strategy Pattern) / 자바스크립트

전략 패턴 (Strategy Pattern) 동일한 계열의 알고리즘들을 개별적으로 캡슐화하여 상호 교환할 수 있게 정의하는 패턴 하나의 클래스가 많은 행동들을 정의하고, 클래스 연산 안에서 복잡한 다중 조건문의 모습을 취하는 경우 사용 독립적으로 원하는 알고리즘 선택하여 사용 클라이언트에 영향 없이 알고리즘 변경 예제 // Strategy Interface class MovableStrategy { constructor(strategy) { this.way = strategy.way; } move() { console.log(`${this.way}를 통해 이동합니다.`) } } // Concrete Strategies class RailStrategy extends MovableStrategy { con..

STUDY/CS 2023.01.09

[디자인 패턴] 팩토리 패턴 (Factory Pattern) - 팩토리 메소드, 추상 팩토리 / 자바스크립트

팩토리 패턴 (Factory Pattern) 객체 생성 부분을 분리하여 추상화한 패턴 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고, 하위클래스에서 객체 생성에 관한 구체적인 내용 결정 객체들 간 의존관계 분리하기 위함 팩토리 메소드 패턴, 추상 팩토리 패턴 장점 상 / 하위 클래스를 분리하여 결합도를 감소시키고 유지 보수성을 증가시킨다. 유연성 및 확장성 증가 단점 객체 생성 시 새로운 클래스 필요 # 팩토리 메소드 패턴 (Factory Method Pattern) 객체 생성 처리를 서브 클래스로 분리하여 처리하도록 캡슐화하는 패턴 추상화를 통해 상위 클래스를 제공하고, 상세한 구현은 하위 클래스로 위임 비슷한 객체를 반복적으로 생성새야 하는 경우 사용 예제 class Coffe..

STUDY/CS 2023.01.08

[디자인 패턴] 싱글톤 패턴 (Singleton Pattern) / 자바스크립트

싱글톤 패턴 (Singleton Pattern) 전체 시스템에서 클래스에 대해 오직 하나의 인스턴스만 가지도록 하는 객체 생성 패턴 하나의 객체를 생성하면 생성된 객체를 어디서든 참조 가능 인스턴스에 집적적인 접근 차단 예제 1 : 즉시 실행 함수 (IIFE) + 클로저 (Closure) 즉시 실행 함수 : 함수를 정의하자마자 바로 호출되는 함수 (초기화코드, 라이브러리 내 전역 변수의 충돌방지 등에 사용) let Singleton = (function () { let instance; // instance 비공개 변수 function init() { // 비공개 메서드 return { publicMethod: function () { // public 메서드 return {name: 'yejin', a..

STUDY/CS 2023.01.07