9.2 스레드의 상태를 준비 완료(ready),실행(running),봉쇄됨(blocked)으로 간단하게 정의 할 수 있다. 여기서 준비 완료는 실행할 준비가 되어 스케줄 되기를 기다리고 있는 상태이고, 실행은 처리기에서 실행 중인 상태 그리고 입출력 완료를 기다리는 것과 같은 대기 상태가 봉쇄됨이다. 이러한 상태를 도시한 그림이 9.30에 나와 있다. 스레드가 실행상태라고 가정하고 다음 질문에 답하시오a.페이지 부재가 발생하면 스레드는 상태를 변화시키는가? 그렇다면 변화된 새로운 상태는 무엇인가?answer) 페이지 부재가 발생하면 스레드는 blocked 상태가 된다. 그래서 페이지 부재가 해결되기를 대기한다. b.페이지 테이블을 참조하여 해결할 수 있는 TLB 미스를 발생시킬 경우 스레드는 상태를 변화..
8.2 다음은 이진 파일을 만드는 과정을 설명한 것이다. 컴파일러는 각각의 모듈에 대한 목적코드를 생성하고 연결 편집기는 여러 개의 모듈을 하나의 이진 프로그램으로 조합한다. 연결 편집기가 어떻게 명령어와 데이터들의 메모리 주소에 대한 바인딩을 변화시키는가? 어떠한 정보가 연결 편집기의 메모리 바인딩 작업을 원활하게 수행하기 위해서 컴파일러에서 연결 편집기로 전달되어야 하는가? answer)링커는 최종 프로그램 이진파일 속의 변수들의 가상(symbolic) 주소를 실제 주소로 바꿔주어야 한다. 하나의 상위 프로그램이 다른 하위 프로그램을 참조하는 것은 Symbol이라는 것을 통해 이루어지는데, 링커의 작업은 이러한 Symbol의 위치를 알아내어 상위 프로그램의 목적코드에 하위 프로그램의 주소를 기입하여 ..
7.1 그림 7.10에 보인 교통의 교착상태를 생각해보자 a. 이 예에서 교착상태를 위한 네 가지 필요조건이 정말로 성립함을 보이시오1. 상호배제 - 한 교차점에 한 라인의 차들이 있다. 다른 라인의 차들이 그 공간을 점유하려면 지연되어야 하기 때문에 상호배제 성립2. 점유하며 대기 - 차가 특정위치(자원)에서 다른 곳으로 이동하려면 그 위치에 있는 차가 빠질 때까지 기다려야 하므로 점유하며 대기가 성립한다. 3. 비선점 - 특정 차가 도로에서 갑자기 사라지는 경우가 없기 때문에 비선점이 성립4. 순환대기 - 차들이 도로를 계속 도는 경우(사각형 주위를 돌 때) 순환대기가 성립 b. 이 시스템에서 교착상태를 회피하는 간단한 법칙을 설명하시오 교차점에서 차들이 정지하지 않을 수 있게 한다. 7.2 동기화 ..
4.1 다중 스레드 기법을 사용했을 때 단일 스레드 기법을 사용했을 때보다 성능이 좋지 않은 프로그래밍 사례 2가지를 제시하시오.다중스레드에서는 각각의 스레드 중 어떤 스레드가 먼저 시작될지 모른다. 예시 1) 공유되는 변수 i의 값을 1씩 증가시키는 프로그램의 경우. 순차적으로 값이 증가되어야 하는데 한 번에 2씩 증가할 수도 있는 등 순차적으로 실행되는 것을 보장 할 수 없다. 예시 2) C shell 같은 쉘프로그램(실행내용을 계속 모니터해야하는 프로그램들) 일 때 제대로 기능을 할 수 없다. 4.2 단일 처리기 시스템에서의 프로그래밍을 고려하자. 다중 커널 스레드를 사용하여 다중 스레드 프로그램을 만들었을 때 이 프로그램의 성능이 단일 스레드만 사용하는 프로그램에 비해 더 나은 성능을 보이는 경우..
3.1 단기, 중기, 장기 스케줄링의 차이점을 설명하시오. ➀ 장기 스케줄러 : 프로세스의 상태 중 New-> Ready의 과정과 Running(or Ready) -> Terminated의 과정을 담당합니다. 즉 메모리와 디스크 사이의 스케줄링을 담당합니다. 그렇기 때문에 호출 빈도가 적습니다. ② 단기 스케줄러 : 프로세스의 상태 중 Ready->Running->waiting->Ready의 주기를 관리합니다. 그렇기 때문에 장기 스케줄러에 비해 매우 많이 호출이 됩니다. ③ 중기 스케줄러 : CPU를 차지하기 위한 경쟁이 심해질 때 우선순위가 낮은 프로세스들을 잠시 제거한 후 나중에 경쟁이 완화되었을 때 다시 디스크에서 메모리로 불러와 중단되었던 부분부터 다시 실행시켜주는 일을 합니다. 이러한 방법을 ..
2.1 운영체제가 제공하는 서비스와 기능은 크게 두 범주로 나눌 수 있다. 두 범주에 대해 간략히 설명하고 차이점을 논의하시오운영체제에 의해 제공되는 서비스의 한 부류는 시스템에서 동시에 실행되는 다른 프로세스들 간의 보호를 강화하는 것이다. 프로세스들은 자신의 주소 스페이스와 관련된 메모리 위치에만 접근할 수 있다. 또한 프로세스들은 다른 사용자와 관련된 파일을 바꿀 수 없다. 프로세스는 운영체제의 중재 없이 장치들에 직접 접근할 수도 없다. 운영체제가 제공하는 서비스의 다른 부류는 근본적인 하드웨어를 통해서는 직접 제공되지 않는 새로운 기능성을 제공하는 것이다. 가상 메모리와 파일 시스템은 운영체제에 의해 제공되는 새로운 서비스의 두 가지 예이다. 2.2 운영체제에게 매개변수를 전달하는 보편적인 방법..
1.1 다중프로그래밍과 시분할 환경에서, 다수의 사용자가 동시에 시스템을 공유한다. 이러한 상황은 여러 가지 보안 문제를 일으킬 수 있다a. 그러한 문제점 두 가지는 무엇인가? 1. 시스템 자원을 제어하기가 힘들다. 2. 다른 사람이 내 데이터를 무단으로 접근, 변경할 수 있다.b. 우리가 전용 컴퓨터에서 갖는 동일한 수준의 보안을 시분할 시스템에서도 보장할 수 있는가? 당신의 대답을 설명하시오. 보장할 수 없다고 본다. 사람이 만든 보안시스템이라서 결함요소가 존재할 수 밖에 없다. 1.2 자원 활용의 문제는 운영체제의 유형별로 다른 모습으로 나타난다. 다음과 같은 환경에서는 어떤 자원들이 신중하게 관리되어야 하는지 나열하시오.a. 메인 프레임 또는 미니컴퓨터 시스템 : 메인 프레임과 미니컴퓨터 시스템의..
1. Magnetic disk Arm으로 데이터를 읽고 쓰며 읽을 때는 전류가 흘러 나오고 적을때는 반대로 흘려 보낸다. 같은 실린더에 적으면 읽는 속도가 빠르며 단위 섹터 페리티 비트 떄문에 실제 파일 크기보다 더 크다. 2. Solid-State Disk seek 타임이 없고 주소로 바로 접근가능하다. 다만 수명이 짧아 지우는 횟수에 한계가 있다. 따라서 어느 정도 모이면 지우는데 이때 지우는 파일을 구별하기 위해 블락에 valid, invalid를 표시한다. 3. Disk Scheduling 디스크에 블락을 찾는 요구가 한번에 들어올 경우 순서를 정해야한다. 1. FCFS : 먼저 들어온 것이 먼저 나감 - 낭비 심함 2. SSTF : 가장 가까운거 처리 - 실시간에서는 기아가 발생함 3. SCAN..
1. File-System Structure 1. logical file system : Meta date 정보를 관리한다. Meta data는 실제 데이터(내용)을 제외한 모든 파일 시스템 구조를 포함한다. Directory 구조를 관리하며 FCB를 가지고 있다. 2. file-organiztion module : 물리 블럭과 논리 블럭을 알고 있어서 논리 주소를 물리주소로 변경해 준다. 3. basic file system : 적절한 장치드라이버에게 물리 블록(드라이버 1의 실린다 73, 트랙 2, 섹터 10)을 읽고 쓰도록 명령 내린다. 4. I/O control : Device driver와 interrupt handler로 이루어 져있으며 고수준 언어의 명령을 디바이스에 맞는 저수준 언어로 변경..
1. File Concept 운영체제는 컴퓨터 시스템을 편리하게 사용하기 위해 저장된 정보에 대한 일과된 논리적 관점을 제공하고 저장 장치의 물리적 특성을 추상화하여 논리적 저장 단위, 파일을 정의한다.파일의 속성에는 이름, 식별자, 타입, 위치, 크기, 시간 등 이 있다.파일 명령어에는 생성, 쓰기, 읽기, 재설정, 삭제, 절단(내용만 지우고 속성은 남김)이 있다.파일 연산을 하기 위해 open() 시스템 호출로 파일을 접근한다. 최초 파일 접근시 재접근에 대한 낭비를 줄이기 위해 open-file table에 모든 열린 파일에 대한 정보가 저장된다.파일이 더이상 사용되지 않으면 프로세스에 의해 닫히고 open-file table에서 제거된다. - close()파일 포일터 : 읽기와 쓰기 시스템 호출의..
- Total
- Today
- Yesterday
- Notification
- 테라펀딩 #투게더펀딩 #P2P투자 #부동산 소액 투자 #카카오 #토스
- android
- 카운터
- vim
- 자바 입출력
- LISTVIEW
- Res
- c언어
- Service
- java
- 유전 알고리즘
- 파일 입출력
- Java Decompiler
- 알고리즘
- counter
- 파일입출력
- php
- 안드로이드
- 포켓몬 고
- 아두이노
- 5582
- 포켓몬 Go
- vim 설치
- 유전
- jad
- 인텐트
- 서버
- java url
- java 파일 입출력
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |