https://computerlove.tistory.com/entry/%EC%9D%B8%ED%84%B0%EB%84%B7-%ED%86%B5%EC%8B%A0 인터넷 통신 인터넷에서 컴퓨터 둘은 어떻게 통신할까? 클라이언트 서버 이런식으로 통신하게 되는데... 그런데 중간에 인터넷이 들어가게되면? 조금 복잡해진다. 예를 들어서 나는 한국에 사는데 내가 computerlove.tistory.com 한국에 있는 내가 미국에 있는 친구에게 "Hello, world!"라는 메세지를 보내야 한다. 뭔가 최소한의 규칙이 있어야 한다!.. IP 주소라는 것을 통해 가능해진다. 먼저 클라이언트인 내가 주소를 부여받아야 한다. 한국에 있는 나(클라이언트)의 IP : 100.100.100.1 미국에 있는 친구(서버)..
CS지식들/CS
인터넷에서 컴퓨터 둘은 어떻게 통신할까? 클라이언트 서버 이런식으로 통신하게 되는데... 그런데 중간에 인터넷이 들어가게되면? 조금 복잡해진다. 예를 들어서 나는 한국에 사는데 내가 메세지를 보내야 하는 친구는 미국에 산다. 그러면 인터넷 망을 통해서 "Hello, world!" 라는 메세지를 보내야하는 것 그런데 인터넷이 단순하지 않다... 중간에 해저 광케이블이 있을 수도 있고 이 메세지가 인공위성을 통해 내려갈 수도 있는거고, 수 많은 중간 노드 서버들을 거쳐서 메세지가 목적지까지 안전하게 넘어가야 한다. 도대체 어떤 규칙으로 어떻게 넘어갈까? 어떻게 이 수 많은 복잡한 상황을 잘 헤쳐서 목적지 까지 잘 도착하는지는 ?? IP에 대해 학습을 해야 알 수 있다.
Computer는 H/W와 S/W로 구성된다. S/W는 Application과 System S/W로 구분된다. 가장 대표적인 System S/W는 OS(Operation System)이다. 프로그램, 프로세스, 스레드 프로그램은 설치하는 것이다. 설치된 프로그램을 실행하면 프로세스(PID)가 생성된다. 스레드는 프로세스 속에 존재하는 실행(연산)단위이다. 스레드는 프로세스에게 할당된 자원(메모리)을 공유한다. 내 컴퓨터에 실행중인 프로그램 -> 프로세스 프로세스 안에 스레드라는 단위가 있음. 프로세스는 적어도 하나의 스레드를 가진다. 실행의 다른 이름은 연산이다.(메모리도 쓰고 CPU도 쓰고~) 프로세스에게 할당된 자원 -> 메모리 기억공간(메모리)의 구분 HEAP : Process 전체가 쓴다 - 공용..
원자성 소프트웨어 실행의 관점에서, 연산이 단일하고 분할할 수 없을 때 이 연산을 원자적(atomic)이라고 한다. 동기화 lock, unlock을 통해 자원을 점유하고 있어야 한다.(OS가 제공) 신호등과 잠금장치의 필요성과 유지하다. 교착상태(Deadlock) 둘 이상의 프로세스가 다른 프로세스가 점유하고 있는 자원을 서로 기다릴 때 무한 대기에 빠지는 상황 교착상태의 발생 조건 1. 상호 배재 한 번에 프로세스 하나만 해당 자원을 사용할 수 있다. 사용 중인 자원을 다른 프로세스가 사용하려면 요청한 자원이 해재될 때까지 기다려야 한다. 2. 점유 대기 자원을 최소한 하나 보유하고, 다른 프로세스에 할당된 자원을 점유하기 위해 대기하는 프로세스가 존재해야 한다. 3. 비 선점 이미 할당된 자원을 강제..
동시성 (Concurrency) : 여러 가지 일이 동시에 진행되는 것 TV를 보는 일과 라면을 먹는 일을 개별 사건의 독립적 사건으로 보는데 그것이 동시에 일어날 수 있는 걸까? 가능하다. -> 동시성이 있는 것. 내가 컴퓨터에서 크롬 브라우저를 실행시켜서 유튜브를 열고 뭘 보고 있다. 다른 한 쪽으로는 어떤 프로그램을 실행해서 뭔가를 다운로드 받고 있을 수 있다. 이때 동시성이 있을까? 있다. 문제될 경우가 없기 때문이다. 병렬성 (Parallelism) : 같은 일을 여러 주체가 함께 동시에 진행하는 것 한명이 하나의 일을 하는 것보다 여러명이 하나의 일을 같이 하는게 더 효율이 높다. 병렬성도 동시성 범주에 들어가는 개념이다. 병렬적이라는 것을 언제 많이 할까? 코인 + 채굴(해시 연산) 그 연산..
Register는 이름이 있다. 주 기억장치는 '일련번호'로 관리한다. 보조 기억장치(HDD의 논리적 구조) 암이 왔다갔다 하면서 디스크에다가 정보를 쓰기도 하고 읽기도 하는 것. 중앙에 스핀들모터가 고속으로 회전. HDD 스펙을 이야기 할 때 디스크 회전 속도를 기준으로 삼는다. 빠를 수록 성능이 높다. 관리체계 : Track Sector로 나뉜다. ex) 아파트 '~동 ~호' 랑 비슷 읽는 것은 상관 없는데, 쓰는 것은 한 파일이 저장되어 있는 공간에 또 덮어쓰기하면(Overwrite) sector 하나 하나에 쓰기 기능이 몇 십만번 하면 망가져서 못 쓰게 된다.(Bad sector) HDD는 그래서 빈 공간을 위주로 쓴다. 512bytes -> sector 하나 RAM에서는 일련번호 찾으면 찾아졌는..