일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 디자인패턴
- 파이썬 경사하강법
- 백준
- 인공지능 깃 버전관리
- 코딩테스트
- 파이썬
- 정규화
- 자바 영화 api
- MLP
- pandas
- 로스트아크
- C# 프로젝트
- 인공지능
- 대학원 급여
- 딥러닝 실험 깃 버전관리
- 활성화 함수
- 영화 api
- python
- 자바 프로젝트
- Dehaze
- 자바
- 의료 ai 대학원 월급
- 대학원 월급
- 딥러닝
- 통계학
- 디자인 패턴
- DCP
- 머신러닝
- 경사하강법
- API
- Today
- Total
목록School/Operation System (10)
대학원 일기
프로그램은 컴퓨터가 수행할 작업을 기록해놓은 것을 뜻합니다. 프로그램이 실제로 실행될 때 운영체제는 이를 프로세스(process) 라는 단위로 관리합니다. 즉, 운영체제는 프로세스 단위로 메모리와 CPU 연산 등 컴퓨팅 자원을 분배합니다. 메모리 관리: 운영체제는 프로세스에 실제 메모리의 일부를 가상 메모리(virtual memory)로 떼어서 제공함으로써, 프로세스가 컴퓨터의 메모리 전체에 접근할 수는 없도록 하고 다른 프로세스의 메모리 또는 운영체제 자체가 사용하고 있는 커널 메모리를 훔쳐볼 수 없도록 합니다. 이것을 운영체제의 중요한 보안 기제 중 하나인 프로세스 격리(process isolation)라고 부르며, 다른 프로세스의 메모리에는 접근할 수 없기 때문에 프로세스들이 서로 소통하기 위해서는..

6장 연습문제 1. 2개 이상의 프로세스가 서로의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태를 무엇이라 하는가? 교착상태 또는 데드락(deadlock) 2. 프로세스가 어떤 자원을 사용 중이고 어떤 자원을 기다리고 있는지를 나타내는 방향성이 있는 그래프를 무엇이라 하는가? 자원 할당 그래프(resource allocation graph) 3. 네 가지 교착 상태 필요조건에 대해 설명하시오. 상호 배제 프로세스가 자원을 사용중일 때 다른 자원은 이를 사용할 수 없다. 자원은 한 번에 한 프로세스만 점유할 수 있다. 비선점 프로세스가 자원을 사용중이면 다른 프로세스가 빼앗을 수 없다. 점유와 대기 프로세스가 자원을 사용중인 상태에서 다른 자원을 기다리는 상태여야 한다. 원형 대기 자원 할..

1. 가상 메모리 가상 메모리 시스템: 물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술 → 운영체제가 어디에 있는지 신경쓰지 않아도 된다. → 물리 메모리의 크기가 어느 정도인지 신경쓰지 않아도 된다. - 가상 메모리의 구성 프로세스가 바라보는 메모리 영역 (가상 주소 공간) 메모리 관리자가 바라보는 메모리 영역 (물리 메모리 + 저장 장치) → 가상 메모리에서 메모리 관리자(MMU)는 물리 메모리의 부족한 부분을 스왑 영역으로 보충 - 가상 메모리의 크기 메모리의 전체 크기는 물리 메모리와 스왑 영역을 합한 크기 - 동적 주소 변환 가상 주소를 실제 메모리의 물리 주소로 변환 동적 주소 변환을 거치면 프로세스가 아무 제약 없이 사용자의 데이터를 물리 메모리에 배치할 수 있음..

1. 메모리 관리의 개요 메모리 주소 메모리 한 칸은 1Byte의 크기를 가짐. 1Byte로 나눈 메모리의 영역을 메모리 주소로 구분(0번지부터 시작) CPU는 메모리에 있는 내용을 가져오거나 작업 결과를 메모리에 저장하기 위해 메모리 주소 레지스터(MAR) 사용 메모리 관리의 복잡성 메모리는 폰 논이만 구조의 컴퓨터에서 유일한 작업 공간이며, 모든 프로그램은 메모리에 올라와야지만 실행 가능함 일괄처리 시스템은 한 번에 하나의 프로그램만 실행시키므로 메모리 관리가 단순함 시분할 시스템은 운영체제를 포함한 모든 응용 프로그램이 메모리에 올라와 실행되므로 메모리가 관리가 복잡함 메모리 관리의 이중성 프로세스 입장: 메모리를 독차지하려 함 메모리 관리자 입장: 메모리 관리를 효율적으로 하려고 함 언어 번역 프..

1. 교착상태 교착상태: 2개 이상의 프로세스가 다른 프로세스의 작업 끝나기만 기다리며 작업을 진행하지 않는 상태 -> 여러 프로세스가 작업을 진행하다보니 자연 발생적으로 일어나는 문제 교착 상태가 발생하는 환경. 시스템 자원 교착 상태는 다른 프로세스와 공유할 수 없는 자원을 사용할 때 발생 공유 변수 교착상태는 공유 변수를 사용할 때 발생 ( ex: 임계구역에서 공유하는 변수) 응용 프로그램 데이터베이스 같은 응용 프로그램에서도 교착 상태 발생 데이터베이스는 데이터의 일관성을 유지하기 위해 "잠금"을 사용함 -> 잠금으로 인해 교착상태 발생 가능 자원할당 그래프: 프로세스가 어떤 자원을 사용 중이고, 어떤 자원을 기다리고 있는지를 방향성이 있는 그래프로 표현한 것 -> 프로세스는 원으로, 자원은 사각..

1. 프로세스 간 통신 1-1 프로세스 간 통신의 개념 프로세스 간 통신의 종류 - 프로세스 내부 데이터 통신 하나의 프로세스 내에 2개 이상의 스레드가 존재하는 경우의 통신 프로세스 내부의 스레드는 전역 변수나 파일을 이용하여 데이터를 주고 받음 - 프로세스 간 데이터 통신 같은 컴퓨터에 있는 여러 프로세스끼리 통신하는 경우 공용 파일 또는 운영체제가 제공하는 파이프를 사용하여 통신 - 네트워크를 이용한 데이터 통신 여러 컴퓨터가 네트워크로 연결되어 있을 때 통신 소켓을 이용하여 데이터를 주고 받음 2. 공유 자원과 임계구역 2-1 공유 자원의 접근 공유 자원 - 여러 프로세스가 공동으로 이용하는 변수, 메모리, 파일 등을 말함 경쟁 조건 - 2개 이상의 프로세스가 공유 자원을 병행적으로 읽거나 쓰는 ..

1. 스케줄링의 개요 1-2 스케줄링의 단계(고→중→저) 고수준 스케주링 - 시스템 내의 전체 작업 수를 조절하는 것 - 어떤 작업을 시스템이 받아들일지 또는 거부할지를 결정 - 시스템 내에서 동시에 실행 가능한 프로세스의 총개수가 정해짐 - 장기 스케줄링, 작업 스케줄링, 승인 스케줄링이라고도 함 저수준 스케줄링 - 어떤 프로세스에 CPU를 할당할지, 어떤 프로세스를 대기 상태로 보낼지 등을 결정 - 아주 짧은 시간에 일어나기 때문에 단기 스케줄링이라고도 함 중간 수준 스케줄링 - 중지하는 것과 활성화하는 것으로 전체 시스템의 활성화된 프로세스 수를 조절하여 과부화를 막음 - 일부 프로세스를 중지(stop) 상태로 옮김으로써 나머지 프로세스가 원만하게 작동하도록 지원함 - 저수준 스케줄링이 원만하게 이..

01 프로세스의 개요 1-1 프로세스의 개념 프로그램 - 저장장치가 저장되어 있는 정적인 상태 - 프로그램은 설치되어 있는 것. 프로세스 - 실행을 위해 메모리에 올라온 동적인 상태 - 메모리에 올라와서 실행이 된 프로그램 1-3 프로그램에서 프로세스로의 전환(프로그램→프로세스) 프로세스 제어 블록(Process Control Block, PCB) - 운영체제가 해당 프로세스를 위해 관리하는 자료구조(운영체제가 PCV를 표현한 것) - 프로세스를 관리하기 위해 유지되는 데이터 블록 또는 레코드의 데이터 구조 프로세스 구분자 : 각 프로세스를 구분하는 구분자 메모리 관련 정보 : 프로세스의 메모리 위치 정보 각종 중간값 : 프로세스가 사용했던 중간값 프로세스와 프로그램의 관계 - 프로그램이 프로세스가 된다..