일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- #크랙미3번
- #보안이슈
- #고클린
- #abex크랙미
- java8
- leetcode
- Easy
- #abex
- Spring
- java
- #심플즈
- #리버싱
- #크랙미 10번
- #크랙미
- GraphQL
- #심플즈 크랙미
- #abex크랙미4번
- #크랙미2번
- #파밍
- #크랙미 5번
- 리버싱
- #크랙미 9번
- #크랙미4번
- #보안뉴스
- springframework
- Today
- Total
목록개발 지식/OS (16)
Halo World
| 세그멘테이션 기법 가상 메모리 관리 기법 중 하나로 가상 메모리를 같은 크기의 블록으로 분할하는 페이징 기법과 달리 세그멘테이션 기법은 가상 메모리를 서로 크기가 다른 논리적 단위인 세그먼트(Segment)로 분할하고 메모리를 할당하는 기법이다. > 특징- 세그먼트들의 크기가 서로 다르기 때문에 메모리를 페이징 기법에서 처럼 미리 분할해 둘 수 없고, 메모리에 적재될 때 빈 공간을 찾아 할당하는 사용자 관점의 가상 메모리 관리 기법- 마이크로프로세서는 세그먼트 테이블을 참조하여 해당 세그먼트의 시작주소와 더해져서 실제적인 물리적 위치로 변환해줌 > 세그먼트- 세그먼트는 논리적 의미에 부합하도록 서로 크기가 다르며 각각의 세그먼트들은 연속적인 공간에 저장되어있다.- 세그먼트 가상 주소는 v = (s,d..
| 로더란? 컴퓨터 운영체제의 일부분으로, 하드디스크와 같은 외부 저장장치에 있는 특정 프로그램을 (대부분 응용프로그램이지만, 경우에 따라 그 자신의 일부가 될 수도 있음) 찾아서 주기억장치에 적재하고, 그 프로그램이 실행되도록하는 역할을 담당하는 것 | 로더의 기능 및 순서 1) 주기억 장치에 할당(Allocation): 목적프로그램이 주기억 장소 내의 공간 확보 2) 연결(Linking): 필요할 경우 여러 목적프로그램들 또는 라이브러리 루틴과의 링크 작업 3) 재배치(Relocation): 목적 프로그램을 실제 주기억 장소에 맞추어 재배치 4) 적재(Loading): 실제 프로그램과 데이터를 주기억 장소에 적재 | 로더의 종류 1) 컴파일 즉시 로더(Compile and Go): 번역기가 로더의 역..
| 공통점 버퍼링과 스풀링 모두 CPU의 처리속도와 입출력 장치의 속도 차이를 보완하기 위한 방법 | 차이점 1) 버퍼링- 버퍼링은 빠른 CPU와 상대적으로 속도가 느린 입출력장치 사이에 효율을 높이기 위해서 사용- CPU와 입출력 장치를 항상 활용하고자 함- 주기억장치 내에 버퍼를 둠으로써 입력시에는 CPU가 버퍼의 내용을 가져다 쓰고 입력장치가 버퍼에 내용을 기록- 출력시에는 CPU가 연산된 결과를 버퍼에 저장하고, 출력장치는 버퍼의 내용을 꺼내서 출력- 한 레코드가 읽혀 CPU가 그것에 대해 연산을 시작함과 동시에 입출력 장치는 곧 다음에 필요한 레코드를 미리 읽어서 주기억장치에 저장함으로써 CPU가 필요로하는 레코드를 기다림 없이 전달해 줄 수 있음- 주기억 장치를 버퍼로 사용 - 버퍼 : 파일로..
| 1단계 디렉터리 - 가장 간단한 디렉터리 구조로 모든 파일들이 같은 디렉터리 안에 있다. - 유지가 쉬움- 모든 파일들이 같은 디렉터리 안에 있으므로 파일 수가 증가하거나 사용자가 다수일 때 각 파일 모두 고유한 이름을 가져야 함- 파일명이 시스템이 정한 길이의 제한을 받아 불편하다- 새로 생성한 고유 이름의 파일명도 기억해야함 | 2단계 디렉터리 구조 - 1단계 디렉터리와 다르게 각 사용자에게 다른 디렉터리를 만들어 사용하게 설계됨- 사용자들의 파일명 혼란을 예방할 수 있음- 두 사용자가 한 파일을 공유해서 사용하는 경우 문제가 발생- 서로가 자신의 UFD 액세스를 허용하지 않으면 공유가 불가능 (액세스를 허용하려면 다른 사용자 디렉터리 밑의 파일 이름도 알아야 한다) | 트리 구조 디렉터리 - 기..
| 시스템 소프트웨어 응용 소프트웨어를 실행하기 위한 플랫폼을 제공하고 컴퓨터 하드웨어를 동작, 접근할 수 있도록 설계된 컴퓨터 소프트웨어 * 컴퓨터 소프트웨어 : 컴퓨터 시스템의 운영을 위한 모든 소프트웨어에 대한 일반 용어 - 사용자의 문제를 직접 해결하는 응용 소프트웨어와는 반대의 개념- 메모리에서 하드 디스크로 데이터를 전송한다든지 문자열을 디스플레이 장치로 출력하는 등의 작업을 수행- 직접 회로의 비휘발성 기억 장소에 위치하는 경우가 있으며, 이를 보통 펌웨어라고 부름- 종류 : 로더, 운영체제, 프로그래밍 도구, 컴파일러, 어셈블러, 링커, 유틸리티 등 | 응용 소프트웨어 (= 애플리케이션, 앱) 넓은 의미에서는 운영체제에서 실행되는 모든 소프트웨어를 뜻함좁은 의미에서는 OS 위에서 사용자가 ..
| 디스크 스케줄링이란? > 사용할 데이터가 디스크 상의 여러곳에 저장되어 있을 경우, 데이터를 액세스하기 위해 디스크 헤드를 움직이는 경로를 결정하는 기법> 운영체제가 담당> 목적 : 처리량 최대화, 응답시간 최소화 | 디스크 스케줄링 기법 [예제 표] : 현재 위치는 50이고 방향은 안쪽(0쪽) 방향이다. 150 0 70 200 30 20 60 1) FIFO> 요청이 들어온 순서대로 서비스 하는 방식> 이동 순서 : 50 -> 150 -> 0 -> 70 -> 200 -> 30 -> 20 -> 60 > 헤드의 이동거리 : 670 2) SSTF > 현재 위치에서 탐색거리가 가장 짧은 요청 먼저 서비스하는 방식으로 일괄처리 시스템에 유용하다 > 기아상태 발생 가능 > 이동순서 : 50 -> 60 -> 70..
| 교착상태(Deadlock) - 다중 프로그래밍 시스템에서 아무리 기다려도 결코 일어나지 않을 사건을 기다리고 있는 하나 또는 그 이상의 프로세스들이 있는 상태- 둘 이상의 서로 다른 프로세스가 자신이 요구한 자원을 할당받아 점유하고 있으면서 상호간에 상대방 프로세스에 할당되어 있는 자원을 요구하는 경우에 발생 | 교착상태의 4가지 필요조건 1) 상호 배제(Mutual Exclusion) : 프로세스들이 자원을 배타적으로 점유하고 있어, 다른 프로세스들이 자원을 사용할 수 없게 만듦 (자원의 배타적인 제어권) 2) 점유와 대기(Hold & Wait) : 최소한 하나의 자원을 점유하고 있는 프로세스가 존재해야하며, 이 프로세스는 다른 프로세스에 할당된 자원을 추가로 점유하기 위해 대기함 3) 비선점(No..
공유 자료를 병행 접근하면 자료의 불일치를 초래하기 때문에, 자료의 일관성을 유지하려면 협력적인 프로세스들의 바른순서로 수행을 보장하는 매커니즘이 필요하다.이 때문에 임계 구역을 이용한다. | 임계영역(Critical Section) - 하나의 프로세스가 수정 가능한 공유 자원을 액세스하고 있을 때, 그 프로세스에 의해 참조되는 영역- 하나의 프로세스가 공유 데이터게 접근하면, 다른 프로세스는 그 공유 데이터에 접근할 수 없도록 보장 | 상호 배제(Mutual Exclusion) - 한 프로세스가 공유 기억장치 혹은 공유 파일을 사용하고 있을 때, 다른 프로세스들이 사용하지 못하도록 배제시키는 제어 기법 | 경쟁 조건(race condition) - 2개 혹은 그 이상의 프로세스들이 공유메모리에 읽기/쓰..
스케줄러는 실행 준비가 되어있는 메모리 내의 프로세스들 중에서 선택하여, 이들 중 하나에게 CPU를 할당한다. | 스케줄링 기준 > CPU 이용률> 처리량 : 단위 시간당 완료된 프로셋의 개수> 총 처리 시간 : 프로세스를 실행하는데 소요된 시간> 대기 시간 : 프로세스가 준비 완료 큐에서 대기하는 시간> 응답 시간 : 응답이 시작되는 데까지 걸리는 시간 >> CPU 이용률, 처리량 최대화, 총 처리 시간, 대기 시간, 응답 시간 최소화 | 스케줄링 종류 1) 선입 선출 스케줄링(FCFS : First Come, First Served) : 가장 먼저 들어온 프로세스부터 차례로 할당되는 방식 (비선점형) 프로세스 버스트 시간 P1 24 P2 3 P3 3 프로세스들이 P1,P2,P3 순으로 도착하고, FC..
| 프로세스란? 운영체제에서 수행중인 프로그램 | 프로세스 상태 생성(New) : 프로세스가 생성 중임실행(Running) : 명령어들이 실행되고 있음대기(Waiting) : 프로세스가 어떤 사건이 일어나기를 기다리는 상태준비(Ready) : 프로세스가 처리기에 할당되기를 기다림완료(Terminated) : 프로세스의 실행이 종료 | 프로세스 제어 블록(PCB : Process Control Block) 특정한 프로세스를 관리할 필요가 있는 정보를 포함하는 운영체제 커널의 자료구조특정 프로세스에 대한 정보를 담고 있음 > PCB가 담고 있는 정보 - 프로세스 식별자(Process ID) - 프로세스 상태 : 생성, 준비, 실행, 대기, 완료 - 프로그램 카운터 : 프로세스가 다음에 실행할 명령어의 주소를..