본문 바로가기

전체 글75

[OS] 스케줄러, 프로세스 생성, IPC - 운영체제와 정보기술의 원리 5장(2/2) 프로세스와 프로세스 문맥교환, PCB에 관한 내용은 이전 글에 자세히 정리되어 있다. 이번 포스팅에서는 프로세스의 스케줄링에 대해 자세히 알아보려고 한다. [OS] 프로세스, 프로세스 문맥교환, PCB - 운영체제와 정보기술의 원리 5장(1/2) 프로세스(Process)란? 실행 중인 프로그램. 디스크에 실행파일 형태로 존재하던 프로그램이 메모리에 올라가서 실행되기 시작할 때 프로세스가 됨. 프로세스의 상태 1) 생성(New) 프로세스가 시작되 beforb.tistory.com 1. 스케줄러 어떤 프로세스에게 자원을 할당할지를 결정하는 운영체제 커널의 코드. 스케줄러의 구분 1) 장기 스케줄러(long term scheduler) == 작업 스케줄러(job scheduler) - 어떤 프로세스를 준비 큐.. 2021. 12. 13.
[OS] 프로세스, 프로세스 문맥교환, PCB - 운영체제와 정보기술의 원리 5장(1/2) 프로세스(Process)란? 실행 중인 프로그램. 디스크에 실행파일 형태로 존재하던 프로그램이 메모리에 올라가서 실행되기 시작할 때 프로세스가 됨. 프로세스의 상태 1) 생성(New) 프로세스가 시작되어 그 프로세스를 위한 각종 자료구조는 생성되었지만 아직 메모리 획득을 승인받지 못한 상태 2) 실행(Running) 프로세스가 CPU를 보유하고 기계어 명령을 실행하고 있는 상태. 일반적으로 컴퓨터 시스템 내에 CPU는 하나 뿐이므로 여러 프로세스가 동시에 수행되더라도 실제 실행 상태의 프로세스는 매 시점 하나. 3) 준비(Ready) 프로세스가 CPU만 보유하면 당장이라도 명령을 실행할 수 있지만 CPU를 보유하고 있지 않은 상태. 즉, CPU 할당을 대기하는 상태 4) 봉쇄(Blocked, Wait, .. 2021. 12. 6.
[OS] 인터럽트 - 운영체제와 정보기술의 원리 4장(2/2) 반효경 교수님의 [운영체제와 정보기술의 원리] 4장 프로그램의 구조와 실행 중 [OS] 운영체제와 정보기술의 원리 4장(1/2) - 프로세스 반효경 교수님의 [운영체제와 정보기술의 원리] 4장 프로그램의 구조와 실행 중 1. 프로그램의 구조와 인터럽트 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 주소 영역이 메모리에 beforb.tistory.com 5. 인터럽트 CPU는 매번 PC가 가리키는 곳의 명령만 수행 CPU를 회수하기 위해서는 인터럽트 매커니즘이 필요함 인터럽트 프로세스 CPU는 매 명령 수행 후 인터럽트 라인 세팅 여부 체크 → 현재 수행하던 프로세스를 멈추고 OS의 인터럽트 처리루틴으로 이동 → 인터럽트 처리 수행 → 인터럽트 발생 직전의 프로세스에게 다시 CPU 제어권이 넘어.. 2021. 12. 5.
[OS] 프로세스와 운영체제 - 운영체제와 정보기술의 원리 4장(1/2) 반효경 교수님의 [운영체제와 정보기술의 원리] 4장 프로그램의 구조와 실행 중 이어지는 글(4장(2/2) - 인터럽트) [OS] 운영체제와 정보기술의 원리 4장(2/2) - 인터럽트 반효경 교수님의 [운영체제와 정보기술의 원리] 4장 프로그램의 구조와 실행 중 [OS] 운영체제와 정보기술의 원리 4장(1/2) - 프로세스 반효경 교수님의 [운영체제와 정보기술의 원리] 4장 프로그램 beforb.tistory.com 1. 프로그램의 구조와 인터럽트 프로그램이 CPU에서 명령을 수행하려면 해당 명령을 담은 주소 영역이 메모리에 적재되어 있어야 함. 즉, 프로그램이 실행된다 == 프로그램의 주소영역이 메모리에 올라가 있다 주소영역 코드 + 데이터 + 스택 영역으로 구분 코드(code) : 사용자가 작성한 함수.. 2021. 11. 30.
[OS] 운영체제와 정보기술의 원리 3장(2/2) - 저장장치 반효경 교수님의 [운영체제와 정보기술의 원리] 3장 컴퓨터 시스템의 동작 원리 중 이전 글 - 운영체제와 정보기술의 원리 3장(1/2) - 인터럽트 [OS] 운영체제와 정보기술의 원리 3장(1/2) - 인터럽트 반효경 교수님의 [운영체제와 정보기술의 원리] 3장 컴퓨터 시스템의 동작 원리 중 1. 컴퓨터 시스템의 구조 내부장치 : CPU, 메모리, ... 외부장치 : 디슼, 키보드, 마우스, 모니터, 네트워크 장치 beforb.tistory.com 5. 입출력 구조 입출력(I/O)란? 컴퓨터 시스템이 컴퓨터 외부의 입출력 장치들(디스크, 키보드, ...)과 데이터를 주고받는 것 동기식 입출력(Synchronous I/O) 어떤 프로그램이 입출력 요청을 했을 때 입출력 작업이 완료되어야 다음 작업을 진행 .. 2021. 11. 22.
[OS] 운영체제와 정보기술의 원리 3장(1/2) - 인터럽트 반효경 교수님의 [운영체제와 정보기술의 원리] 3장 컴퓨터 시스템의 동작 원리 중 이어지는 다음글 [OS] 운영체제와 정보기술의 원리 3장(2/2) - 저장장치 이전 글 - 운영체제와 정보기술의 원리 3장(1/2) - 인터럽트 [OS] 운영체제와 정보기술의 원리 3장(1/2) - 인터럽트 반효경 교수님의 [운영체제와 정보기술의 원리] 3장 컴퓨터 시스템의 동작 원리 중 beforb.tistory.com 1. 컴퓨터 시스템의 구조 내부장치 : CPU, 메모리, ... 외부장치 : 디스크, 키보드, 마우스, 모니터, 네트워크 장치 등 입력(Input) : 데이터가 외부장치로부터 내부장치로 들어오는 것 출력(Output) : 데이터가 내부장치로부터 외부장치로 나가는 것 메모리나 입출력장치 등 각 하드웨어 장치.. 2021. 11. 21.
프로젝트 회고 - (with 시큐어코딩) 신입 OJT 기간에 들었던 초보자용(?) 시큐어 코딩 교육을 다시 한 번 들었다. 그 때도 나름 열심히 듣는다고 들었는데, 프로젝트를 마친 시점에 다시 들으니 그때는 단순히 개념적으로만 와닿던 내용들이 내 코드에 대입되어 들리기 시작했다. 듣다보니 '내 코드는 저런 보안취약점을 모두 고려했나? 놓친 부분이 많은 것 같은데.. 수정해야겠다' 는 생각이 들었다. 꽤 긴 내용이었지만 그 중 중요하다고 생각하는 내용과 내 프로젝트에 부족했던 부분들 위주로 정리해보았다. (정리하다 보니 계속계속 추가하게 되고.. 점점 길어졌당..) Secure Coding(시큐어 코딩)이란? 시큐어 코딩이란 Secure(보안)과 Coding의 합성어로 소프트웨어 개발 단계에서 보안 취약점을 미리 파악하고, 잠재적으로 발생할 보안.. 2021. 11. 15.
프로젝트 회고 - (with 코드리뷰) 1, 2차 프로젝트를 바쁘게 달리고 2차 프로젝트에 있었던 오류도 잡고, 3차 프로젝트를 준비하면서 재정비할 수 있는 텀이 짧게 생겼다. 이 기간을 어떻게 하면 잘 사용할 수 있을까 생각을 하다 우선 사수님께서 프로젝트 했던 것들을 잊기 전에 모두 정리해두라고 하셔서 정리를 하고, 그래도 남는 시간에 사수님과 짧은 코드리뷰를 진행했다. 시간이 많지 않아 구조를 뜯어고치거나 많은 것을 변경할 수는 없었기에 클린코드 책을 참고하며 우리의 코드의 부족한 점을 돌아보고 좋은 코드를 짜기 위해서는 어떠한 요소를 고려해야 하는지 정리해보는 시간을 가졌다. 반영이 모두 끝나서 코드리뷰를 하고 리팩토링한 코드를 최종 프로젝트에 반영하진 못하겠지만, 내 결과물들을 다시 돌아보고 앞으로의 프로젝트에서 더 나은 코드를 짤 .. 2021. 11. 15.
[Naver] SmartEditor 2.0으로 게시판만들기 - 3. 싱글사진 업로드하기 Spring과 DB를 연동했으니 사진을 직접 업로드하는 기능을 구현해보려고 한다. 프로젝트를 진행할 때 이미지서버는 이미 구축되어 있었고, 에디터에서 이미지를 전달받아 S3 서버에 업로드하고 업로드한 이미지 URL을 다시 프론트로 보내주는 로직이 필요했다. (따라서 별도의 php서버나 Apache 라이브러리를 사용하지 않았다.) * 이전글 스마트 에디터 2.0으로 게시판 만들기 - 2. Spring Boot/DB 연동하기(Backend) [Naver] SmartEditor 2.0으로 게시판만들기 - 2. MySQL/Spring Boot 연동하기 1탄에서는 Smart Editor 2.0 버전을 설치하여 단순 적용해보았다. 이번에는 MySQL과 Spring Boot을 연동하여 작성한 게시글을 DB에 전송해보.. 2021. 11. 9.
반응형