[CS] 운영체제와 컴퓨터
·
CS
운영체제의 역할과 구조운영체제의 역할운영체제의 역할은 크게 네 가지가 있음.1. CPU 스케줄링과 프로세스 관리 : CPU 소유권을 어떤 프로세스에 할당할지, 프로세스의 생성과 삭제, 자원 할당 및 반환을 관리함.2. 메모리 관리 : 한정된 메모리를 어떤 프로세스에 얼마큼 할당해야 하는지 관리함.3. 디스크 파일 관리 : 디스크 파일을 어떠한 방법으로 보관할지 관리함.4. I/O 디바이스 관리 : I/O 디바이스들인 마우스, 키보드와 컴퓨터 간에 데이터를 주고받는 것을 관리함. 운영체제의 구조유저 프로그램이 맨 위에 있고 그 다음으로 GUI, 시스템콜, 커널, 드라이버가 있으며 가장 밑에 하드웨어가 있는 구조임. 그리고 여기서 GUI, 시스템콜, 커널, 드라이버 부분이 바로 운영체제를 지칭함. 참고로 G..
[CS] HTTP
·
CS
HTTP/1.0HTTP/1.0은 기본적으로 한 연결당 하나의 요청을 처리하도록 설계되었음. 이는 RTT 증가를 불러오게 됨.서버로부터 파일을 가져올 때마다 TCP의 3-웨이 핸드셰이크를 계속해서 열어야 하기 때문에 RTT가 증가하는 단점이 있었음. RTT패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기까지 걸리는 시간이며 패킷 왕복 시간 RTT의 증가를 해결하기 위한 방법매번 연결할 때마다 RTT가 증가하니 서버에 부담이 많이 가고 사용자 응답 시간이 길어졌음. 이를 해결하기 위해 이미지 스플리팅, 코드 압축, 이미지 Base64 인코딩을 사용하곤 했음. 이미지 스플리팅많은 이미지를 다운로드받게 되면 과부하가 걸리기 때문에 많은 이미지가 합쳐 있는 하나의 이미지를 다운로드 받고, 이를 기반으로 bac..
[CS] IP 주소
·
CS
ARP컴퓨터와 컴퓨터 간의 통신은 흔히들 IP 주소 기반으로 통신한다고 알고 있지만 정확히 말하자면 IP 주소에서 ARP를 통해 MAC 주소를 찾아 MAC 주소를 기반으로 통신함. APR(Address Resolution Protocol)란 IP 주소로부터 MAC 주소를 구하는 IP와 MAC 주소의 다리 역할을 하는 프로토콜임.ARP를 통해 가상 주소인 IP 주소를 실제 주소인 MAC 주소로 변환함. 이와 반대로 RARP를 통해 실제 주소인 MAC 주소를 가상 주소인 IP 주소로 변환하기도 함. 위의 그림처럼 장치 A가 ARP Request 브로드캐스트를 보내서 IP 주소에 해당하는 MAC 주소를 찾음. 그러고 나서 해당 주소에 맞는 장치 B가 ARP Reply 유니캐스트를 통해 MAC 주소를 반환하는 ..
[CS] 네트워크 기기
·
CS
네트워크는 여러 개의 네트워크 기기를 기반으로 구축됨. 네트워크 기기의 처리 범위네트워크 기기는 계층별로 처리 범위를 나눌 수 있음. 물리 계층을 처리할 수 있는 기기와 데이터 링크 계층을 처리할 수 있는 기기 등이 있음. 그리고 상위 계층을 처리하는 기기는 하위 계층을 처리할 수 있지만 그 반대는 불가함. 애플리케이션 계층 : L7 스위치인터넷 계층 : 라우터, L3 스위치데이터 링크 계층 : L2 스위치, 브리지물리 계층 : NIC, 리피터, AP 애플리케이션 계층을 처리하는 기기애플리케이션 계층을 처리하는 기기로는 L7 스위치가 있음. L7 스위치스위치는 여러 장비를 연결하고 데이터 통신을 중재하며 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비임. L7 스위치는 로..
[CS] TCP/IP 4계층 모델
·
CS
인터넷 프로토콜 스위트(internet protocol suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 포토콜의 집합이며, 이를 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명하기도 함. 계층 구조TCP/IP 계층은 네 개의 계층을 가지고 있으며 OSI 7계층과 많이 비교함. TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른다는 점이 다름. 이 계층들은 특정 계층이 변경되었을 때 다른 계층이 영향을 받지 않도록 설계되었음. 애플리케이션 계층애플리케이션(application) 계층은 FTP, HTTP, SSH, SMTP, DNS 등 ..