CS11 [인프런] 모든 개발자를 위한 HTTP 웹 기본 지식 https://www.inflearn.com/course/http-%EC%9B%B9-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC?gad_source=1&gclid=Cj0KCQjw1um-BhDtARIsABjU5x5iHGqZVlSSEzI6JjGTgQw69fvEZ8C2E4cqG7tYMtY4OZO83dXbA64aAnxPEALw_wcB 모든 개발자를 위한 HTTP 웹 기본 지식 강의 | 김영한 - 인프런김영한 | , [사진] 📣 확인해주세요!본 강의는 자바 스프링 완전 정복 시리즈의 세 번째 강의입니다. 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 로드맵을 먼저 확인해주세요. (바www.inflearn.com목차인터넷 네트워크인터넷 통신IP (인터넷 프로토콜)TCP, UDPPOR.. 2025. 1. 18. 운영체제 - 반효경 #8 Memory Management # 8-1 Memory Management 1 Logical vs. Physical Address 메모리 주소 통해 접근하는 매체 주소가 매겨지는 것으로, 이 주소를 논리적 주소 / 물리적 주소 두 가지로 나눠볼 수 있음 논리적 주소 가상 주소 프로그램이 시작되면 0번째부터 주소 할당 물리적 주소 메모리의 어디에 프로그램이 올라가느냐 1개의 물리적 주소가 존재하고, 이 안에서 통으로 관리됨 주소 바인딩 프로그램 실행 시 독자적 주소 공간이 생성됨 프로그램마다 0번부터 시작되는 독자적 주소가 있는데, 이게 실행되려면 물리적 메모리의 어딘가로 올라가야 하고, 그러면 주소가 바뀌게 됨 = 주소 변환 = 주소 바인딩 = 주소 결정 Symbolic address 메모리 주소를 가지고 프로그래밍하지는 않음 메모리의.. 2023. 5. 16. 운영체제 - 반효경 #7 Deadlock # 7-1 Deadlock 1 교착상태 데드락 = 교착상태 = 더 이상 방법이 없는 상황 The Deadlock Problem Request = 자원 요청 Allocate = 자원 획득 Use = 자원 사용 Release = 자원 반납 Deadlock 발생의 4가지 조건 4가지 조건 모두 만족해야 함 Mutual exclusion = 상호 배제 = 독점 No preemptive = 비선점 = 빼앗기지 않음 Hold and wait = 보유대기 = 자발적으로 가지고 있음 Circular wait Resource-Allocation Graph P = process R = resource 자원 ➡️ 프로세스 화살표 = 이 자원이 이 프로세스에 속해있다, 이 프로세스가 이 자원을 가지고 있다 프로세스 ➡️ 자원.. 2023. 5. 16. 운영체제 - 반효경 #6 Process Synchronization # 6-1 Process Synchronization 1 Initial Attempts to Solve Problem 공유 데이터에 그냥 접근하게 할 순 없지 공유 데이터에 접근하기 전, entry section 만들어서 lock 걸고 Critical section 끝나면 exit section 으로 unlock 프로그램적 해결법의 충족 조건 Mutual exclusion 여러 프로세스 동시 접근 불가하게 모든 프로세스의 접근을 막음 Progress Mutual exclusion 을 잘못 구현하면 아무도 critical section 에 없는데 어떤 프로세스도 접근할 수 없는 상황을 초래할 수 있음 Progress는 위 문제 발생하지 않도록, critical section이 비어있을 때 한 프로세스가 사.. 2023. 5. 13. 운영체제 - 반효경 #5 CPU Scheduling & Process Synchronization # 5-1 CPU Scheduling CPU Scheduler & Dispatcher CPU Scheduler Ready 상태의 프로세스를 통해 이번에 CPU 쓸 프로세스 선택 Dispatcher CPU Scheduler 에 의해 선택된 프로세스에게 CPU 제어권을 넘김 = Context switch = 문맥 교환 CPU 스케줄링이 필요한 경우 = 프로세스에게 아래와 같은 상태 변화가 있는 경우 Running ➡️ Blocked (ex. I/O 요청하는 시스템콜) Running ➡️ Ready (ex. 할당 시간 만료로 timer interrupt) Blocked ➡️ Ready (ex. I/O 완료 후 interrupt) Terminate 비선점형 선점형 nonpreemptive preemptive 강.. 2023. 4. 10. 운영체제 - 반효경 #4 Process Management # 4-1 Process Management 1 프로세스 생성 부모 프로세스 부모가 자식을 만드는데, 보통 복제 생성 부모 1이 자식 여럿을 만들 수 있음 – 트리 형태 원칙적으로 자식과 자원을 공유하지는 않음 생성된 자식은 부모와 별개의 프로세스 = 경쟁 관계 공유하지 않는 모델이 일반적 부모가 기다리는 = wait = blocked 되는 모델도 있음 자식 프로세스 자식은 부모의 주소 공간을 그대로 복제 운영체제에 있는 데이터인 PCB, 자원 등도 똑같이 복사 이론적으로 이렇게 복제 생성하면 컴퓨터 내의 모든 프로세스는 다 같은 일만 해야 함 그렇기에 일단 복제 후 그 복제된 곳에 새로운 프로그램을 덮어씌울 수 있음 이렇게 서로 다른 프로그램이 한 컴퓨터에 존재 가능 복제 생성 = fork 시스템콜 복.. 2023. 3. 17. 운영체제 - 반효경 #3 Process # 3-1 Process 프로세스의 개념 프로세스 실행 중인 프로그램 실행 시작하면 독자적인 주소 공간 만듦 이 프로세스가 CPU 잡으면 프로그램 카운터라는 레지스터가 이 프로세스의 코드 어느 부분을 가리키고 있고 그럼 매순간 인스트럭션(기계어)를 하나씩 읽어 CPU 안으로 불러들이고 레지스터 안에 어떤 값을 넣고, 연산 후(= ALU), 그 결과를 레지스터에 저장하거나 바깥의 메모리에 저장하는 방식으로 계속 진행 이 프로세스가 어느 시점에 와있는지 규명하는 것 프로세스의 현재 상태를 나타내는 데 필요한 모든 것 문맥 전체적인 문장 구조를 이해해야 무슨 의미인지 알 수 있음 프로세스 개념에서의 문맥 실행부터 종료까지 볼 때 이 프로그램을 어떻게 실행하는지, 어느 시점에 있는지 등 이해 가능 특정 시점을 .. 2023. 3. 13. 운영체제 - 반효경 #2 System Structure & Program Execution # 2-1 System Structure & Program Execution 1 컴퓨터에 대한 거시적 분류 CPU 메모리 I/O 디바이스 input output CPU ⬅️ I/O 디바이스 CPU ➡️ I/O 디바이스 input 디바이스 - 키보드, 컴퓨터, ... output 디바이스 - 모니터, 프린터, ... 결과를 보여주는 역할 컴퓨터 시스템 구조 메모리 CPU의 작업 공간(원칙적으로 CPU만 접근) CPU는 매 클럭 사이클마다 메모리에서 인스트럭션(instruction; 기계어)을 읽음 메인 메모리는 CPU만 접근 I/O 디바이스는 자신의 로컬 버퍼가 존재하기에 데이터를 받아 작업하고, 버퍼가 쌓이면 CPU가 그곳의 내용을 읽어 자신의 작업 영역인 메모리에 복사 CPU는 메모리 / 로컬 버퍼에 .. 2023. 2. 16. 운영체제 - 반효경 #1 Introduction to Operating Systems # 수강 배경 CS 지식에 대한 갈급함을 느끼던 차, 동료들이 적극 추천하던 강의 중 하나가 바로 반효경 교수님의 운영체제였다. Java 라는 언어에 대한 소소한 지식을 지닌 채 개발 세계에 뛰어든 비전공자에게 있어, 운영체제란 암흑 그 자체였다. 흥미가 생겼다는 이유만으로 가볍게 산책하듯 개발 세계에 발을 내디뎠던 과거의 내가 참 무모했구나 싶었다. 어두운 기저에서 깊이조차 가늠되지 않는, 어떠한 거대한 시스템이 나를 기다리고 있었던 것이다! 강의를 듣는 내내 모르는 단어 투성이라 어질어질했다. 그러나 작은 설명도 놓치지 않기 위해 고군분투한 시간을 녹여낸 서툴고도 보람찬 여정을 기록해보고자 한다. # 1-1 강의 소개 강의 내용 운영체제 개요 컴퓨터시스템의 구조 프로세스 관리 CPU 스케줄링 병행 제.. 2023. 2. 8. [CS] About IDE 1. 정의 Integrated Development Environment (통합 개발 환경) 공통된 개발자 툴을 하나의 그래픽 사용자 인터페이스(Graphical User Interface, GUI)로 결합하는 애플리케이션을 구축하기 위한 소프트웨어 2. 구성 요소 2.1. 소스 코드 편집기 시각적 신호 활용한 구문(Syntax) 강조 등의 기능 포함 ➡ 소프트웨어 코드 작성을 돕는 텍스트 편집기로, 언어별 자동 완성 기능과 코드 작성 중 버그 검사 제공 2.2. 로컬 빌드 자동화 컴퓨터 소스 코드를 바이너리 코드로 컴파일링하고, 바이너리 코드를 패키징하고 자동화 테스트를 실행하는 등 간편하고 반복 가능한 태스크를 개발자가 사용하는 소프트웨어의 로컬 빌드를 생성할 때 자동화해주는 유틸리티 2.3. 디버거.. 2022. 3. 2. [Windows] 명령 프롬프트 CMD 관리자 권한 실행 1. 명령 프롬프트 CMD 관리자 권한으로 실행 Windows key + R ➡ 실행창 켜기 ➡ cmd 입력 ➡ 그 상태에서 Ctrl + Shift + Enter 누르면 ➡ 관리자 권한의 명령 프롬프트 실행 2. 항상 명령 프롬프트 CMD 관리자 권한으로 실행 시작 ➡ 검색창에 cmd 입력 ➡ 명령 프롬프트 ➡ 파일 위치 열기 클릭 ➡ 명령 프롬프트 바로가기 아이콘 우클릭 ➡ 속성 ➡ 고급 ➡ 관리자 권한으로 실행 체크 ➡ 고급 속성창 확인 ➡ 속성창 확인 2021. 11. 24. 이전 1 다음