본문 바로가기

분류 전체보기111

[CS / 운영체제] 3.3 프로세스와 스레드 - 2 안녕하세요! 개발감자입니다.오늘은 CS의 운영체제 중에서도 3.3 프로세스와 스레드에 대해서 정리해보았습니다.3.3.4 PCBPCB(Process Control Block)운영체제에서 프로세스에 대한 메타데이터를 저장한 데이터프로세스 제어 블록프로세스 생성 시 운영체제는 그 프로세스에 해당하는 PCB를 생성함.프로세스의 중요한 정보를 포함 → 일반 사용자가 접근하지 못하는 커널 스택의 가장 앞부분에서 관리메타데이터 : 데이터에 관한 구조화된 데이터를 설명하는 작은 데이터PCB의 구조프로세스 스케줄링 상태 : 프로세스가 CPU에 대한 소유권을 얻은 후의 상태 (준비, 일시 중단 등)프로세스 ID : 프로세스 ID, 해당 프로세스의 자식 프로세스 ID프로세스 권한 : 컴퓨터 자원 또는 IO 디바이스에 대한 .. 2024. 5. 27.
[CS / 운영체제] 3.3 프로세스와 스레드 - 1 안녕하세요! 개발감자입니다.오늘은 CS의 운영체제 중에서도 3.3 프로세스와 스레드에 대해서 정리해보았습니다.3.3 프로세스와 스레드프로세스 : 컴퓨터에서 실행되고 있는 프로그램, CPU 스케줄링의 대상이 되는 작업이라는 용어와 비슷함스레드 : 프로세스 내 작업의 흐름3.3.1 프로세스와 컴파일 과정프로세스프로그램으로부터 인스턴스화된 것구글 크롬 프로그램(실행파일) 실행 → 프로세스 시작컴파일러가 컴파일 과정을 거쳐 컴퓨터가 이해할 수 있는 기계어로 번역 → 실행할 수 잇는 파일이 되는 것프로그램 : C언어 기반의 프로그램 (컴파일 과정 없이 한 줄 씩 읽어들이는 프로그램과는 다름)전처리소스코드의 주석을 제거 → #include 등 헤더 파일을 병합 → 매크로 치환컴파일러오류 처리, 코드 최적화 작업어셈.. 2024. 5. 23.
[CS / 운영체제] 3.2 메모리 안녕하세요! 개발감자입니다.오늘은 CS의 운영체제 중에서도 3.2 메모리에 대해서 정리해보았습니다.3.2 메모리CPU는 메모리에 있는 프로그램의 명령어들을 실행할 뿐임.3.2.1 메모리 계층레지스터, 캐시, 메모리, 저장장치로 구성되어 있음메모리 계층 정리레지스터 : CPU 안에 있는 작음 메모리, 휘발성, 속도 가장 빠름, 기억 용량이 가장 작음캐시 : L1, L2 캐시 지칭, 휘발성, 속도 빠름, 기억용량 적음주기억장치 : RAM, 휘발성, 속도 보통, 기억용량 보통보조기억장치 : HDD, SDD을 일컬으며 비휘발성, 속도 낮음, 기억 용량이 많음계층 낮음→ 계층이 올라갈 수록 가격은 비싸지고, 용량은 작아지며 속도는 빨라짐.계층 높음캐시데이터를 미리 복사해 놓는 임시 저장소빠른 장치와 느린 장치에서.. 2024. 5. 22.
[CS / 운영체제] 3.1 운영체제와 컴퓨터 안녕하세요! 개발감자입니다.오늘은 CS의 운영체제 중에서도 3.1 운영체제와 컴퓨터 에 대해서 정리해보았습니다. 3.1 운영체제와 컴퓨터운영체제 : 하드웨어와 소프트웨어를 관리컴퓨터 : cpu, 메모리 등으로 이루어짐 운영체제(Operating System)사용자가 컴퓨터를 쉽게 다루게 해주는 인터페이스한정된 메모리나 시스템 자원을 효율적으로 분배운영체제와 유사하지만, 소프트웨어를 추가적으로 설치할 수 없는 것 : firmware(펌웨어) 3.1.1 운영체제의 역할과 구조운영체제의 역할CPU 스케줄링과 프로세스 관리CPU 소유권을 어떤 프로세스에 할당할 것인가?프로세스의 생성, 삭제 , 자원 할당 및 반환 관리메모리 관리한정됨 메모리를 어떤 프로세스에 얼만큼 할당할 것인가?디스크 파일 관리디스크 파일을 .. 2024. 5. 21.
[CS / 네트워크] 2.5 HTTP 안녕하세요! 개발감자입니다.오늘은 CS의 네트워크 중에서도 2.5 HTTP에 대해서 정리해보았습니다.2.5 HTTP애플리케이션 계층으로 웹 서비스 통신에 사용됨.HTTP/1.0부터 HTTP/3까지 발전을 해옴2.5.1 HTTP/1.0기본적으로 한 연결당 하나의 요청을 처리하도록 설계됨. → RTT 증가RTT 증가RTT : 패킷이 목적지에 도달하고 나서 다시 출발지로 돌아오기 까지 걸리는 시간, 패킷 왕복 시간서버로부터 파일을 가져올 때마다 TCP의 3-웨이 핸드셰이크를 계속 열어야 하기 때문해결 방안 : 이미지 스플리팅, 코드 압축, 이미지 Base64 인코딩이미지 스플리팅 : 이미지가 합쳐있는 하나의 이미지 다운로드 → position을 이용하여 이미지 표기코드 압축 : 개행 문자, 빈칸을 없애 코드의.. 2024. 5. 19.
[CS / 네트워크] 2.4 IP 주소 안녕하세요! 개발감자입니다.오늘은 CS의 네트워크 중에서도 2.4 IP주소에 대해서 정리해보았습니다. 2.4 IP 주소 인터넷 계층에서는 IP 주소를 씀2.4.1 ARP컴퓨터간의 통신 : IP 주소에서 ARP를 통해 MAC 주소를 기반으로 통신함ARP (Address Resolution Protocol)IP 주소로부터 MAC 주소를 구하는 IP 와 MAC 주소의 다리 역할을 하는 프로토콜논리적 주소 → 물리적 주소로 변환RARP물리적 주소 → 논리적 주소로 변환 2.4.2 홉바이홉 통신IP 주소를 통해 통신하는 과정 (hop by hop)통신 장치에 있는 라우팅 테이블의 IP 를 통해 시작 주소부터 시작하여 다음 IP로 계속해서 이동하는 라우팅의 과정을 거쳐 패킷이 최종 목적지까지 도달하는 통신 라우팅 .. 2024. 5. 18.
[CS / 네트워크] 2.3 네트워크 기기 안녕하세요! 개발감자입니다.오늘은 CS의 네트워크 중에서도 2.3 네트워크 기기에 대해서 정리해보았습니다. 2.3 네트워크 기기2.3.1 네크워크 기기의 처리 범위계층별로 처리 볌위 나눌 수 있음.상위계층을 처리하는 기기는 하위 계층을 처리할 수 있지만, 그 반대는 불가함.계층 별 네트워크 기기 정리애플리케이션 계층 : L7 스위치인터넷 계층 : 라우터, L3 스위치데이터 링크 계층 : L2 스위치, 브리ㅣㅈ물리 계층 : NIC, 리피터, AP2.3.2 애플리케이션 계층을 처리하는 기기L7 스위치여러 장비를 연결, 데이터 통신 중재, 목적지가 연결된 포트로만 전기 신호를 보내 데이터를 전송하는 통신 네트워크 장비로드밸런서라고도 함.서버의 부하를 분산하는 기기클라이언트로부터 오는 요청들을 뒤쪽의 여러 서버.. 2024. 5. 17.
[CS / 네트워크] 2.2 TCP/IP 4계층 모델 안녕하세요! 개발감자입니다.오늘은 CS의 네트워크 중에서도 2.2 TCP/IP 4계층 모델에 대해서 정리해보았습니다. 2.2 TCP/IP 4계층 모델인터넷 프로토콜 스위트인터넷에서 컴퓨터들이 서로 정보를 주고 받는 데 쓰이는 프로토콜의 집합TCP/IP 4계층 혹은 OSI 7계층 모델로 설명하기도 함2.2.1 계층 구조TCP/IP 계층OSI 7계층과 많이 비교함.링크 : 데이터 링크, 물리애플리케이션 : 애플리케이션, 프레젠테이션, 세션애플리케이션 계층FTP, HTTP, SSH 등 응용 프로그램이 사용되는 프로토콜 계층이메일 등 서비스를 실질적으로 사람들에게 제공하는 층전송 계층송신자와 수신자를 연결하는 통신 서비스를 제공하며 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공할 수 있으며 애플리케.. 2024. 5. 15.
[CS / 네트워크] 2.1 네트워크의 기초 안녕하세요! 개발감자입니다.오늘은 CS의 네트워크 중에서도 2.1 네트워크의 기초에 대해서 정리해보았습니다.  2.1 네트워크의 기초네트워크 : 노드와 링크가 서로 연결되어 있거나 연결되어 있으며 리소스를 공유하는 집합노드 : 네트워크 장치 (서버, 라우터, 스위치 )링크 : 유선 또는 무선을 의미 2.1.1 처리량과 지연 시간좋은 네트워크를 만드는 것이 중요함.좋은 네트워크 : 많은 처리량, 짧은 지연시간, 적은 장애 빈도, 좋은 보얀을 갖춘 네트워크처리량(throughput) : 링크를 통해 전달되는 단위 시간 당 데이터단위 : bps(bits per second) : 초당 전송 또는 수신되는 비트 수영향을 받는 요소사용자들의 트래픽네트워크 장치 간의 대역폭 (주어진 시간 동안 네트워크 연결을 통해 .. 2024. 5. 7.
네이버 부스트 캠프 <웹,모바일> 라디오 후기 인공지능 시대에서 결국에는 본질, 문제 해결력이다. 어떻게 문제를 해결할 지 고민하는 것이 개발자가 해야 할 일. 1. 네이버 부스트캠프의 취업 현황 네이버 부스트캠프 참가자 중 약 60%가 성공적으로 취업에 성공했습니다. 이 중 20%는 네카라쿠배 같은 대기업에 입사했고, 나머지 20%는 인프런, 아프리카 TV와 같은 유망한 스타트업에 진출하였습니다. 2. 네트워킹 데이의 기회 네트워킹 데이는 프로젝트에 대한 피드백과 1:1 멘토링을 통해 실무자들과 직접 소통할 수 있는 기회를 제공합니다. 이러한 상호작용은 참가자들이 취업 시장에서 경쟁력을 갖출 수 있도록 큰 도움을 줍니다. 3. 부스트캠프 9기의 새로운 변화 올해는 특히 문제해결력을 강조한 새로운 평가 방식을 도입했습니다. 과거에는 네이버와 라인에서.. 2024. 4. 22.
[BAEKJOON] 1018번 체스판 다시 칠하기 - 완전탐색 안녕하세요, 개발감자입니다. 오늘은 1018번 체스판 다시 칠하기 문제풀이를 해보려고 합니다. 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 1. 문제 풀이 이 문제는 그 다지 어려운 문제는 아닙니다. 완전탐색으로 비교한 다음, 최소의 경우의 수를 구하면 됩니다. 또한, 주어진 수들의 최대의 값도 굉장히 작은 편에 속하기 때문에 완전탐색을 해도 메모리 초과가 될 걱정은 안 해도 될 것 같습니다. 단순히 나열하는 구현보다는 더 최적화된 코드로 작성해보려고 노력했습니다. 2. 코드 import sys s.. 2024. 4. 19.
[알고리즘] 스택과 큐의 개념 및 구현 안녕하세요. 개발감자입니다! 코딩 테스트를 준비하면서 책을 보며 공부하고 있습니다. 책을 보며 공부한 내용을 간단히 정리해보았습니다. 코딩 테스트를 준비하는 다른 분들께 도움이 되었으면 합니다 코딩 테스트 합격자 되기: 파이썬 편 | 박경록 - 교보문고 코딩 테스트 합격자 되기: 파이썬 편 | ★ 코딩 테스트 합격자가 되는 가장 확실한 방법! ★ 프로그래머스 제공, 전문가가 모여 엄선한 빈출 100문제로 철저하게 대비하세요신입 사원 코딩 테스트 product.kyobobook.co.kr 1. 스택 스택의 개념 티슈와 같이 쌓는 개념 선입후출 : 가장 처음에 넣은 것이 가장 마지막에 나온다. stack = [] stack.append(value) # 요소 추가 last_value = stack.pop() .. 2024. 4. 19.