Computer Science

기록을 남기자
Chapter 9-1. Uniprocessor Scheduling
9장에서의 CPU 는 1개만 존재한다. Replacement 의 성능 → Page Fault 수가 증가하면 성능이 낮아진다. Aim of Scheduling Response time Throughput Processor efficiency Fairness 위의 네가지가 스케쥴링의 목표이지만, 애매하고, 동시 만족이 불가능하다. 1. Response time Input ↔ Output 사이의 걸리는 시간 응답 시간이 짧으면 짧을 수록 좋다. 2. Throughput User 의 관점이 아니라 시스템의 관점에서 단위 시간 동안 몇 개의 request 를 완료했는지를 말한다. ⇒ 크면 클수록 성능이 높아진다. 3. Processor efficiency CPU 가 의미 있는 일에 사용된 시간 CPU 는 OS 실..
StayHub: Real-time Accommodation Search and Sharing Platform
https://github.com/ssunbear/database/1. 프로젝트 개요프로젝트 주제 및 설명"StayHub: Real-time Accommodation Search and Sharing Platform"국내 숙박업소를 검색해서 실시간으로 숙박업소에 대한 가격 및 여러 정보를 얻고, 숙박업소에 대한 정보를 사용자들이 직접 등록하여 공유할 수 있는 서비스프로젝트 동기최근 숙박업소의 예약 웹사이트가 증가하는 추세에도 불구하고, 각 사이트에서 제공되는 할인율에 따라 소비자는 같은 숙박업소임에도 더 비싼 가격으로 예약을 하는 상황들이 많아지고 있습니다. 특히 예약사이트의 종류도 다양하고, 객실마다 제시되는 가격도 다양하기 때문에 이에 대한 통합적인 정보를 제공하고자 해당 주제로 프로젝트를 진행하고자..
Psycopg2 설치 및 활용방법
Python과 Postgresql과의 통신은 Psycopg2를 통해 이뤄지게 된다.연동하면서 사용하는 방식1) 기존에 Dbeaver 등을 통해 데이터베이스의 구조를 대략적으로 파악2) Psycopg2를 통해 데이터베이스와 파이썬을 연결3) 커서를 생성하고, 이를 통해 쿼리를 보냄4) 결과를 받아서 활용 모듈에 대한 자세한 설명은 홈페이지를 통해 확인할 수 있다.https://www.psycopg.org/docs/index.html 1. INSTALLpip install psycopg2 를 통해서 패키지를 설치2. CONNECTION AND CURSORconnect 함수를 통해서 데이터베이스에 연결한 뒤(커넥션 생성), 커넥션에서 커서를 생성(하나의 인자로 전달하여 연결하는 방식도 있음)3. SELECTe..
Chapter 8-2. Virtual Memory
Translation Lookaside Buffer Relocation 을 위해서 Page Table 을 이용한다. Page Table 에는 두가지 종류가 있다. hierarchical page table inverted page table hierarchical page table 을 사용할 때는 Page Table 자체가 크기 때문에 이게 2, 3, 4, ... 단계 page table 이 될 수 있다. 2단계 페이지 테이블의 경우 데이터 읽기 → Root Page Table → 2nd Page Table → 정확한 Physical Address 주소 획득 → memory ⇒ 데이터를 읽을 때, memory 에 3번 access ex) 보통 프로그램을 실행할 때 코드 → 데이터 → 코드 → 데이터 →..
Chapter 8-1. Virtual Memory
Types of Memory Real Memory Main Memory Physical 한 메모리 자체를 말한다. Virtual Memory Main Memory + Memory on disk 전체 프로그램을 모두 메모리에 넣지 않고, 프로그램의 일부만 메모리에 넣고 실행을 시키는 방식. 전체 프로그램 중 일부는 진짜 Physical 한 메모리에 들어 있고 나머지는 hard disk에 들어있는채로 시작한다. Execution of a Program Resident set 전체 프로그램 중 메모리에 올라와 있는 부분(page, segment) Interrupt 프로세스가 주소에 접근하려는데, 메모리에 올라와 있지 않은 주소가 필요한 경우 OS 가 Interrupt 를 건다. → 현재 프로세스 Blocked..
Chapter 7-2. Memory Management
Paging System Paging System 은 프로그램을 Page 크기로 나누는 것이다. 주소를 붙일 때 주소는 논리주소가 되는데, Page# + Offset 과 같이 표현한다. Relocation Relocation → Page Table 을 사용한다. Page Table 에서 1번이면, 페이지 1번라는 뜻이고, 이 1번 페이지가 페이지 프레임 몇번에 들어있는지 하는 프레임 번호를 얻어온다. 얻은 프레임 번호를 앞쪽에 적고, 뒤에는 offset을 그대도 사용한다. 프레임번호 + offset ⇒ Physical Address 가 된다. Paging System 에서 알아야 하는 것 가상주소 적는 방법 Physical Address 로 변환하는 방법 계산하는 과정 Protection Memory 를..
Chapter 7-1. Memory Management
Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated efficiently to pack as many processes into memory as possible 우리가 사용하고 있는 메모리 시스템은 프로그램 전체를 통으로 집어넣을 수 없다. 메모리 크기에 비해 프로그램의 크기가 굉장히 큰 것도 있고, 동시에 여러 프로그램들을 실행시키고 싶어서 가능한 많은 프로그램을 메모리에 올려 놓으려는 측면도 있다. 그러다보니 프로그램의 일부만 메모리에 올라와서 실행을 하게 되는 시스템이 구현되었다. 이를 Virtual Memory System 이라고 한다. Virtual Memory Sys..
Chapter 6-2. Concurrency : Deadlock and Starvation
Deadlock Avoidance Logic 시스템의 상태 설명 (global data structure) resource[m] : 원래 이 시스템 안에 자원이 각각 몇개씩 있는지? avaiavble[m] : 그 자원들 중, 할당 후 남아있는 자원? claim[n][m] : 모든 프로세스가, 나는 이 타입의 자원을 몇개까지(최대 동시 요청 가능) 요청할거다 라는 걸 미리 OS에게 미리 얘기해주는 것 alloc[n][m] : 실제 각각의 프로세스들이 현재 가지고 있는 자원, 어떤 자원이 몇개인지? Resource allocation algorithm safe인지 unsafe인지 판단하기 전, 두 가지 조건이 존재한다. → 시스템이 safe인지 unsafe한지 판단할 필요도 없는 그런 상황을 말한다. 1. ..
ssun_bear
'Computer Science' 카테고리의 글 목록 (6 Page)