일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OS
- 스케줄러
- 클래스
- 자연어처리
- 오픈소스웹소프트웨어
- 프로세스
- 파싱
- 컴파일
- Agile
- DB
- 파싱테이블
- 정보검색
- 가상메모리
- 운영체제
- 데이터베이스
- React
- 컴파일러
- css
- 웹소프트웨어
- 랩실일기
- 데이터분석
- 언어모델
- 836
- 소프트웨어공학
- 애자일
- NLP
- C언어
- Linear Algebra
- 벡터
- 객체지향설계
- Today
- Total
목록학교 공부/운영체제(OS)(3-1) (16)
observe_db
4/3 Part 1. thread: 본뜻은 실. : 프로세스 내에서 실행되는 흐름의 단위를 말한다. 일반적으로 1개인 단일 쓰레드. OS 스케줄러에 의해 관리될 수 있는 가장 작은 단위의 프로그램 조각 main 프로그램과 독립적으로 실행되는 함수 프로세스 내의 다른 쓰레드와 주소와 전역변수 등의 데이터는 공유. 레지스터, 스택, 시그널 등은 쓰레드 별로 별도 물리적(실제로 multicore를 이용한 동시)/개념적(시분할 등을 이용한 사실상 동시) 쓰레드당 개별로 PCB(프로그램 컨트롤 블럭)을 가진다. 등장 배경 소프트웨어 설계 요구: 병렬처리 작업이 자연스러운 시스템 개발 필요(90's) 하드웨어 병렬처리 지원: 멀티코어, 멀티프로세서 컴퓨터 보편화 효율적 협업 필요: IPC보다 공유 공간을 이용한 데..
3/20 Part 3. 프로세스 종료 마지막 명령어 실행 후 OS에 프로세스 삭제 요청 wait()를 통해 부모로 데이터 전달. 자원은 OS에 의해 반납 비정상 종료도 있음 abort() 사용. 시그널 SIGABRT를 발생시키고, 시그널 처리기 있으면 호출, 없으면 비정상종료 일부 자원 반납처리 부재) 부모 프로세스가 kill()을 통해 자식 프로세스 종료 가능 자식이 배정된 자원을 초과 사용하는 경우 할당된 작업이 필요 없는 경우 부모가 종료되는 경우 어떤 특정 OS는 자식 프로세스 강제 종료(모든 자식의 연쇄 종료) 프로세스 일시중지(suspend) 종료는 아니고, 프로세스 사용을 위한 경쟁에서 배제 보안 위협 감지, 소프트웨어 debug에 유용 자신이나 다른 프로세스가 일시중지 가능. 재시작(res..
3/20 프로세스(Process): 메모리에 적재되어있는 프로그램 어떻게 빠르고/공평하고/효율적으로 실행할 수 있을까.(운영체제의 일) Part 1. Process 실행중인 프로그램 자신의 주소공간(address space) 보유 code 영역: 프로세서가 실행하는 프로그램 코드 저장 data 영역: 전역 변수 저장 heap 영역: 동적 메모리 할당 영역(malloc(), calloc())[1] stack 영역: 임시 데이터(함수의 매개변수/반환주소/지역변수 등) Linux 프로세스에서는 가상 주소 공간(virtual address space)이 있음. Process life cycle(생명 주기) 프로세스는 이산적인 상태간 전이(transition) running(실행) 상태: 프로세서에서 명령어 실행..
소프트웨어 디바이스 드라이버(Device driver) 특정 하드웨어/장치를 제어하기 위한 커널의 일부로 동작하는 프로그램 입출력 장치별로 각각의 드라이버가 커널에 통합되어 실행 메모리에 상주 장치를 파일처럼 취급 가능 (사진 추가 가능) API(Application Programming Interface) 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스 라이브러리 형태로 제공 시스템콜 함수는 운영체제 기능을 사용하게 하는 API(API 함수 내부에서 시스템콜 함수 가능) 컴파일러 고급 언어를 기계어로 변환 컴파일 과정 렉서(Lexer): 코드 내의 문자를 tokenize 파서(parse): 문법적으로 맞는 토큰의 집단화 중간코드 생성기..