Loading...
2021. 4. 6. 18:04

[운영체제] 공룡책 - 데드락 (Deadlock) 요약

데드락 어느 프로세스도 자기 일을 할 수 없는 상태 다른 프로세스가 종료되기를 기다리며 계속 기다리는 상태 blocked state: 프로세스가 특정 이벤트를 기다리는 상태 asleep state: 프로세스가 필요한 자원을 기다리는 상태 deadlock state 프로세스가 발생가능성이 없는 이벤트를 기다리는 경우 대기 상태와 교착 상태 비교 대기상태와 교착 상태가 발생하는 위치와 종류가 다르다 기아 상태의 경우 CPU를 운 나쁘게 계속 할당 못받은 것 (추후에 받을 수도 있음) 교착 상태는 앞으로도 해결될 가능성이 없다 선점 선점 자원: 선점 당한 후 다시 돌아와도 문제 없는 자원: 프로세서, 메모리 비선점 자원: 선점 당하면 진행에 문제가 생기는 자원: 디스크 드라이브 (롤백, restart 필요) ..

2021. 4. 6. 14:45

[운영체제] 공룡책 - 가상 메모리 Virtual Storage 요약

비연속 할당 사용자 프로그램을 여러 개의 block으로 분할한다 (Paging, segmentation) 실행 시 필요한 block만 메모리에 적재한다 (나머지는 swap device에 존재) 프로세스를 통째로 올리지 않고 일부만 올려놓고 사용한다 기법 paging system segmentation system hybrid paging/segmentation system Address Mapping 주소 매핑 가상 주소 = 상대 주소 = 논리주소: 연속된 메모리 할당을 가정한 주소 실제주소 = 물리주소 = 절대주소: 실제 메모리에 적재된 주소 Address mapping: 가상 주소를 실제 주소로 매핑하는 작업 Block Mapping 사용자 프로그램 block 단위로 분할 및 관리 Virtual Ad..

[운영체제] 공룡책 - 메모리 관리 Memory Management 요약

메모리(기억 장치 종류) 레지스터 -> 캐시 -> 메인 메모리 -> 보조기억장치 (계층 구조) 왼쪽으로 갈수록 비싸지고 용량이 작고 빠르다 I/O 병목현상 해결하기 위한 계층구조이다 레지스터와 캐시는 CPU 내부에 존재하여 HW가 관리하고 나머지 메모리 종류는 SW(OS)가 관리한다. Block단위 하드디스크 (보조 기억장치)에서 메모리로 데이터를 올릴 때 1비트를 읽더라도 효율성을 위해 해당 1비트만 가가져오는 것이 아니라 block단위로 데이터를 읽어온다. (보통 1~ 4kb) word 단위 메인 메모리에서 레지스터로 데이터를 word 단위로 읽어온다. 컴퓨터에서 32비트, 64비트 시스템은 워드 단위이다. Address Binding 프로그램의 논리 주소(cpu가 생성하는 주소)를 실제 메모리의 물..

2021. 3. 13. 20:46

[운영체제 1주차 스터디] 공룡책 2장 운영체제 구조 정리

목차 Operating system services System calls Types of system calls operating system structure 운영체제에서 제공하는 서비스 운영체제는 컴퓨터 프로그램이 실행되는 환경을 제공한다. 그를 위해서 위와 같은 서비스를 제공한다. 여러 프로그램을 돌리기 위해 멀티 프로세싱을 하게 되고 그런 과정에서 동기화 문제가 발생하며 데드락이 발생할 수 있다. 앞으로 (공룡책에서) 주로 배우게 될 서비스 ⇒ 프로그램 실행(관리 부문), file System 나머지는 상대적으로 마이너하다. 운영체제 각 서비스 정리 UI (유저 인터페이스) 부분 CLI: 사용자가 텍스트 명령으로 명령을 내리는 방식. (SHELL, MS-DOS, 애플 소프트 베이직) 배치 인터페..

[운영체제 os] 프로세스 동기화 Process Synchronization

동기화 한 시스템에 여러 프로세스가 존재하고(병행적, concurrent) 각 프로세스가 독립적으로 동작한다. (비동기적, asynchronous) 이렇게 프로세스가 비동기적으로(서로의 실행순서나 정보를 공유하지 않고) 여러 프로세스가 동시에 한 자원을 쓰려고 할 때 문제가 발생할 수 있다. 이런 문제를 해결하기 위해 프로세스간 정보를 공유하는 것 혹은 대화하는 것을 동기화라고 한다. 임계영역 (cs, critical section) 공유데이터(shared data)에 접근할 수 있는 코드 영역이다. 둘 이상의 프로세스가 동기에 이 임계영역에 접근할 수 없도록 상호배제를 해줘야 한다. 상호배제 조건 3가지 1. 상호배제: 임계 영역 안에 프로세스가 있을 때 다른 프로세스의 진입을 막는다. 2. 진행 pr..

2020. 10. 21. 01:46

[TIL 2020-10-21] 오늘의 공부 ~ 운영체제, 알고리즘,리액트 기초 정리

[운영체제] 2020/10/20 - [운영체제 요약정리] - [운영체제] 운영체제의 역사 [알고리즘, dp 부문] 2020/10/21 - [Leetcode] - [LeetCode] Fibonacci number (dp, 파이썬) 2020/10/21 - [Leetcode] - [LeetCode] Maximum Subarray(python, 최대 서브배열,dp) [리액트] 2020/10/21 - [React공부] - [React] 배열 데이터 처리(생성,렌더링, 수정,제거) 2020/10/21 - [React공부] - [React] 리액트 undefined처리 방법 (누구든지하는 리액트5편 공부정리)

[운영체제] 운영체제의 역사

40년대 진공관 (0,1) 사용 50년대 카드 리더, 라인 프린터 (일괄작업시스템, 운영체제등장) 60년대 초반 키보드, 모니터 (대화형 시스템) 60년대 후반 c언어 (다중 프로그래밍 기술 개발, 시분할 시스템) 70년대 pc (개인용 컴퓨터 등장, 분산시스템) 90년대 웹 (클라이언트/서버 시스템) 2000년대 스마트폰 (p2p시스템, 그리드 컴퓨팅, 클라우드 컴퓨팅, 사물 인터넷) 40년대 진공관 최초 컴퓨터 에니악이 미사일 탄도 계산을 위해 제작됨 (2진법의 시초) 하드와이어링 방식: 전선으로 논리회로를 구성하는 것, 운영체제 없었음 50년대 일괄작업시스템 ic칩으로 만들어짐(진공관과 전선으로 만들어진 논리회로를 아주 작은 크기로 만든 것) cpu있으나 키보드, 모니터 같은 입출력 장치 없었음. ..

2020. 10. 20. 05:28

[TIL 2020-10-20] react, 운영체제(필요성, 정의, 역할) 공부

react 2020/10/20 - [React공부] - [React] react (props와 state) (누구든지 하는 리액트 4편 공부정리) 2020/10/20 - [React공부] - [React] 리액트 프로젝트 시작 (누구든지하는 리액트3편 공부정리) 2020/10/19 - [React공부] - [React] 리액트란 (누구든지하는 리액트 1편 공부정리) 운영체제 (기능 및 역할) 2020/10/20 - [운영체제 요약정리] - [운영체제] 소개, 필요성, 정의, 역할

2020. 9. 28. 01:53

프로세스

* 쉽게 배우는 운영체제를 공부하면서 정리했습니다 프로세스 개요 프로세스는 작업의 단위이다. 여기서 작업은 뒤에서 나오지만 크기에 따라서 여러가지로 나뉘는데, job > task (프로세스) > operation (스레드) 순이다. 프로그램 vs 프로세스 프로그램은 하드디스크 같은 저장장치에 있다가 마우스로 더블클릭하면 실행된다. 폰노이만 구조에서 프로그램이 실행된다 = 해당 코드가 메모리에 올라와서 실행된다 프로그램은 작성해 놓은 작업 절차(정적인 상태)이고 프로세스는 그것을 메모리에 올려 실제로 실행한 것이다.(동적인 상태) 일괄 작업 시스템 한 번에 하나의 작업을 처리한다 하나의 작업이 끝나야 다른 작업을 할 수 있다 들어오는 순서대로 처리하고 나머지 작업은 큐에서 대기한다 시분할 방식 cpu가 1..