본문 바로가기
반응형

cs공부62

운영체제 - 페이지 교체와 프레임 할당(요구 페이징, 페이지 교체 알고리즘(FIFO,최적,2차 기회, LRU), 스래싱, 프레임 할당) 요구 페이징(Demand Paging) 처음부터 모든 페이지를 적재하지 않고 필요한 페이지만을 메모리에 적재하는 기법이다. 이름 그대로 요구되는 페이지만 적재한다. 순수 요구 페이징(Pure Demand Paging) 아무런 페이지도 메모리에 적재하지 않은 채 무작정 실행부터 할 수도 있다. 이 경우 프로세스의 첫 명령어를 실행하는 순간부터 페이지 폴트가 계속 발생하게 되고 실행에 필요한 페이지가 어느 정도 적재된 이후부터는 페이제 폴트 발생 빈도가 떨어진다. 이를 순수 요구 페이징기법이라고 한다. 요구 페이징 시스템이 안정적으로 작동하려면 해결되어야할 2가지 문제 페이지 교체 요구 페이징 기법으로 페이지들을 적재하다보면 언젠간 메모리가 가득 차게 된다. 당장 실행에 필요한 페이지를 적재하려면 적재된 페.. 2024. 3. 4.
운영체제 - 페이징의 쓰기 시 복사(copy on write), 계층적 페이징 이론적인 fork() 프로세스는 기본적으로 자원을 공유하지 않는다. 그러므로 부모 프로세스가 적재된 별도의 공간에 자식 프로세스가 통째로 복제되어 적재된다. 때문에 프로세스 생성 시간이 지연되고 메모리가 낭비된다. 쓰기 시 복사(copy on write) 부모 프로세스와 동일한 자식 프로세스가 복제되어 생성되면 자식 프로세스는 부모 프로세스와 동일한 프레임을 가리킨다. 만약 쓰기 작업이 없다면 이 상태 유지된다. 부모 프로세스/자식 프로세스 둘 중 하나가 페이지에 쓰기 작업 수행 시 해당 페이지는 별도의 공간으로 복제되므로 프로세스 생성 시간 절, 메모리 절약이 된다. 프로세스 테이블의 크기는 생각보다 작지 않다. 프로세스를 이루는 모든 페이지 테이블 엔트리를 메모리에 두는 것은 큰 낭비이다. 프로세스를.. 2024. 3. 4.
운영체제 - CPU 스케줄링(우선순위, 스케줄링 큐, 선점 및 비선점형 스케줄링) CPU 스케줄링이란? 운영체제가 프로세스들에게 공정하고 합리적으로 CPU자원을 배분하는 것이다. 가장 공정한 CPU 스케줄링은 무엇일까? CPU를 사용하고 싶ㅇ하는 프로세스들에게 차례로 돌아가면 CPU를 이용하게 하는 방법이 있다. 즉 먼저 말한 프로세스 순서대로 CPU를 이용하게 하는 방법이다. 하지만 이는 좋은 방법이 아니다. 프로세스마다 우선순위가 다르기 때문이다. 예를 들어 입출력 작업이 많은 프로세스(=입출력 집중 프로세스)의 우선순위는 CPU작업이 많은 프로세스(=CPU 집중 프로세스)보다 우선순위가 높다. CPU 버스트(CPU burst)는 CPU를 이용하는 작업 입출력 버스트(I/O burst)는 입출력을 기다리는 작업이라 부른다. 즉 프로세스는 일반적으로 CPU버스트와 입출력 버스트를 반.. 2024. 1. 21.
데이터베이스 - DBMS언어(DDL,SDL,VDL,DML,SQL) DBMS에서 사용되는 언어들은 데이터베이스의 다양한 측면을 정의하고 관리하는데 사용된다. DDL(data definition language) conceptual schema를 정의하기 위해 사용되는 언어이다. 일부 DBMS는 internal schema까지 정의할 수 있는 경우도 있다. SDL(storage definition laguage) internal schema를 정의하는 용도로 사용되는 언어이다. 데이터베이스의 내부 구조와 저장방식을 정의하는데 사용된다. 요즘은 특히 relational DBMS에서는 SDL이 거의 없고 파라미터 등의 설정 옵션으로 제어하는 경향이 있다. VDL(view definition language) external schemas를 정의하기 위해 사용되는 언어이다. 사.. 2023. 9. 13.
데이터베이스 - three-schema architecture three-schema architecture database system을 구축하는 architecture 중의 하나이다. user application으로 부터 물리적인(phyiscal) database를 분리시키는 목적으로 데이터베이스 시스템을 세 가지 레벨로 분리하여 관리하고 설계한다. 각각의 level마다 schema가 정의되어 있다. 각 레벨은 extenral schemas(or user views) at external(or view) level, conceptual schemas at conceptual level,internal schemas at internal level이 존재한다. 01 external schema 데이터베이스 시스템을 사용하는 최종 사용자 또는 응용 프로그램을 위한.. 2023. 9. 13.
데이터베이스 - DB, DBMS,Metadata,SQL,Schema,Database System 정의 DB(DataBase) 전자적으로(electronically) 저장되고 사용되는 관련있는(related) 데이터들의 조직화된 집합(organized collection) DBMS(Database Management Systems) 사용자에게 DB를 정의하고 만들고 관리하는 기능을 제공하는 소프트웨어 시스템이다. SQL을 사용하여 데이터를 조작한다. 대표적인 예 : PostgreSQL, MySQL, ORACLE, Microsoft SQL Server DB를 정의하다보면 부가적인 데이터가 생길 수 있다. 사진으로 예시로 들으면 사진을 찍고나면 사진의 해상도, 찍힌 날짜등의 정보같은 것들이다. metadata 부가적인 데이터 01 descriptive Metadata database의 물리적 구조와 기술적 세.. 2023. 9. 13.
반응형