일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- crosssitescripting
- 웹해킹
- Linux
- ubuntu
- MySQL
- webhackingkr
- webhacking.kr
- 시스템
- 시스템프로그래밍
- SQLInjection
- Writeup
- 알고리즘
- 운영체제
- Python
- 해킹
- web
- rubiya
- SQL Injection
- hacking
- lordofsqlinjection
- Los
- ctf
- WebHacking
- 상호배제
- CCE
- 프로세스
- CODEGATE
- sqli
- SQL
- XSS
- Today
- Total
One_Blog
프로세스 [운영체제 수업] 본문
날짜 : 2023년 3월 16일
오늘 수업 주제
: 프로세스
오늘 배운 내용 요약
:
프로세스의 구조
프로세스 실행 중 생성 시스템 호출을 이용하여 새로운 프로세스 생성 가능.
프로세스 생성 순서로 부모 - 자식 관계 형성 (계층 구조)
프로세스 생성 세부 작업 순서
->프로세스에 프로세스 식별자 할당
-> 주소 공간과 PCB 공간 할당
-> PCB 초기화
-> 링크 걸기
-> fork()를 이용하여 자식 프로세스 생성
자식 프로세스 생성 시
복사 프로세스 = 자식
복사 원본 프로세스 = 부모
복사를 할 때, 주소 공간과 PCB의 내용을 전부 복사함.
exec()를 통해 원하는 값으로 덮어씀.
Init 프로세스 = 운영체제 실행 시 처음 생성되는 프로젝트
-> 코드,데이터 영역 생성 + 힙, 스택 영역 생성 + PCB 제작
프로세스의 종료
- 프로세스가 마지막 명령 실행 후 종료 / 삭제 요청
- about()함수로 프로세스 종료
- 자식 프로세스가 종료되지 않으면 기다림
종료 상황
->자식 프로세스가 할당된 자원을 초과하여 사용할 때
->더 이상 할당된 작업이 없을 때
프로세스의 비정상적 종료
- 부모가 먼저 종료되거나 자식 프로세스가 비정상적인 종료가 됐을 경우
- 좀비 프로세스
- 메모리를 많이 차지함.
- 컴퓨터가 느려짐.
- 해결은 재부팅
프로세스의 제거
-> 프로세스 파괴
-> 사용하던 자원 반환
-> PCB 회수
-> 자식 프로세스는 부모 프로세스 삭제 시 자동 제거
-> 프로그램 변경 사항은 디스크에 저장
프로세스의 중단과 재시작
->실행 중인 프로세스를 재시작해서 시스템 부하를 줄임
->다중 프로그래밍 환경에서의 중단은 입출력 요구 또는 자원 부족 상태
-장시간 중단 시 할당된 자원 반환
프로세스 스케줄러
PCB에 우선순위를 사용하여 준비큐에 있는 프로세스를 처리한다.
준비 상태에 있는 프로세스는 입출력중심 프로세스와 CPU 준심 프로세스로 구분한다.
입출력 중심 : 속도가 느림 / 빠른 응답 요구에 높은 우선 순위 / CPU를 짧게, 자주 사용
CPU 중심 : CPU를 길게 사용, 사용 횟수를 줄여서 균형을 유지한다.
'운영체제' 카테고리의 다른 글
병렬 프로세스 [운영체제 수업] (0) | 2023.03.21 |
---|---|
스레드 [운영체제 수업] (0) | 2023.03.20 |
운영체제 서비스 [운영체제 수업] (0) | 2023.03.14 |
운영체제의 개념과 역할 [운영체제 수업] (0) | 2023.03.13 |
커널 , 부팅 , 프로그램 , 명령어 [운영체제 수업] (0) | 2023.03.08 |