CS 27

[OS] 운영체제의 프로세스 관리

운영체제의 여러 기능중에는 프로세스 관리가 있다. 이번 게시글에서는 프로세스란 무엇이며, 운영체제에서 어떻게 관리되는지 공부해보자. Process란 무엇인가? A process is a program in execution. : 프로세스란 실행중인 프로그램을 말한다. 컴퓨터의 저장소(HDD) 에는 많은 파일과 프로그램들이 있는데, 이를 실행시키기 위해 메모리에 load하면 프로세스로 불리는 것이다. 그리고 이 때, 프로세스는 다음 그림과 같이 메모리에 여러 영역으로 나뉘어 저장된다. o Text section : 소스코드의 명령어 o Data section : 소스코드의 전역변수 o Heap section : 동적 메모리 할당 (dynamic memory allocation) - ex. malloc, n..

CS/OS 2021.07.23

[OS] 운영체제가 도대체 뭘까?

우리가 흔히 알고있는 Windows, Linux, MaxOS, Android, IOS, Ubuntu 등등.. 운영체제(OS)는 많은 종류들이 있다. 그렇다면 OS란 무엇이고 어떤 기능들을 수행하는지 한 번 알아보자. 운영체제(OS: Operating System)란, A software that operates a computer system The one program running at all times on the computer 한마디로 표현하자면 컴퓨터 시스템을 운영하기위한 소프트웨어 이다. OS는 컴퓨터를 켜면 제일 먼저 실행되어 항상 동작하는 프로그램으로, 컴퓨터가 정보를 처리할 수 있도록 한다. 예를 들어, OS는 프로그램의 명령어들을 실행하며 동작하도록 하고, I/O 기기들을 제어하기도 ..

CS/OS 2021.07.17

[Network] 라우터 vs 스위치_(1)라우터(Router)란?

** 관련게시글 참고: 2022.03.05 - [CS/Network] - [Network] 라우터 vs 스위치_(2)스위치(Switch)란? 스위치와 라우터의 가장 큰 특징은 스위치는 동일 네트워크 내에서 동작, 라우터는 여러 네트워크 사이에서 동작한다는 것이다. 이 게시글에서는 각각의 특징과 데이터 전송흐름에 대해서 공부해보려 한다. - 라우터란 출발지에서 목적지까지 데이터를 전송할 때, 중간에는 수많은 네트워크들이 존재하고, 라우터로 서로 연결되어있다. 라우터에서 목적지와 관련된 네트워크를 판단해 해당 라우터로 IP패킷 데이터를 전송하는것을 라우팅이라고 한다. 라우터는 네트워크계층에서 동작하며, 이 과정에서 네트워크 인터페이스 층 프로토콜 헤더(이더넷 헤더 등) 이 교체된다. 라우터에는 복수의 인터페..

CS/Network 2021.05.20

[Network] 이더넷 vs 무선LAN_(2)무선LAN이란?

** 이전게시글 참고: 2021.05.20 - [CS/Network] - [Network] 이더넷(Ethernet)이란? 지난 게시글에서는 인터페이스 간 데이터 전송에 쓰이는 프로토콜 중 이더넷(유선)에 대해서 공부해보았다. 이번에는 나머지 하나인 무선 LAN에 대해 알아보자. - 무선LAN이란 : 유선 케이블 배선이 없이 LAN을 만드는 기술로, 데이터의 전송메체는 전파이다. 무선LAN을 구성하는 구조는 Infrastructure와 Ad Hoc 두가지가 있다. (무선LAN이라고 하면 대부분 Infrastructure 모드를 말한다) 1) Infrastructure 모드: 유선 이더넷 네트워크와 연결되어있는 무선 LAN 엑세스포인트, 기기를 엑세스포인트에 연결(*어소시에이션) 하기 위한 무선 LAN인터페..

CS/Network 2021.05.20

[Network] 이더넷 vs 무선LAN_(1)이더넷(Ethernet)이란?

** 관련게시글 참고: 2021.05.20 - [CS/Network] - [Network] 무선LAN이란? 동일 네트워크 내에서 인터페이스 간 데이터 전송에 쓰이는 프로토콜에는 이더넷(유선)과 무선LAN이 있다. (->네트워크 인터페이스 층) 그 중에서 이더넷에 대해 알아보자. - 이더넷이란 LAN, WAN 등의 네트워크 환경에서 각 기기들이 케이블선(전송매체)을 통해 데이터를 주고받을 수 있도록 만들어진 기술이다. 이 때, MAC(Media Access Control Address)주소를 통해서 이더넷 인터페이스를 특정한다 (각각의 기기를 구별) 이더넷 헤더는 출발지/목적지 MAC 주소와 타입코드를 포함한다 - 이더넷 연결형태 (토폴로지 topology) 1) 버스형 (Bus(=Line) topolog..

CS/Network 2021.05.20

[Network] 프록시서버_(2)Proxy Server와 NAT는 어떻게 다를까?

** 이전게시글 참고: 2021.05.16 - [CS/Network] - [Network] 프록시서버_(1)Forward Proxy와 Reverse Proxy의 차이 2021.05.12 - [CS/Network] - [Network] 공인IP와 사설IP 변환 (NAT, NAPT) 지난 게시글에서 프록시 서버와 포워드/리버스 프록시에 대해서 알아보았는데, 내용을 공부하다보니 NAT와 기능이 비슷하여 차이점이 궁금해졌다. [공통점] Proxy와 NAT 모두 IP변환이 이루어져 목적지에서 실제 출발지 IP를 알 수 없다. 보안성 증가 효과 있다. [차이점] (Forward) Proxy Server NAT 애플리케이션 계층에서 동작 (-> HTTP, FTP) 네트워크 계층에서 동작 (-> IP 패킷 수정) 출발..

CS/Network 2021.05.16

[Network] 프록시서버_(1)Forward Proxy와 Reverse Proxy의 차이

프록시서버(Proxy Server) : 웹 클라이언트와 웹 서버 사이에서 접속을 대행하는 서버이다. 프록시 서버의 위치에 따라서 기능과 목적이 약간씩 다르며, 아래와 같이 2가지로 분류된다. (1) 포워드 프록시 (Forward Proxy) [특징] - 프록시 서버가 LAN망 내부에 위치한다. - 클라이언트는 웹 브라우저에서 프록시서버를 사용하도록 설정한다. - 캐시 기능을 사용하여 (목적지 요청 내용을 Proxy에 저장) 성능 향상이 가능하다. - 클라이언트는 프록시서버로 요청을 보내고, 다시 프록시서버가 목적지 서버로 요청하기 때문에 목적지는 실제 출발지 IP를 알 수 없다. (접속우회) - 프록시서버를 통해 클라이언트PC에서 접속 요청하는 웹사이트들을 확인 가능하다. - 접속제한 (URL 필터링, ..

CS/Network 2021.05.16

[Network] 웹브라우저와 웹서버간의 통신 (HTTP)

HTTP 프로토콜 (Hyper Text Transfer Protocol) : 웹브라우저(Client) 웹 애플리케이션 서버(WAS) 간의 요청(Request)/응답(Response) 프로토콜. 주로 HTML 파일 전송을 위해 사용된다. (쿠키 or 이미지, 문서등의 파일도 Request, Response로 전송될 수 있음) 메세지 구조 - HTTP Request Request Line: 요청 *메소드, URI, HTTP 버전 정보 Message Header: 웹브라우저와 데이터 정보 (생략가능) Blank : 공백라인 Entity Body: POST메소드로 전송할 때, 데이터 (생략가능) *주요 메소드: GET, POST, PUT, DELETE, HEAD, CONNECT - HTTP Response St..

CS/Network 2021.05.15

[Network] DNS 서버란.

DNS (Domain Name Server) : IP주소를 사용자가 이해할 수 있는 호스트명(메일주소, URL 등..) 으로 변환하여 저장하는 서버 - 서버 내에 호스트명 | IP주소를 매핑한 정보 (=리소스 레코드) 를 테이블에 저장 - 사용자가 호스트 이름으로 요청할 때, 자동으로 DNS서버로 IP를 질의하는 기능이 OS에 내장되어 있음 (=DNS Resolver) - DNS서버가 가깝지 않을 경우에는 재귀적으로 질의를 수행하게되며 이렇게 얻어진 결과는 캐시에 저장 [출처] https://book.naver.com/bookdb/book_detail.nhn?bid=16261339 그림으로 배우는 네트워크 원리 한눈에 살펴보는 네트워크의 세계인터넷과 스마트폰의 보급으로 네트워크는 우리와 매우 가까워졌습니..

CS/Network 2021.05.15

[Network] TCP와 UDP 알아보기

TCP (Transmission Control Protocol) UDP (User Datagram Protocol) : 전송계층(Transport Layer) 프로토콜로, 호스트에 도착한 데이터를 앱으로 배분하는 역할 - 특징 TCP UDP 연결성 비연결성 속도↓ 속도 ↑ *3-Way Handshake 프로세스를 통해, 전송 데이터의 신뢰성을 보장 각각의 패킷을 독립적으로 전송하여 신뢰성 보장 X 전송결과 확인과정 X 데이터 전송 실패시 재전송 (ACK) 데이터 전송의 연속성↑ 1470byte MSS(Maximum Segment Size) 단위로 데이터 분할 데이터 분할기능이 없어 APP쪽에서 처리 필요 ex) 웹 어플리케이션 요청 ex) IP전화, 스트리밍 * 3-Way Handshake : TCP에서..

CS/Network 2021.05.15