개발기술/Computer Science (6) 썸네일형 리스트형 Blocking / Non-Blocking I/O 어플리케이션 레벨에서의 I/O 처리방식 I/OInput과 Output, 데이터의 입출력OS 상의 I/O의 종류로 Network(Socket), file, pipe, device가 존재함.네트워크 통신은 socket을 통해서 데이터가 입출력되며, 네트워크 요청자들은 각각 소켓을 열고 통신한다 Blocking I/O (블로킹)I/O 작업을 요청한 프로세스/스레드는 요청이 완료될때까지 블락됨 Non-Blocking I/O (논블로킹)프로세스/스레드를 블락시키지 않고 요청에 대한 현재상태를 즉시 리턴요청을 보낸 후 해당 요청이 완료될 때까지 기다리지 않고 즉시 제어권을 반환합니다.요청을 처리하는 작업은 별도의 메커니즘(콜백, Future, 이벤트 루프 등)을 통해 비동기적으로 실행됩니다. 논블락킹 I/O 결.. CS공부 - 네트워크 네트워크 개요네트워크 : 컴퓨터간의 통신(파일,이메일,웹문서 송수신)을 일컫으며 이 통신에는 합의된 규칙(프로토콜)이 있음프로토콜 : 컴퓨터간 통신을 하기위한 규칙. 결국에는 0과 1의 전달이지만 0과 1의 배치에는 통신이 가능하도록 하는 룰이 있음. 예를들어 숫자의 나열 중에 몇번째 자리는 메타데이터이며 몇번째 자리이후는 실제 데이터다 등의 규칙이 존재함.택배박스의 택배송장(목적지, 내용물, 분류 등등의 정보)와 유사한 역할을 하며, 한번에 end to end 통신이 아니기고 중개하는 장치들이 많이 관여하기때문에 그게 걸맞게 여러가지 프로토콜이 존재함물리적 범위에 따른 네트워크 구분물리적 커버 범위에 따라서 지역의 LAN(Local Area Network), 무선의 WLAN(Wireless), ISP.. CS공부 - 기타공부 양자 컴퓨터란 무엇일까요?양자 컴퓨터는 양자역학의 원리를 활용하여 계산을 수행하는 새로운 유형의 컴퓨터입니다. 기존 컴퓨터는 트랜지스터로 이루어진 칩을 사용하여 0과 1의 두 가지 상태로 정보를 저장하고 처리합니다. 반면 양자 컴퓨터는 큐비트 (qubit) 라고 불리는 양자 비트를 사용하여 정보를 저장하고 처리합니다. 큐비트는 0과 1의 상태뿐만 아니라 동시에 0과 1의 상태를 가질 수 있는 양자 중첩이라는 특성을 가지고 있습니다.이러한 양자 중첩과 얽힘 (entanglement) 이라는 또 다른 양자역학적 현상을 활용함으로써 양자 컴퓨터는 특정 종류의 문제를 매우 빠르게 해결할 수 있는 잠재력을 가지고 있습니다. 특정 문제에 대한 빠른 해결: 양자 컴퓨터는 특정 유형의 문제, 예를 들어 소수 분해, 약.. CS공부 - 운영체제 운영체제의 개념 운영체제의 정의운영체제는 하드웨어 자원을 관리하고 다른 프로그램을 실행하기 위해 설계된 소프트웨어(C,C++ 작성)입니다. 엄밀하게는 커널을 지칭하며, 일반적으로는 커널(하드웨어 자원을 직접 조작하는 핵심 영역)과 여러 부가적인 프로그램으로 구성됩니다.커널: 하드웨어 자원 관리 및 보호부가 프로그램(시스템도구): 쉘(GUI, CLI) 등, 사용자와 커널 간 인터페이스 제공쉘 : 사용자(유저)와 운영체제를 연결하는 인터페이스 역할을 합니다.시스템콜 : 쉘과 응용프로그램은 커널영역을 사용하기 위해 **시스템 콜(System Call)** 함수를 호출합니다.응용프로그램과 실행 흐름응용프로그램은 사용자와 운영체제를 연결하는 인터페이스. Library / API (라이브러리 / API) : 응용프.. CS공부 - 컴퓨터구조 1. 컴퓨터 시스템- 컴퓨터 시스템은 하드웨어와 소프트웨어로 구성되어 있다. 하드웨어는 CPU, 주기억장치(RAM,ROM), 보조기억장치, 네트워크로 구성되어있다.- 폰노이만구조 : 메모리에 프로그램(코드)와 데이터를 저장하고 CPU에서 이를 순차적으로 연산해 나가는 구조. 물리적 회로의 변경없이 메모리 내의 소프트웨어만 교체하면 새로운 연산을 가능하도록 함. 2. 컴퓨터 3대 구성요소 CPU(Centeral Process Unit) : 명령어를 해석하고 실행하는 부품으로 계산을 위한 산술논리연산장치(ALU), 부품들을 제어하고 명령어를 해석하는 제어장치(Control Unit), 임시저장장치 레지스터로 구성되어있다.메모리 : 코드와 데이터를 저장하는 장치IO Devices : 컴퓨터 내외부 간 정보를 .. CS를 위한 이산수학 정리 이산수학 실수처럼 연속성이 있는 것들이 아니라 주로 정수, 논리 연산같이 서로의 값들이 연속적이지 않고 뚝뚝 떨어져 있거나 구분되어 '셀 수 있는' 것들을 주로 연구하는 학문. 이산수학에 포함된 개념과 기호들은 컴퓨터과학에서 알고리즘, 프로그래밍 언어 이론, 암호학, 계산이론 등의 문제를 연구하는 데 유용함. 이산수학이 컴퓨터과학의 언어인만큼 습득하고 정리할 필요가 있음 집합론 그룹의 정의: 일련의 원소와 이들 원소 간의 연산이 특정 규칙을 만족할 때 형성되는 수학적 개념. 그룹은 집합과 연산이 다음 조건을 만족할 때 형성됨.닫힘(Closure): 모든 연산의 결과가 집합에 속함.결합법칙(Associativity): (a⋅b)⋅c=a⋅(b⋅c)가 모든 a,b,c에 대해 성립.항등원(Identit.. 이전 1 다음