StudyRepository
728x90
article thumbnail
4. 스레드와 멀티스레딩
운영체제 2023. 4. 10. 15:24

01 프로세스의 문제점 프로세스 생성 오버헤드 - 프로세스를 위한 메모리 할당, 부모프로세스로부터 복사 - PCB 생성, 매핑 테이블(페이지 테이블) 생성 등 프로세스 컨텍스트 스위칭 오버헤드 - CPU 레지스터들을 컨텍스트로 PCB에 저장, 새 프로세스 컨텍스트를 PCB에서 CPU로 옮기는 시간 - CPU가 참고할 매핑 테이블(페이지 테이블)의 교체 시간 - CPU 캐시에 새 프로세스의 코드와 데이터가 채워지는데 걸리는 시간 등 프로세스 사이 통신의 어려움 - 프로세스가 다른 프로세스의 메모리에 접근 불가 - 프로세스 사이의 통신을 위한 제 3의 방법 필요 - 커널 메모리나 커널에 의해 마련된 메모리 공간을 이용하여 데이터 송수신 신호, 소켓, 메시지 큐, 세마포, 공유메모리, 메모리맵 파일 등 - 코..

article thumbnail
3. 프로세스와 프로세스 관리 (2)
운영체제 2023. 4. 7. 17:00

부모 - 자식 프로세스 부모-자식 관계의 프로세스 - #0 프로세스는 시스템 부팅 시 실행되는 최초의 프로세스 - 부모 프로세스는 여러 개의 자식 프로세스를 가질 수 있음 - #0 프로세스를 제외한 나머지 프로세스는 모두 부모 프로세스를 가짐 자식 프로세스 생성 - 부모 프로세스에 의해 생성 - System Call을 통해 생성 > fork(), clone() 함수 리눅스에서의 프로세스 - #0 프로세스: swapper/idle 프로세스 (hand-crafted) - #1 프로세스: init 프로세스 (hand-crafted) > 부팅 후 생성되는 모든 사용자 프로세스의 조상 - #2 프로세스: kthreadd 프로세스 (hand-crafted) > 커널 모드에서 커널 코드로만 실행되는 모든 커널 프로세..

article thumbnail
3. 프로세스와 프로세스 관리(1)
운영체제 2023. 4. 4. 23:53

1) 프로그램(Program) - 하드디스크 등의 저장매체에 저장된 실행 파일 상태 2) 프로세스(Process) - 프로그램이 메모리에 적재되어 실행중인 상태 3) 프로세스의 특징 - 운영체제는 프로세스에게 필요한 메모리를 할당하여 코드와 데이터등을 적재함 - 프로세스들은 서로 독립적인 메모리 공간을 가지며 다른 프로세스 영역에 접근할 수 없음 - 프로세스마다 고유한 번호(프로세스 ID)가 할당됨 - 프로세스에 대한 모든 정보는 운영체제 커널에 의해 관리됨 1) 커널에 의한 프로세스 관리 - 커널 영역에 프로세스 테이블을 생성함 - 테이블을 통해 프로세스 목록을 관리함 2) 프로세스 관리 내용 - 프로세스 생성, 실행, 일시중단, 재개, 중단 - 프로세스의 각종 정보 - 프로세스 통신 - 프로세스 동기..

article thumbnail
2. 컴퓨터 시스템과 운영체제
운영체제 2023. 4. 1. 22:50

컴퓨터 시스템의 계층- 응용프로그램 계층- 운영체제 계층- 컴퓨터 하드웨어 계층     컴퓨터 시스템 계층 구조의 특징- 사용자는 응용프로그램과 GUI/유틸리티를 통해 컴퓨터를 활용함- 하드웨어는 운영체제의 배타적/독점적 지배를 받음- 사용자나 응용프로그램의 하드웨어에 대한 직접 접근은 불허함> 운영체제를 통해서만 접근 가능함      계층 구조로 보는 운영체제의 기능- 사용자가 하드웨어를 몰라도 컴퓨터를 사용 가능하게 함- 응용프로그램과 하드웨어 사이를 중계함           1. CPU(Central Processing Unit)- 프로그램 코드(기계 명령)를 해석하여 실행하는 중앙처리장치- 컴퓨터의 핵심 장치- 전원이 공급될 때 작동 시작, 메모리에 적재된 프로그램을 실행함     2. 메인 메모..

article thumbnail
1. 운영체제의 시작과 발전
운영체제 2023. 4. 1. 18:36

운영체제란?    운영체제의 정의  1. 컴퓨터 사용자와 컴퓨터 하드웨어 사이에서 중계 역할을 하면서, 프로그램 실행을 관리하고 제어하는 시스템 소프트웨어> 운영체제는 컴퓨터가 아니다.> 운영체제는 실체가 있는 소프트웨어다. (추상적이지 않다.)   2. 컴퓨터가 켜질 때 처음으로 메모리에 적재된다.   3. 나머지 모든 프로그램의 실행을 제어하고 사용자의 요청을 처리해준다.   4. 컴퓨터의 자원을 독점적으로 관리한다.        운영체제의 역할  1. 운영체제는 컴퓨터의 모든 자원(resource) 관리  - 하드웨어 자원: CPU, 캐시, 메모리, 키보드, 마우스, 디스플레이,하드디스크,프린터 - 소프트웨어 자원: 응용프로그램 - 데이터 자원: 파일, 데이터베이스 등    2. 운영체제는 자원에 ..

728x90