반응형

CS 19

태태개발일지(소켓 통신)

소캣통신 서버와 유저가 데이터를 주고받으려면 -> http 요청을 통해서 클라이언트: 데이터줘. 서버: 오케이. 실시간 리소스를 주어야할 때, 클라이언트: 내가 계속 요청을 해줘야해? 너가 그냥 알아서 보내주면 되잖아. 서버: 그럼 내가 server-sent event나 Web socket을 사용해볼게 server - sent event -> http통신을 종료안하고 계속 유지(단방향) WebSocket -> http요청을 보내서 클라이언트: 오늘부터 웹소켓으로 할가? 서버: 좋아 그럼 websocket으로 업그레이드 해놓을게 1. 서버소켓에 클라이언트의 주소와, 포트를 바인딩해준다. 2. 무한 루프를 돌면서 클라이언트의 접속을 대기한다. 3. 클라이언트가 인지 되었을 경우 인풋스트림과 아웃풋 스트림을 ..

CS 2023.10.11

태태개발일지(CS지식)

1. Spring과 Spring boot의 차이점 - Spring과 Spring boot는 모두 스프링 프레임워크를 기반으로 한 자바 웹 개발 프레임 워크읍니다. 둘 간에는 몇 가지 차이점이 있습니다. - Spring은 개발자가 직접 설정 파일을 작성하고, 스프링 컨테이너를 구성하고, 필요한 빈 객체를 등록하고, 빈 객체간의 의존성을 설정해야하지만, boot는 프로젝트의 설정과 라이브러리 의존성을 자동으로 처리해 주는 기능을 제공하고 Jar파일을 만들 수 있다. - MVC,JPA,Security등의 기능을 자동으로 설정해준다. Actuator라는 모니터링 모니터링 기능 2. 스크립트 언어와 컴파일 언어의 차이 - 이미 기계어로 번역된 파일을 컴퓨터가 실행하므로, 스크립트 언어에 비해 빠르고, 소스코드에 ..

CS 2023.09.21

태태개발일지(운영체제)

일을 쉬지않고 계속 시키는 것이 OS의 숙제이다 놀고있는 프로세스가 있다면 실행할 준비가 되어있는 ready 상태의 프로세스를 선택하고, 그 프로세스에 CPU를 할당한다. CPU 스케줄링 결정은 다음의 네 가지 상황에서 발생 1. 한 프로세스가 실행 상태에서 대기 상태로 전환할 때 2. 프로세스가 실행 상태에서 준비 완료 상태로 전환될 때 3. 프로세스가 대기 상태에서 준비 완료 상태로 전환될 때 4. 프로세스가 종료될 때 디스패쳐 작업 - context switch - 사용자 모드로 전환 - 프로그램을 다시 시작하기 위해 사용자 프로그램의 적절한 위치로 이동 디스패치 지연 - 하나의 프로세스를 중지하고 다른 프로세스를 실행시킬 떄 소요되는 시간

CS 2023.09.06

태태개발일지(운영체제)

스레드? CPU 활용의 기본단위 - 스레드ID, PC , 레지스터 집합, 스택으로 구성 단일 스레드(스레드가 한개인 구조를 가지고 있다.) - 스텍, PC, 레지스터 모든게 하나인 스레드 -> 자원을 공유하지 않기 때문에 자원 공유하는 컨트롤을 고려할 필요가 없다. context switch 작업이 불필요하다. CPU가 성능이 좋더라도 활용을 할 수 없다 멀티 스레드(스레드가 여러개인 구조를 뜻한다.) 프로그램을 다수의 실행 단위로 나누어 실행한다. [장점] 대응적 측면: 일부가 차단되거나 장시간 작업 수행시에도 계속해서 실행 가능 자원 공유성: 프로세스의 자원과 상태를 공유, 효율적인 운영 경쟁성: 자신이 속한 프로세스의 자원을 공유하기 때문에, 스레드를 만들고 context switch를 진행하는 것..

CS 2023.09.05

태태코딩(운영체제)

프로세스 프로세스들은 독립적이거나, 협력적이다. 협력 프로세스는 데이터 공유를 포함하여, 프로세스들에게 영향을 주거나 받는다. ps 현재 실행중인 프로세스만 볼 수 있음 ps -ef | grep httpd httpd관련된 실행중인 프로세스를 볼수있음 501 18154 18023 0 2:09PM ttys000 0:00.00 grep httpd PID = 18154 sudo service httpd start -> httpd service 시작해서 확인하기. PID는 중복되지 않게 할당이 된다. 그래서 계속해서 커진다., Kill -9 PID를 사용하면 현재 실행중인 프로세스를 종료 시킬 수 있다. 협력: 정보 공유, 계산 가속화, 모듈성, 편의성 프로세스 간 통신 기법을 필요로한다. 소켓(Socket) -..

CS 2023.08.31

태태개발일지(프로세스)

프로세스 - 실행중인 프로그램 - 디스크에 저장된 수동적 파일이 메모리에 적재될 때, 비로소 프로세스가 됨 메모리상에서 프로세스가 특정위치에 할당을 받아서, 자기 메모리를 동적으로 조절하게 된다. Text : 실행코드가 존재 (프로세스) data: 어떤 영역에서 접근해도 가능한 데이터 heap: 프로그램 실행시 동적으로 할당되는 메모리 stack: 함수 호출 시 임시 데이터 저장 New Running Waiting Ready Terminated PCB 프로세스 제어 블록: 프로세스가 생성되면 같이 생성되고 종료되면 같이 없어진다. -> 스케줄링을 어떻게 해야하는지 알려줌 state , number , counter , registers, memory limits 프로세스 스케줄링 프로세스가 시스템에 들어..

CS 2023.08.25

태태개발일지(운영체제)

- 프로그램 실행 - I/O 수행 - 파일시스템 조작 - 통신 - 리소스 할당 - 로깅 - 보호와 보안 운영체제에게 무언가를 사용하고 싶다고 말하고 싶으면 -> 시스템 콜을 하면 된다. (나 이거 쓰고싶어) 사용자와 커널이 분리가 되어있다. -> 사용자가 주요 자원을 건들일 경우 큰일 날 수 있기 때문에 사용자와 커널의 공간이 분리 되어있고, System call을 통해서 Kernel에 요청을 하면 된다.

CS 2023.08.24

태태개발일지(운영체제)

컴퓨터 시스템의 기본 구성 1. 하드웨어(cpu, 메모리 , 입출력장치) 2. 운영체제 3. 응용 프로그램 4. 사용자(사람, 기계, 컴퓨터) 운영체제 - 커널(컴퓨터에서 항상 실행되는 하나의 프로그램) - 시스템 프로그램(모든 프로그램을 포함, 시스템 운영과 관련 있는 응용 프로그램) 운영체제가 하는 일 - 자원 할당 - 모든 리소스 관리 - 자원에 대한 충돌되는 요청 사이에서 효율적이고, 공정하게 사용 리소스 분배 운영체제는 제어 프로그램 -프로그램 실행을 제어, 오류 및 부적절한 사용 방지 CPU, 마우스, 입출력장치 , 메모리 등이 하나의 시스템 버승 Bootstrap - Pc의 전원버튼을 누른 직후부터, 운영체제가 메모리에서 동작하기 시작 할 때까지의 모든 과정 1) 메인보드에 전력 공급 2) ..

CS 2023.08.22

네트워크

wireshark를 이용하여 간단한 용어정리하기 ---> 이 모든게 다같이 묶여서 사용하는 것을 "인캡슐레이션"이라고 한다. IP4 ---> 먼거리를 통신하기 위해 사용하는 통신규약 Ethernet II --> 먼거리가 통신이 닿아서 여러가지 컴퓨터중에 식별할 때 사용하는 규약 TCP--->나의 컴퓨터가 네이버의 서버와 연결하기 위해 사용된 것. 2계층에서 하는일 ----> 어떤 장비가 어떤 장비에게 보내는지 흐름을 제어하고, 그 데이터에 오류가 있는지 체크를 한다. 하지만 같은 네트워크 대역과 통신할때만 사용하고, 다른 네트워크 대역을 사용하려면 3계층을 이용해야한다. MAC주소 --> 물리적인 주소 6byte이다 16진수 두개당 1바이트 ex) 6C-29-95 04-EB-A1 Ethernet II 프..

CS/네트워크 2023.03.13
반응형