일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 반공변성
- RTK Query
- TS
- 결정 알고리즘
- 호이스팅
- Promise
- 태그된 유니온
- 무한 스크롤
- 인터섹션
- useAppDispatch
- webpack
- 타입 좁히기
- SSR
- CI/CD
- Jest
- 공변성
- ESlint
- autosize
- 투포인터
- async/await
- map
- dfs
- React
- app router
- 이분 검색
- Cypress
- recoil
- tailwind
- CORS
- 리터럴 타입
- Today
- Total
목록학교/운영체제 (7)
짧은코딩
Deadlock(교착상태)의 정의 -Deadlock 두 개 이상의 프로세스가 필요한 자원을 기다리면서 무한정 중지된 상태 도로 사거리, 교차로가 있는 상황 왼쪽에서 오른쪽 차 때문에 아래에서 위로 가는 차가 방해를 받는다. 이런식으로 4군데가 다 막혀있다. 이걸 교착 상태라한다. 프린터와 CD가 있고, p1 p2 프로세스가 있다. 두 프로세스는 프린터와 cd가 둘다 필요하다. 그러면 운영체제로 부터 자원을 할당 받아야한다. p1은 프린터에서 할당, p2는 cd에 할당 이러면 둘다 다른것은 할당을 받지 못해서 무한 대기 두 개 이상의 프로세스가 필요한 자원을 기다리면서 무한정 중지된 상태 -> 성능 하락 제한된 자원에 대해 이용률이 늘어나게 되고, 이용률이 늘어 나기 때문에 경쟁이 치열하고 결국 deadl..
IPC -프로세스간 통신(IPC) 1. 프로세스내부 데이터 통신 2개 이상의 스레드간 데이터통신(메모리변수 이용) 전역변수, 파일공유를 통한 데이터전달 2. 프로세스간 데이터 통신 동일 컴퓨터내 프로세스간 통신, 운영체제에 의한 통신 shared memory, pipe 등 이용 3. 네트워크를 이용한 원격 데이터 통신 네트워크(인터넷)간의 프로세스간 데이터전송(send, receive) 소켓, PRC과 같은 네트워크 프로토콜 이용, 인터넷을 통한 원격 연결 -(프로세스 내부) 전역 변수를 이용한 통신방식 프로세스 내부에서 이뤄진다. 전역 데이터를 통해서 주고 받는다. 스레드를 생성하고 일거리를 준다. fom1to2, from2to1은 공유자원이다. 스레드 1, 2가 동시에 돌면서 변수를 저장한다. -프로..
상호배제 해결방법 -임계영역 해결방법(=상호배제 알고리즘) 상호배제는 임계 영역에 막 들어가는 것을 막는다. 남이 못들어오게하는 entry section이 필요하다. 그리고 exit section이 필요하다. 임계 영역과 상관 없는 것은 잔류 연역에 있다. 임계 영역은 변수 공유하는 문제 때문에 발생한다. -알고리즘1 p1 1~12, p2 13~22, main으로 구분했다. p1과 p2가 병행 프로세스다. 빨간색이 임계영역 어떻게 1개만 임계 영역에 들어가게 하느냐가 포인트 main processnumber을 1로 세팅하고 p1, p2를 동시 수행하게함, p1 7번: 무한루프 processnumber가 2인 것은 거짓이 된다. 그래서 8번째 줄 실행 => 일단 p1이 임계 영역에 진입 p2 17번: 무한..
병행프로세스(Concurrent Process) -병행실행(Concurrent execution on single-core system) 병행성 single core cpu, 1개의 cpu한테 여러 개의 task(프로세스)를 어떻게 시키느냐, 즉 4개의 task가 있을 때 각각의 task를 어떤 식으로 실행하는 게 좋을까? 만약 레디큐에 4개가 줄 서있다. 그러면 운영체제에서 동시에 잘 수행해야 한다. t1의 일부를 실행하다가 내쫓고 t2 일부 실행하다가 내쫓고... 이런 식으로 공용으로 쓸 수 있도록 분할하는 방식이 병행실행이다. 엄밀히 따지면 운영체제 입장에선 동시 실행은 아니다. 하지만 사용자 입장에선 동시 실행처럼 보인다 ->체감 성능을 어떻게 올리는지가 핵심 -병렬실행(Parallelism on..
프로세스 개념 프로세스: 실행 중인 프로그램 하드디스크에 프로그램이 저장되어 있다. 프로그램을 시작과정 1. 운영체제는 하드디스크에서 찾음 2. 메모리에 올리기 위해 프로세스로 바꿈 3. 메모리에서 비어있는 부분에 할당해서 저장 4. 저장되어있는 상태가 프로세스 5. cpu가 프로그램을 실행을 시켜준다. 6. 프로그램을 계속 실행하면 메모리 빈 공간에 할당한다. 7. 하지만 많이 실행하면 공간이 없다. 8. 그래서 만든 게 swap라는 하드디스크 공간을 만듦 9. 메모리가 꽉 차면 swap를 마치 메모리 같이 운영을 한다. 10. 제일 만만한 프로세스를 잠시 swap로 옮긴다. 11. 그리고 더블 클릭한 프로세스를 메모리에 실행 12. 옮겨진 프로세스는 영원히 swap에 있을 수 없어서 언젠가 운영체제가..
-운영체제 발전과정 -운영체제의 역사 기술이 발전하면서 PC의 크기가 줄어듬, 성능은 좋아짐 현재는 유닉스, 윈도우, 리눅스가 크게 사용 -운영체제의 세부기능 시스템 호출: 커널을 이용할 때 지키는 규격 커널: 운영체제의 핵심적인 기능을 모아놓은 것으로, 자동차에 비유하면 엔진에 해당한다. 커널에서 제공하는 기능은 자원관리 기능, 기타 기능 자원관리 기능(기본, 필수): Memory, Process, I/O Device, File, CPU Managgement 기타 기능(부가): Security, Networking & Distributed Managgement, Command Interpreter(=Shell, 명령을 통해 운영체제에 접근해 사용할 수 있음) -운영체제의 기능 1. 메모리 관리 기능 어..
사용자: 사람 or 프로그램 소프트웨어: 시스템SW, 응용SW(운영체제라는 다리 역할이 있어야 하드웨어랑 연결) 운영체제: 조정자 역할, 자원관리자 역할, 입출력장치와 사용자프로그램 제어 역할 하드웨어: CPU, Memory, I/O Devices 자원관리: 프로세스관리, CPU관리, 메모리관리, 입출력장치관리을 하여 성능 향상 자원보호: 오류를 탐지해서 컴퓨터가 죽는 것을 방지하는 컴퓨터의 안정성 하드웨어 인터페이스: CPU, 메모리 등 특성이 다르더라도 일관성있는 접근제어 사용자 인터페이스: 화면의 형태, 마우스의 부드러움 등 제공 -운영체제의 발전과정 일괄처리(Batch System): OMR 카드 100명이 있다면 100명의 카드를 한방에 취합해서 처리하는 과정 1401: 입력작업 7094: 채점..