Chapter5 프로세스 스케줄링 1. 스케줄링이란? 여러 개의 프로세스가 시스템 내 존재하기 때문에 자원을 할당 할 프로세스를 선택하여, 자원을 효율적으로 이용해야 한다. → 스케줄링(Scheduling) 자원 관리 시간 분할(time sharing) 관리 - 하나의 자원을 여러 스레드들이 번갈아 가며 사용 ex) 프로세서 공간 분할(space sharing) 관리 - 하나의 자원을 분할하여 동시에 사용 ex) 메모리 1.1 스케줄링의 목적 시스템 성능 향상 성능 지표 응답시간(response time) → 대화형, 실시간 시스템에서 중요 작업 처리량(throughput) → 일괄처리(배치) 시스템에서 중요 자원 활용도(resource utilization) : 자원이 활용된 시간 / 주어진 시간 (최..
Chapter4. 스레드(Thread) 1. 스레드(Thread)의 개념 스레드란? 프로세스의 실행 단위 제어 요소를 가지고 있음(LWP : Light Weight Process) 자원을 공유(code, data, heap) 스레드와 프로세스의 차이 프로세스 : 운영체제로부터 주소 공간, 파일, 메모리 등을 할당받음 스레드 : 프로세스 안에 존재, 같은 프로세스에 속한 다른 스레드와 코드, 데이터 섹션, 그리고 열린 파일이나 신호와 같은 운영체제 자원들을 공유 1.1 스레드의 장점 사용자 응답성 : 일부 스레드의 처리가 지연되어도, 다른 스레드는 작업을 계속할 수 있다 자원 공유 : 효율성이 증가하고 커널의 개입이 감소됨 서로 다른 프로세스가 한 자원을 사용하려면 컨텍스트 스위칭이 자주 발생(커널 개입이..
Chapter3 프로세스 관리 1. 프로세스의 개념 1.1 작업(Job) 실행 할 프로그램 + 데이터 시스템에 실행 요청 전의 상태 1.2 프로세스(Process) 실행을 위해 시스템(커널)에 등록된 작업 각종 자원들을 요청하고 할당 받을 수 있는 개체 프로세스 관리 블록(PCB)을 할당 받은 개체 능동적인 객체 종류 역할 시스템(커널) 프로세스 : 시스템 메모리와 프로세서의 명령에 액세스 사용자 프로세스 : 사용자 코드를 수행 병행 수행 방법 독립 프로세스 협력 프로세스 1.3 자원(Resource) 커널의 관리 하에 프로레스에게 할당/반납 되는 수동적 개체 분류 H/W resources : Processer, memory, disk, Etc. S/W resources : files, installed..
Chapter2 운영체제 개요 2.1 운영체제의 역할 운영체제란? 컴퓨터 하드웨어 바로 윗단에 설치되는 SW H/W를 효율적으로 관리하여 사용자에게 서비스를 제공하는 역할 2.1.1 운영체제의 역할 편리성 : User Interface 효율성 : Resource management Process and Thread management 시스템 보호 2.1.2 컴퓨터 시스템의 구성 System Call Interface : 사용자가 필요한 기능을 사용하기 위해서 커널에 요청할 수 있는 통로로, 커널이 제공하는 기능 중에서 사용자가 사용할 수 있는 것들을 모아둔 것 2.2 운영체제의 구분 2.2.1 동시 사용자수 단일 사용자 한 명의 사용자만 시스템 사용 → 시스템 자원 독점, 자원관리, 보호 방식이 간단 개..
Chapter1 컴퓨터 시스템 개요 1. 컴퓨터 하드웨어 종류 프로세서 - 계산하는 역할 CPU, GPU 메모리 - 저장하는 역할 주 기억장치, 보조 기억장치 주변장치 키보드, 마우스, 모니터, 프린터 등 2. 프로세서(Processor) 컴퓨터의 두뇌 (중앙처리장치) 역할 연산 수행 컴퓨터의 모든 장치의 동작 제어 2.1 레지스터(Register) 프로세서 내부에 있는 메모리 프로세서가 사용할 데이터 저장 컴퓨터에서 가장 빠른 메모리 용도(전용, 범용), 사용자가 정보 변경 가능 여부(가시, 불가시), 저장하는 정보의 종류(데이터, 주소, 상태)로 구별할 수 있음 사용자 불가시 레지스터 프로그램 카운터(PC : Program Counter) : 다음에 실행할 명령어의 주소를 보관 명령어 레지스터(IR ..
Chapter 7 HTTP 헤더2 - 캐시와 조건부 요청 이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다. 1. 캐시의 기본 동작 캐시가 없을 때 데이터가 변경이 되지 않아도 네트워크를 통해서 데이터를 다운로드 받아야 함. 느린 사용자 경험을 야기 캐시를 적용 캐시 가능 시간동안 네트워크를 사용하지 않아도 된다. 네트워크 사용량을 줄여서 빠른 사용자 경험을 만듦 캐시 가능 시간이 초과되면 다시 요청해야 함. 2. 검증 헤더와 조건부 요청 캐시 만료후에도 서버에서 데이터를 변경하지 않았으면, 캐시를 재사용 할 수 있음 → 검증이 필요 검증 헤더 : 캐시 데이터와 서버 데이터가 같은지 검증하는 데이터 Last-Modified : 데이터 최종 수정일 데이터 최종 수정일을 비교하여 검증 함. 검증..
Chapter 7 HTTP 헤더1 - 일반헤더 이 학습 자료는 김영한님의 인프런 강의를 참고해서 만들었습니다. 1. HTTP 헤더 header-field = field-name ":" OWS field-value OWS (OWS : 띄어쓰기 허용, field-name은 대소문자 구별X) 용도 HTTP 전송에 필요한 모든 부가 정보 ex) 메시지 바디의 내용, 크, 압축, 인증, 요청 클라이언트, 서버 정보, 캐시 관리 정보... 표준 헤더가 많고, 필요시에 임의의 헤더 추가 가능 분류(과거) HTTP 헤더 General 헤더 : 메시지 전체에 적용되는 정보 ex) Connection: close Request 헤더 : 요청 정보 ex) User-Agent: Mozilla/5.0 (Macintosh; ....
Chapter 6 HTTP 상태 코드 이 학습 자료는 김영한님의 인 프런 강의를 참고해서 만들었습니다. 1. HTTP 상태 코드 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능 1xx(Informational) : 요청이 수신되어 처리중 2xx(Successful) : 요청 정상 처리 3xx(Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수 없음 5xx : 서버 오류, 서버가 정상 요청을 처리하지 못함. 1.1 2xx 200 OK 201 Created : 요청 성공해서 새로운 리소스가 생성됨 202 Accepted : 요청이 접수되었으나 처리가 완료되지 않음 ex) 배치 처리 204 No Content : 서..